1 / 18

M agas szint ű hardware szintézis

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.

millie
Download Presentation

M agas szint ű hardware szintézis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Magas szintű hardware szintézis

  2. Magas szintű hardware szintézis

  3. 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ó

  4. 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ételek­hez való igazítás könnyebben, gyorsabban végezhető el

  5. 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 milyenerőforrástípusok vannak szempontok sebesség helyigény tápfelvétel ·Bekötés: műveletvégzőművelet összerendelése tárolásregiszterek, 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

  6. Algoritmikus leírás Fordítás Adatfolyam gráf kényszerek kényszerek Ütemezés Allokáció Adatút diagram CimkézettAdatfolyam gráf Regiszterek (adattárolók) FSM Magas szintű hardware szintézis

  7. Hierarchikus Task Gráf (HTG)

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

  9. Ütemezés-allokáció Párhuzamosítás g, e és c egy-egy ADD, SUB, COM

  10. VHDL kód a vezlérlőről 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; 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

  11. Erőforrás bekötés Sok mux

  12. Állapot hozzárendelés Lokális szeletelés(a) globális szeletelés (b)

  13. Kód generálás (VHDL)

  14. 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 := "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;

More Related