Download presentation
Presentation is loading. Please wait.
1
陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
數位系統導論 A3─演算法高階硬體合成 High-Level Hardware Synthesis of Algorithm 陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日
2
演算法的階層式模組分解
3
模組架構
4
離散事件建模
5
階層式的離散事件建模
6
階層式的離散事件建模
7
迴圈Loop int i, Sum=0; for(i=0; i<=10; i++) { Sum = Sum + i; }
8
演算法的GRAFCET建模
9
系統架構
10
合成架構
11
Grafcet控制器模組合成 grafcet :PROCESS(CLK,RST) BEGIN IF RST='1' THEN
X0<='1';X1<='0';X2<='0'; ELSIF CLK'EVENT AND CLK='1' THEN IF X0='1' THEN X0<='0'; X1<='1'; ELSIF X1='1' THEN X1<='0'; X2<='1'; ELSIF X2='1' AND I<10 THEN X2<='0';X1<='1'; ELSIF X2='1' AND I=10 THEN X2<='0';X0<='1'; END IF; END PROCESS grafcet;
12
Datapath模組合成 datapath :PROCESS(CLK,RST) BEGIN
IF CLK'EVENT AND CLK='1' THEN IF X0='1' THEN TMP<=0; I<=0; ELSIF X1='1' THEN TMP<=TMP+I; ELSIF X2='1' THEN I<=I+1; END IF; END PROCESS datapath;
13
系統合成 ENTITY SUM is PORT ( CLK, RST : IN STD_LOGIC;
S : OUT INTEGER RANGE 0 TO 128 ); END SUM; architecture arch of SUM is SIGNAL X0,X1,X2:STD_LOGIC; SIGNAL I: INTEGER RANGE 0 TO 15; SIGNAL TMP: INTEGER RANGE 0 TO 128; BEGIN grafet : process(CLK,RST)…… datapath : process(CLK,RST)…… S<=TMP; END arch;
14
模擬
15
演算法建模實例-求三角形函數內插值 求三角形函數內插值:輸入x,求y
16
演算法建模實例-求三角形函數內插值 求三角形函數內插值:輸入x,求y
17
演算法建模實例-找陣列值的最大值 求一個陣列值的最大值:從存放在記憶體中的陣列值data[j],j=0...N-1,找出其最大值。
max=0; for(j=0; j<=N; j++) { if(data[j]>max)max=data[j]; }
18
演算法建模實例-找陣列值的最大值
19
演算法建模實例-求Histogram陣列值的重心
20
演算法建模實例-求Histogram陣列值的重心
21
練習-Bubble Sort 請依方法論步驟設計一個電路執行以下Bubble sorting演算法:
22
練習-Bubble Sort Embedded ROM參考設計:
type ROM_8x4 is array (0 to 8) of std_logic_vector(3 downto 0); constant data: ROM_8x4 := ( 0 => "0000", 1 => "0001", 2 => "0011", 3 => "0001", 4 => "0110", 5 => "0000", 6 => "0011", 7 => "0111" );
Similar presentations