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

Slides:



Advertisements
Hasonló előadás
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Advertisements

Összefoglalás Hardver,szoftver,perifériák Memóriák fajtái
Algoritmusok.
L ÁTHATÓSÁG MEGHATÁROZÁSA tavaszi félév.
A LabVIEW használata az oktatásban
Digitális rendszerek I. rész
Digitális rendszerek II. rész
CMOS ÁRAMKÖRÖK TERVEZÉSE Dr. Keresztes Péter Széchenyi István Egyetem
Sorrendi (szekvenciális)hálózatok tervezése
Az integrált áramkörök (IC-k) tervezése
Az előadásokon oldandók meg. (Szimulációs modell is tartozik hozzájuk)
Slide title 70 pt CAPITALS Slide subtitle minimum 30 pt HDL mindset & RTL coding style László Lajkó.
Állapotgépek (state machines)
RAM és ROM Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe Mind RAM, mind ROM beépíthető ASIC vagy FPGA/EPLD tervbe A következőkben a szükséges.
LéptetésVHDL A léptetés műveletek (Shift Operators) n Áttekintés n Példák.
Szerkezeti leírás Összetevők és beültetésük Összetevők és beültetésük Általános kiosztás (generic map) Általános kiosztás (generic map) Generate parancs.
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Visual Basic for Application (VBA)
Programozás alapjai.
Algoritmusok Az algoritmus fogalma:
Motor Potencióméter Kincses Levente Elektronika 89/2004.
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
Szoftver bonyolultsági mértékek alkalmazási területei Király Roland 2011.
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
ISZAM III.évf. részére Bunkóczi László
TÉTELEK Info_tech_2012. Simon Béláné. 1. TÉTEL 1.a. A digitális számítógép és a logikai áramkör kapcsolata (6.4.1.) 1.b. Az ÉS logikai áramkörnek adja.
WEB MES (webes gyártásirányító rendszer) Kiss Miklós (G-5S8)
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
ISMERETALAPÚ RENDSZEREK SZAKÉRTŐ RENDSZEREK
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Magas szintű hardware szintézis
Ciklusok: 1. Számlálós ciklus
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Tömbök és programozási tételek
Programozási nyelvek.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke IC layout tervek tesztelése.
Budapesti Műszaki és Gazdaságtudományi Egyetem Elektronikus Eszközök Tanszéke 2. zárthelyi megoldásai december 2.
Digitális rendszerek II.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
A PLC programozási nyelvek bemutatása
Egyenesvonalú (lineáris) adatszerkezetek
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
Adamkó Attila UML2 Adamkó Attila
A Visual Basic nyelvi elemei
A függvény grafikonjának aszimptotái
Dodekaéder Hamilton köre
Programozás, programtervezés
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Mobil alkalmazások fejlesztése Vonalkód leolvasó Symbian alapú mobiltelefonra Készítette: Tóth Balázs Viktor.
Unified Modeling Language
Tervminták megvalósítása B formális nyelven Papp Olga Vadász Péter Témavezető: Fóthi Ákos.
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Paraméter továbbítás. (parameter passing) Paraméteres specifikációk: Pl.: string(spec) : hasonló specifikációk családja; string(nat); string(data); string(integer);
Excel programozás (makró)
Reverse Engineering Rendszerfejlesztés II. 2. óra.
Programozási alapok.
Excel programozás (makró)
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
6. A 3D grafika alapjai 6.1. A 3D szerelőszalag fölépítése
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
Bevezetés a programozásba Algoritmikus gondolkodás
Algoritmusok Az algoritmus fogalma:
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Dijkstra algoritmusa: legrövidebb utak
Strukturált és nem strukturált programok
Előadás másolata:

Szintézis Keresztes Péter, 2005 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 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 A TERVEZÉS ELEMEI ● SPECIFIKÁCIÓ ● STRUKTÚRA ● SZINTÉZIS ● VERIFIKÁCIÓ

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

Szintézis Keresztes Péter, 2005 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 A HLS FŐ LÉPÉSEI  1. ÜTEMEZÉS  2. FU-ALLOKÁCIÓ  3. R-ALLOKÁCIÓ

Szintézis Keresztes Péter, 2005 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) ( target-állapot táblák)

Szintézis Keresztes Péter, 2005 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) (VALUE-TRACE)

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

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

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

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

Szintézis Keresztes Péter, 2005 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 A VT-DFB  DP : block  begin  a0 <= pa;  a1 <= a when state = 1 else anyreal;  a2 <= a when state = 1 else anyreal;  a3 <= a when state = 1 else anyreal;  a4 <= a when state = 1 else anyreal;  paa <= a4;

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

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

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

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

Szintézis Keresztes Péter, 2005 Ü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 A HW korlátok szerinti ütemezés táblázata

Szintézis Keresztes Péter, 2005 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 Az FU allokáció utáni táblázat

Szintézis Keresztes Péter, 2005 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 Az R-allokáció utáni tábla

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

Szintézis Keresztes Péter, 2005 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 begin read (x, e); read (x, e); cy := Fi(x); cy := Fi(x); while d > e loop while d > e loop ny := 0.5*(cy + x/cy); ny := 0.5*(cy + x/cy); d := abs(ny – cy); d := abs(ny – cy); cy := ny; cy := ny; end loop; end loop; y <= cy; y <= cy; write y; write y; end SQRT;

Szintézis Keresztes Péter, 2005 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 Négyzetgyök-becslő  function Fi(x : real) return real is  variable init : real := 0.0;  begin  if x < then init := 1.0;  elsif x >= and x = and x < then init := 0.007;  elsif x >= and x = and x < then init := 0.022;  elsif x >= and x = and x < 0.01 then init := 0.07;  elsif x >= 0.01 and x = 0.01 and x < 0.1 then init := 0.22;  elsif x >= 0.1 and x = 0.1 and x < 1.0 then init := 0.7;  elsif x >= 1.0 and x = 1.0 and x < 10.0 then init := 2.2;  elsif x >= 10.0 and x = 10.0 and x < then init := 7.0;  elsif x >= and x = and x < then init := 22.0;  elsif x >= and x = and x < then init := 70.0;  elsif x >= and x = and x < then init := 220.0;  elsif x > then init := ;  end if;  return init;  end Fi; x1 y y <= Fi(x1) after 1 ns; Fi x return

Szintézis Keresztes Péter, 2005 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; Cm a b return Y <= Cm(x1, x2) after 1 ns x1 x2 Y

Szintézis Keresztes Péter, 2005 Ö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; a b return as_contr c x1 x2 AS y <= AS(c, x1, x2) after 2 ns;

Szintézis Keresztes Péter, 2005 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; a b md_contr return x1 x2 c y y <= MD(c, x1,x2) after 12 ns MD

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

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

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

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

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

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

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

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

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