Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Magas szintű hardware szintézis
3
Magas szintű hardware szintézis
4
Magas szintű hardware szintézis
Viselkedési leírásból (C nyelvű leírásból) vezérlés és adatfolyam gráf transzformáció
5
Magas szintű hardware szintézis
A magas szintű HW szintézis előnyei 1. Rövidebb tervezési ciklus 2. Alacsonyabb tervezési költségek 3. Kisebb gyártási költségek 4. Kevesebb tervezési hiba 5. Tervezési kompromisszumok könnyebb meghozatala (több verzió elkészíthető a döntés ezek ereményének ismeretében hozható meg) 6. A dokumentáció gyorsabban és standardizálva készül 7. Specifikáció módosítás, változó körülményekhez, feltételekhez való igazítás könnyebben, gyorsabban végezhető el
6
Magas szintű hardware szintézis
A magas szintű szintézis részfeladatai · Allokáció: az erőforrások feladatokhoz rendelése erőforrás típusok meghatározása, erőforrások számának meghatározása erőforrás: műveletvégző adattároló adatút (MUX, BUSZ) · Ütemezés: műveletek ütemekhöz, időlépésekhez rendelése, diszkrét időlépések, szinkron szekvenciális hálózat adatfüggőség befolyásolja · Modulok kiválasztása: erőforrás könyvtárból kiválasztjuk, hogy milyen erőforrás típusok vannak szempontok sebesség helyigény tápfelvétel · Bekötés: műveletvégzőművelet összerendelése tárolásregiszterek, memória · Vezérlés létrehozása, optimalizálása az ütemzést biztosító FSM létrehozás Speciális szempont: párhuzamosítás
7
Magas szintű hardware szintézis
Algoritmikus leírás Fordítás Adatfolyam gráf Ütemezés Allokáció kényszerek Cimkézett Adatfolyam gráf Adatút diagram Regiszterek (adattárolók) FSM
8
Hierarchikus Task Gráf (HTG)
9
Kód mozgatás a párhuzamosítás növelésére
11
Ütemezés-allokáció Párhuzamosítás g, e és c egy-egy ADD, SUB, COM
12
VHDL kód a vezlérlőről S0 S1 S2 S3 S4 S5 S6 case CurrentState
when S0 => a; b; p; NextState <= S1; when S1 => d; k; q; NextState <= S2; when S3 => if not(p) then if (q) then i; NextState <= S4; else c; NextState <= S4; end if; when S4 => h; NextState <= S5; when S5 => l; NextState <= S6; m; NextState <= S6; j; NextState <= S5; when S6 => n; NextState <= S0; end case; S0 S1 S2 S3 S4 S5 S6
13
Erőforrás bekötés Sok mux
14
Állapot hozzárendelés
Lokális szeletelés (a) globális szeletelés (b)
15
Kód generálás (VHDL)
16
VHDL kód res_CMP_4_in0_MUXES: PROCESS(CURRENT_STATE, regNum1, hT0, regNum0, hT1, hT39, regNum6) variable mux_select : std_logic_vector(7 downto 0); BEGIN mux_select := " "; if (CURRENT_STATE(1) = '1') then mux_select(0) := '1'; end if; if (CURRENT_STATE(3) = '1' and hT0) then mux_select(1) := '1'; if (CURRENT_STATE(4) = '1' and hT0 and hT1 and NOT(hT39)) then mux_select(2) := '1'; if (CURRENT_STATE(5) = '1' and hT0 and hT1 and NOT(hT39)) then mux_select(3) := '1'; case mux_select is when " " => res_CMP_4_in0 <= regNum1; when " " => res_CMP_4_in0 <= regNum0; when " " => when " " => res_CMP_4_in0 <= regNum6; when others => res_CMP_4_in0 <= 0; END CASE; END PROCESS; -- res_CMP_4_in0_MUXES END PROCESS;
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.