1 / 40

A GAJSKI-KUHN DIAGRAM

A GAJSKI-KUHN DIAGRAM. Alapelv: Rendezzük a digitális-rendszerek leírásait célok és szintek szerint. Szintézisek és verifikációk. A szintézis adott szintről a tőle jobbra lévő tartomány eggyel alacsonyabb szintjére irányul

lucas
Télécharger la présentation

A GAJSKI-KUHN DIAGRAM

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. A GAJSKI-KUHN DIAGRAM Alapelv: Rendezzük a digitális-rendszerek leírásait célok és szintek szerint Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  2. Szintézisek és verifikációk A szintézis adott szintről a tőle jobbra lévő tartomány eggyel alacsonyabb szintjére irányul A verifikáció adott szintről a tőle balra lévő tartomány eggyel magasabb szintjére irányul (A realizáció és az analízis „szinttartó”) Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  3. A TERVEZÉS ELEMEI ● SPECIFIKÁCIÓ ● STRUKTÚRA ● SZINTÉZIS ● VERIFIKÁCIÓ Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  4. A „JÓ TERVEZÉS” KÉT FOLYAMATA SPECIFIKÁCIÓ ÉS SZINTÉZIS VAGY SPECIFIKÁCIÓ, TERVEZÉS(KÉZI) ÉS VERIFIKÁCIÓ Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  5. A R-szint építőelemei 1. REGISZTEREK 2. MULTIPLEXEREK 3. FUNKCIÓS-EGYSÉGEK 4. FSM (szinkron véges állapotú gép) Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  6. A HLS FŐ LÉPÉSEI • 1. ÜTEMEZÉS • 2. FU-ALLOKÁCIÓ • 3. R-ALLOKÁCIÓ Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  7. HLS-technikák 1. Gráfos-módszerek (CDFG) 2. Nyelvi transzformációk (VHDL) 3. Táblázatos módszerek ( target-állapot táblák) Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  8. Data-flow elvek a HLS-ben • A HW esemény-hajtott DATAFLOW természetű • Az algoritmusok DF megfogalmazásai előnyben • Hasznos az értékkövető DF (VALUE-TRACE) Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  9. Az FSM szokásos állapotgráfja Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  10. FSM struktúra Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  11. Egy egyszerű szekvencia értékkövető adatfolyam gráfja Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  12. Egy bonyolultabb VT-DFG Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  13. Egy absztrakt HW specifikáció • library work; use work.funclib.all; • entity syntex0 is • port( R : in bit; • S : in bit; • ph1, ph2 : in bit; • pa : in real := 0.0; • paa : out real := 0.0); • end syntex0; • architecture MOD0 of syntex0 is • begin • process • variable a : real := 0.0; • begin • wait until S = '1'; • a := pa; • for i in 1 to 4 loop • a := a + 1.0; • end loop; • paa <= a; • end process; • end MOD0; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  14. A VT-DFB • DP : block • begin • a0 <= pa; • a1 <= a0 + 1.0 when state = 1 else anyreal; • a2 <= a1 + 1.0 when state = 1 else anyreal; • a3 <= a2 + 1.0 when state = 1 else anyreal; • a4 <= a3 + 1.0 when state = 1 else anyreal; • paa <= a4; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  15. HLS technikák Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  16. TARGET-ÁLLAPOT TÁBLÁZATOK SZEMANTIKÁJA,NEM-REGISZTER TÍPUSÚ TRANZAKCIÓK Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  17. REGISZTER-TÍPUSÚ TRANZAKCIÓK Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  18. A HLS FŐ LÉPÉSEI • 1. ÜTEMEZÉS • 2. FU-ALLOKÁCIÓ • 3. R-ALLOKÁCIÓ Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  19. Ütemezés HW korlátokkal Az ütemezést a műveleti (funkciós) egységekre kimondott korlát alapján végezzük el. Ez azt jelenti, hogy az egységes VT-EDDFB-t annyi egymás után végrehajtandó részblokkra kell felbontani, amennyivel az bitosítható, hogy egy részblokkban az azonos funkciójú műveleti egységek száma nem haladja meg korlátot. Minden részblokk egy FSM állapot. Példánkban egyetlen funkciós egység az INCREMENTER (összeadó) Tegyük fel, hogy csak egyet használhatunk fel. Ez azt jelenti, hogy egy aktív állapot helyett 4-re van szükség, és mindegyik megnyit illetve lezár egy al-blokkot. Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  20. A HW korlátok szerinti ütemezés táblázata Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  21. FU-allokáció A funkciós egységeket hozzárendeljük az al-blokkokhoz. Ilyenkor a műveleti egységeket individualizáljuk, és szemantikájuknak megfelelően állapot-független tranzakciókként beültetjük azokat, új targetekkel, illetve bemeneti jelekkel. A funkciós egységek targetjeit minden olyan cellába beírjuk, ahol az adott művelet kifejezésként szerepelt. A bemenetek által kijelölt sorokba azokat a kifejezéseket kell a megfelelő állapot oszlopába beírni, amelyek az allokáció előtt a tranzakciók kifejezéseiben a megfelelő pozícióban voltak. Példánkban az egyetlen összeadó targetjét t1-vel, bemenetét t2-vel jelöltük. A t1 sorába be kerül az állapot-független kifejezés, majd a t2 sorába az 1-4 állapotokba bekerül az a0-a3jelek neve, hiszen azok állottak a kifejezések megfelelő pozíciójában. Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  22. Az FU allokáció utáni táblázat Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  23. R-allokáció A regiszter-allokáció során először megállapítjuk a minimálisan szükséges regiszterek számát. Ezt a csillaggal jelölt targetek életciklusának páronkénti egybevetésével végezzük el. Két regiszter-típusú target akkor ábrázolható egy regiszterben, ha életciklusaik között nincs átfedés. Példánkban az a1-a3 és az a2-a4 párok tagjai között nincs élet-ciklus átfedés, tehát két regiszter, az a1_a3 és az a2_a4 bevezetése allokálja a regisztereket. Az új regiszter típusú targetek soraiba azok bemeneteit írjuk, majd ezeknek az új targeteknek a soraival bővítjük a táblát. Ezek sorait pedig azok a kifejezések töltik meg, amelyek az összevonás előtti állapotban a megfelelő pozícióban szerepeltek. Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  24. Az R-allokáció utáni tábla Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  25. A tábla szerinti HW Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  26. Regiszter-szintű szintézis : Példa négyzetgyökvonást végző hw-egység specifikálására program SQRT(x, e, y); begin read (x, e); cy := Fi(x); while d > e loop ny := 0.5*(cy + x/cy); d := abs(ny – cy); cy := ny; end loop; y <= cy; write y; end SQRT; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  27. Funkciós (műveleti) egységek és számbeli korlátaik - Négyzetgyök becslő LUT (1) - Komparátor (2) - Összevonó (2) - Osztó-szorzó (1) Megjegyzés: A szorzó-osztó egység foglalja el a legnagyobb szilícium-felületet Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  28. Négyzetgyök-becslő • function Fi(x : real) return real is • variable init : real := 0.0; • begin • if x < 0.00001 then init := 1.0; • elsif x >= 0.00001 and x < 0.0001 then init := 0.007; • elsif x >= 0.0001 and x < 0.001 then init := 0.022; • elsif x >= 0.001 and x < 0.01 then init := 0.07; • elsif x >= 0.01 and x < 0.1 then init := 0.22; • elsif x >= 0.1 and x < 1.0 then init := 0.7; • elsif x >= 1.0 and x < 10.0 then init := 2.2; • elsif x >= 10.0 and x < 100.0 then init := 7.0; • elsif x >= 100.0 and x < 1000.0 then init := 22.0; • elsif x >= 1000.0 and x < 10000.0 then init := 70.0; • elsif x >= 10000.0 and x < 100000.0 then init := 220.0; • elsif x > 100000.0 then init := 220.0 ; • end if; • return init; • end Fi; y return Fi x x1 y <= Fi(x1) after 1 ns; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  29. Komparátor • function Cm(a: real; b: real) return bit is • variable v : bit; • begin • if a > b then v := '1' ; • else v := '0'; • end if; • return v; • end Cm; x1 a Y return Cm x2 b Y <= Cm(x1, x2) after 1 ns Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  30. Összevonó • function AS(as_contr: as_cont_type; a : real; b : real)return real is • variable v : real; • begin • if as_contr = add then • v := a + b; • elsif as_contr = sub then • v := a - b; • end if; • return v; • end AS; return c as_contr AS a b x1 x2 y <= AS(c, x1, x2) after 2 ns; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  31. Szorzó-osztó • function MD(md_contr: md_cont_type; a : real; b : real) return real is • variable v : real; • begin • if md_contr = mult then • v := a * b; • elsif md_contr = div then • v := a/b; • end if; • return v; • end MD; y return c md_contr MD a b x1 x2 y <= MD(c, x1,x2) after 12 ns Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  32. Értékkövető DF blokkok - 1.példa SEQ2: begin for i in 1 to 4 loop a := a + 1; end loop; end; ED-DFB2 : block begin a1 <= a0 + 1; a2 <= a1 + 1; a3 <= a2 + 1; a4 <= a3 + 1; end block; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  33. Értékkövető DF blokkok-2.példa SEQ3 : begin if e < 0 then a := b * c; d := a + b; elsif e = 0 then a := b; else d := a; end if; end; ED-DFB3 : block begin a1 <= b0 * c0 when e0 < 0 else b0 when e0 = 0 else a0; d1 <= a1 + b0 when e0 < 0 else d0 when e0 = 0 else a0; end block; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  34. A GYÖKVONÓ EGYSÉG ENTITÁSA library work; use work.sqrtpack.all; entity SQRT_UNIT is port ( START : in bit; READY : inout bit := '1'; RESET : in bit; pe : in real := 0.0; px : in real:= 0.0; py : inout real := 0.0; ph1, ph2 : in bit); end SQRT_UNIT; Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  35. Viselkedési architektúra architektúra (SPECIFIKÁCIÓ) Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  36. A szintézis első lépése: az algoritmus felbontása értékkövető DF blokkokra, azaz egy FSM állapotaihoz való rendelés Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005 FSM gráf

  37. Szabályok az FSM állapotainak elkülönítésére 1. Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  38. Ütemezés (scheduling) FU korlátokkal Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  39. Az FU allokáció, R-allokáció, MP-allokációeredménye Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

  40. Rendszer szintű specifikációs nyelvek ● SDL ● ECS ● LOTOS ● VHDL+VSPEC ● SystemC Szintézis . . . . . . . . . . . . . . . Keresztes Péter, 2005

More Related