m agas szint ű hardware szintézis
DESCRIPTION
M agas szint ű hardware szintézis. M agas szint ű hardware szintézis. M agas 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ó. M agas szint ű hardware szintézis. A magas szintű HW szintézis előnyei. - PowerPoint PPT PresentationTRANSCRIPT
MMagas szintagas szintűű hardware szintézis hardware szintézis
MMagas szintagas szintűű hardware szintézis hardware szintézis
MMagas szintagas szintűű hardware szintézis hardware szintézisViselkedési leírásból (C nyelvű leírásból) vezérlés és adatfolyam gráf transzformáció
MMagas szintagas szintűű hardware szintézis hardware szintézisA magas szintű HW szintézis előnyei
1. Rövidebb tervezési ciklus2. Alacsonyabb tervezési költségek3. Kisebb gyártási költségek4. Kevesebb tervezési hiba5. 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ül7. Specifikáció módosítás, változó körülményekhez,
feltételek hez való igazítás könnyebben, gyorsabban végezhető el
MMagas szintagas szintűű hardware szintézis hardware szintézisA magas szintű szintézis részfeladatai
Allokáció: az erőforrások feladatokhoz rendeléseerőforrás típusok meghatározása, erőforrások számának meghatározásaerő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ásSpeciális szempont: párhuzamosítás
MMagas szintagas szintűű hardware szintézis hardware szintézisAlgoritmikus leírás
Fordítás
Adatfolyam gráf
Ütemezés Allokáció
kényszerek kényszerek
Cimkézett Adatfolyam gráf
Adatút diagram
Regiszterek (adattárolók)
FSM
Hierarchikus Task Gráf (HTG)
Kód mozgatás a párhuzamosítás növelésére
Ütemezés-allokáció
egy-egy ADD, SUB, COM
Párhuzamosítás g, e és c
VHDL kód a vezlérlőrőlcase 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; end if; when S4 => if (q) then else h; NextState <= S5; end if; end if; when S5 => l; NextState <= S6; else m; NextState <= S6; end if; if not(p) then j; NextState <= S5; if not(p) then when S6 => n; NextState <= S0; end case;
S0
S1
S2
S3
S4
S5
S6
Erőforrás bekötésSok mux
Állapot hozzárendelés
Lokális szeletelés (a) globális szeletelés (b)
Kód generálás (VHDL)
VHDL kódres_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 := "00000000"; if (CURRENT_STATE(1) = '1') then mux_select(0) := '1'; end if; if (CURRENT_STATE(3) = '1' and hT0) then mux_select(1) := '1'; end if; if (CURRENT_STATE(4) = '1' and hT0 and hT1 and NOT(hT39)) then mux_select(2) := '1'; end if; if (CURRENT_STATE(5) = '1' and hT0 and hT1 and NOT(hT39)) then mux_select(3) := '1'; end if; case mux_select is when "00000001" => res_CMP_4_in0 <= regNum1; when "00000010" => res_CMP_4_in0 <= regNum0; when "00000100" => res_CMP_4_in0 <= regNum1; when "00001000" => res_CMP_4_in0 <= regNum6; when others => res_CMP_4_in0 <= 0; END CASE; END PROCESS; -- res_CMP_4_in0_MUXES END PROCESS;