Presentation is loading. Please wait.

Presentation is loading. Please wait.

陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日

Similar presentations


Presentation on theme: "陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日"— Presentation transcript:

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" );


Download ppt "陳慶瀚 機器智慧與自動化技術(MIAT)實驗室 國立中央大學資工系 2013年5月28日"

Similar presentations


Ads by Google