m agas szint ű hardware szintézis

18
M M agas szint agas szint ű ű hardware hardware szintézis szintézis

Upload: millie

Post on 05-Jan-2016

26 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

Page 1: M agas szint ű  hardware szintézis

MMagas szintagas szintűű hardware szintézis hardware szintézis

Page 2: M agas szint ű  hardware szintézis
Page 3: M agas szint ű  hardware szintézis

MMagas szintagas szintűű hardware szintézis hardware szintézis

Page 4: M agas szint ű  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ó

Page 5: M agas szint ű  hardware szintézis

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

Page 6: M agas szint ű  hardware szintézis

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

Page 7: M agas szint ű  hardware szintézis

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

Page 8: M agas szint ű  hardware szintézis

Hierarchikus Task Gráf (HTG)

                                                                     

         

Page 9: M agas szint ű  hardware szintézis

Kód mozgatás a párhuzamosítás növelésére

Page 10: M agas szint ű  hardware szintézis
Page 11: M agas szint ű  hardware szintézis

Ütemezés-allokáció

egy-egy ADD, SUB, COM

Párhuzamosítás g, e és c

Page 12: M agas szint ű  hardware szintézis

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

Page 13: M agas szint ű  hardware szintézis

Erőforrás bekötésSok mux

Page 14: M agas szint ű  hardware szintézis

Állapot hozzárendelés

                                                                           

          Lokális szeletelés (a) globális szeletelés (b)

Page 15: M agas szint ű  hardware szintézis

Kód generálás (VHDL)

                                                                                                                      

Page 16: M agas szint ű  hardware szintézis

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;

Page 17: M agas szint ű  hardware szintézis
Page 18: M agas szint ű  hardware szintézis