Beágyazott Rendszerek és Programozható Logikai Eszközök (Villamosmérnök BSc)

Hasonló dokumentumok
Számítógép Architektúrák (MIKNB113A)

Digitális Rendszerek és Számítógép Architektúrák (BSc államvizsga tétel)

Digitális Rendszerek és Számítógép Architektúrák (Levelező BSc)

Előadó: Nagy István (A65)

1. DIGITÁLIS TERVEZÉS PROGRAMOZHATÓ LOGIKAI ÁRAMKÖRÖKKEL (PLD)

Tervezési módszerek programozható logikai eszközökkel

PAL és GAL áramkörök. Programozható logikai áramkörök. Előadó: Nagy István

Digitális Rendszerek és Számítógép Architektúrák

Digitális Rendszerek és Számítógép Architektúrák

12. hét: Kombinációs hálózatok megvalósítása LSI/MSI áramkörökkel (PAL, PLA, PROM, CPLD), VLSI (FPGA) áramkörökkel és memóriával.

Rendszertervezés FPGA eszközökkel

Programozás és digitális technika II. Logikai áramkörök. Pógár István Debrecen, 2016

Elvonatkoztatási szintek a digitális rendszertervezésben

VIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC)

7.hét: A sorrendi hálózatok elemei II.

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

PAL és s GAL áramkörök

Digitális elektronika gyakorlat. A VHDL leírástípusok

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

Integrált áramkörök/5 ASIC áramkörök

Digitális eszközök típusai

8.3. AZ ASIC TESZTELÉSE

FPGA áramkörök alkalmazásainak vizsgálata

Digitális rendszerek tervezése FPGA áramkörökkel

Tervezési módszerek programozható logikai eszközökkel

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Digitális technika (VIMIAA02) Laboratórium 4

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális rendszerek. I. rész. Dr. Turóczi Antal

1. A VHDL mint rendszertervező eszköz

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István Egytemi docens

Digitális elektronika gyakorlat

Digitális rendszerek tervezése FPGA áramkörökkel

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

DIGITÁLIS TECHNIKA I

Hardver leíró nyelvek (HDL)

Digitális technika (VIMIAA02) Laboratórium 4

Digitális elektronika gyakorlat

6. hét: A sorrendi hálózatok elemei és tervezése

Számítógép felépítése

Bevezetés az informatikába

Joint Test Action Group (JTAG)

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

MIKROELEKTRONIKA, VIEEA306

Hobbi Elektronika. A digitális elektronika alapjai: Kombinációs logikai hálózatok 1. rész

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

Integrált áramkörök/6 ASIC áramkörök tervezése

következő: 2.)N=18 bites 2-es komplemens fixpontos rendszer p=3 Vmin+ =delta r=2^(-p)=2^(-3)=

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Újrakonfigurálható eszközök

PLA és FPLA áramkörök

1. Kombinációs hálózatok mérési gyakorlatai

Áramkörök elmélete és számítása Elektromos és biológiai áramkörök. 3. heti gyakorlat anyaga. Összeállította:

Digitális technika (VIMIAA02) Laboratórium 3

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Digitális technika (VIMIAA02) Laboratórium 3

elektronikus adattárolást memóriacím

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

Dr. Oniga István. DIGITÁLIS TECHNIKA 10 Memóriák

Digitális Rendszerek (BSc)

DIGITÁLIS TECHNIKA feladatgyűjtemény

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

Digitális áramkörök és rendszerek alkalmazása az űrben 3.

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Digitális Rendszerek (BSc)

SZORGALMI FELADAT. 17. Oktober

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

A PLÁ k programozhatóságát biztosító eszközök

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Kombinációs hálózatok Adatszelektorok, multiplexer

Digitális technika (VIMIAA02) Laboratórium 1

Mikrorendszerek tervezése

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

A VHDL kódtól az FPGA-ba való ágyazásig From the VHDL Code to the Implementation to FPGA-s

Máté: Számítógép architektúrák

Összetett feladatok megoldása

Témakiírások 2014/15. őszi félévben

5. Hét Sorrendi hálózatok

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Mikroelektronikai tervezés

Végh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet

PROTOTÍPUSKÉSZÍTÉS. Előadó: Dr. Oniga István

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

1. A programozható logikai eszközök főbb csoportjai

XI. DIGITÁLIS RENDSZEREK FIZIKAI MEGVALÓSÍTÁSÁNAK KÉRDÉSEI Ebben a fejezetben a digitális rendszerek analóg viselkedésével kapcsolatos témákat

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika VIMIAA02

Digitális rendszerek tervezése FPGA áramkörökkel

Digitális technika VIMIAA02

Máté: Számítógép architektúrák

F1301 Bevezetés az elektronikába Digitális elektronika alapjai Szekvenciális hálózatok

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Átírás:

PANNON EGYETEM, Veszprém Villamosmérnöki és Információs Rendszerek Tanszék Beágyazott Rendszerek és Programozható Logikai Eszközök (Villamosmérnök BSc) 1. előadás: Programozható logikai eszközök (PLD-k). Tervezési módszerek, HLS: magas szintű szintézis Előadó: Dr. Vörösházi Zsolt

Jegyzetek, segédanyagok: Könyvfejezetek: http://www.virt.uni-pannon.hu Oktatás Tantárgyak Beágyazott Rendszerek és Programozható Logikai Eszközök Fóliák, óravázlatok.ppt (.pdf) Feltöltésük folyamatosan

Programozható logikai eszközök (PLD)

Állapotgép FSM tervezés tulajdonságai Két kombinációs logikai hálózatból és egy regiszterből áll (lásd Digitális Áramkörök tárgy) Tervezés során az állapot-átmeneteket vesszük figyelembe, DE Hibavalószínűség nagy, Szimulációs eszközök (CAD Tools) hiánya, Hibák lehetségesek a prototípus fejlesztése során is, Könnyen konfigurálható / flexibilis eszközök szükségesek mindezek használunk programozható alkatrészeket Inputs Combinational Logic Status Register Decode Logic Outputs

Field Programmable Logic Sequencer (FPLS) Logikai sorrendvezérlő Egy vezérlő egység Next-State logikai blokkjának megvalósítása a tervező, gyártó feladata. Általában változó logikát használnak a függvények megvalósításánál. A felhasználó által programozható logikai sorrendvezérlő (Field Programmable Logic Sequencer) programozható alkatrészekből építhető fel, amelyek a következőkben részletesen ismertetésre kerülnek.

Field Programmable Logic Sequencer (FPLS) Logikai sorrendvezérlő Serial In Clock Működése: Inputs 16 AND Array OR Array REG 8 Outputs - Normál (D-FF), - Debug (Shift Reg.) REG 6 Serial Out A logikai sorrendvezérlőnek 16 külső bemeneti vonala van, 1 RESET és 1 kimenetengedélyező vonala, ill. 8 kimeneti vonala. A regiszterek egy-egy állapotot tárolnak, amelyek az órajel hatására a kimenetre íródnak, vagy a 6 belső, visszacsatoló vonalon keresztül visszacsatolódnak. A Next-State ill. a kimeneti szintek meghatározásánál programozható AND/OR tömböket használnak.

Tervezési módszerek ASIC 1.) Makrocellás típusok (kis/közepes integráltsági fok): a programozható logikai tömbök hálózatát egyrészt programozható logikai részekre (ÉS / VAGY tömbök), illetve kimeneti logikai cellákra, úgynevezett makrocellákra osztották. A makrocellák általában néhány logikai áramkört (inverter, multiplexert) tartalmaznak, valamint egy elemi D-tárolót. Ezáltal ha szükséges, regiszterelni lehet a kimeneti függvényt, majd pedig vissza lehet csatolni annak értékét a bemenetre. a.) PLA: Programozható logikai tömb, OTP - általában biztosítékot használ b.) PAL: Programozható ÉS/tömb logika, OTP általában biztosítékot használ c.) GAL: Generikus tömb logika: PAL továbbfejlesztése, de már többször törölhető és programozható (nagy integráltsági fok): d.) CPLD: Komplex programozható logikai eszköz 7 2.) Programozható kapu-áramkörök (nagyon-nagy integráltsági fok): FPGA: Felhasználó által tetszőlegesen programozható (újrakonfigurálható) kapu áramkör

Programozható logikai eszközök (PLD-k) két fő típusa: 1.) Makrocellás PLD-k: (Programmable Logic Devices): PLA PAL GAL CPLD 2.) FPGA (Field Programmable Gate Array): Programozható Gate Array áramkörök XILINX (Spartan, Virtex, Kintex, Artix) ~ 50%! Altera (Stratix, Arria, Cyclone), ~30% Actel (főleg űrkutatásban alkalmazott) 8 Lattice sorozatok QuickLogic További kisebb gyártók termékei

Complex Programmable Logic Device (CPLD) Logikai Blokk-ban PAL / PLA Regiszterek I/O Blokkok Programozható összeköttetések (Interconnect) Teljes (Full-crossbar), vagy Részleges összeköttetés hálózat

Programmable Logic Array (PLA) Mindkét része (AND, OR) programozható Bármely kombinációja az AND / OR-nak előállítható Mintermek OR kapcsolata (DNF) Programozható kapcsolók a horizontális/ vertikális vonalak metszésében Q n Kimeneteken D tárolók! (visszacsat. a bemenetekre)

Programozásuk (Fuse) biztosítékok segítségével Az összeköttetés mátrix metszéspontjaiban kis biztosítékok (fuse) helyezkednek el. Gyárilag ált. logikai 1 -est definiál, tehát vezetőképes. Ha valamilyen eszközzel, feszültséget kapcsolunk rá, átégethető, tehát szigetelővé (nem-vezető) válik, és logikai 0 -át fog reprezentálni. A biztosíték átégetése, csak egyszer lehetséges, utána már csak a programozott állapotot fogja tárolni.

Példa: PLA tervezése A B C D E Programmable OR array Realizálja a következő függvényeket: X C AB AB Közös termek! Y C D E A C D W Z C D E B C D E B D A C D B D C D E C D E Tehát 5 bemenete (A,B,C,D,E) és 4 kimenete (X,Y,W,Z) van. Rajzoljuk fel a kapcsolást! Programmable AND array Mintermek! X Y W Z

Programmable AND Logic (PAL) A B C D Egy programozható rész - AND / míg az OR fix Véges kombinációja áll elő az AND / OR kapcsolatoknak Metszéspontokban kevesebb kapcsoló szükséges Gyorsabb, mint a PLA Q n kimeneteken D tárolók (visszacsatolódhatnak a bemenetekre) Programozható ÉS tömb Rögzített/Fix VAGY tömb Q0 Q1 Q2 Q3

Hogyan programozhatók a VLSI alkatrészek? Programozási technikák

Programozási technikák a.) SRAM b.) MUX c.) Antifuse d.) Floating Gate e.) EPROM/EEPROM/Flash RC ns / ps

a.) SRAM cellás Tulajdonságai: (pl Xilinx, Altera) végtelen sokszor újraprogramozható (statikus RAM) táp kikapcsolása után az SRAM elveszti tartalmát bekapcsoláskor (inicializáláskor) a programot be kell tölteni, fel kell programozni az SRAM cellára egy áteresztő tranzisztor van csatolva. A tranzisztor vagy kinyit (vezet), vagy lezár. Az SRAM értéke, ami egy bitet tárol ( 0 vagy 1 ) letölthető. Összeköttetéseket, vagy MUX-ok állását is eltárolja. 1 bit tárolása az SRAM-ban (min. 6 tranzisztorból áll) sok tranzisztor (standard CMOS), nagy méret, nagy disszipáció nem kell frissíteni az SRAM-ot nagy 0.5-2 kω átmeneti ellenállás nagy 10-20 femtof parazita kapacitás

b.) MUX - multiplexeres Tulajdonságai: az SRAM-ban tárolt 0 vagy 1 értéket használunk a Multiplexer bemeneti vonalának kiválasztásához. (Működése hasonló az SRAM celláéhoz.) /Bemenetek közül választ a szelektáló SRAM-beli érték segítségével és a kimenettel köti össze./ S 0 =0/1 output

c.) Antifuse A tranzisztor Gate-jét amorf kristályos Si alkotja, amelyet relatíve nagy feszültség (kb 20-30V) hatására átkristályosítunk (átolvasztás), így vezetővé válik véglegesen. Pl. Texas Instruments, Actel, QuickLogic alkalmazza ezt a technológiát. Tulajdonságai: A dielektrikum átégetése irreverzibilis folyamat, nem lehet újraprogramozni csak egyetlen egyszer programozható (OTP) kis méreten megvalósítható, kis disszipáció kis átmeneti ellenállás 300 Ω kis parazita kapacitás 1.1-1.3 femtof előállításához sok maszkréteg szükséges, drága technológiát igényel Típusai ONO (Oxid-Nitrid-Oxid) Amorf Si

d.) Floating gate Két-gates tranzisztor, melynek középső gate-je a lebegő gate, tárolja az információt. A másik gate fix (control vagy érzékelő gate), biztosítja az írást, olvasást. Programozható összeköttetéseknél, csomópontokban használatos. Tulajdonságai: Programozása/írás: control gate segítségével töltéseket viszünk fel a lebegő Gate-re, kinyit a tranzisztor többször törölhető (kis ablakon keresztül UV fénnyel) kikapcsoláskor is megőrzi tartalmát (nonvolatile, akár 99 évig), töltések nem sülnek ki nagy 2-4 kω átmeneti ellenállás nagy 10-20 femtof parazita kapacitás PL. Intel, Actel, Lattice

e.) EPROM / EEPROM / Flash Tulajdonságai: Floating-gate technológiát alkalmazza! 10000x szer programozható Megőrzi tartalmát (Non-volatile) UV-fénnyel törölhető (EPROM) Elektromosan törölhető (EEPROM / Flash) Nagy felület Nagy parazita ellenállás, nagy parazita kapacitás További CMOS gyártási lépések (sok maszk réteg) szükségesek drága Pl: Altera (3000, 5000 - első sorozatai)

HLS: High-Level Synthesis (magas-szintű szintézis alapjai)

Elméleti háttér Turing-Church tézis: HW SW ekvivalencia. a μ-rekurzív függvények (utasítások), környezet független nyelvtan (algoritmus modell, pl. CFG), ill. TM Turing Machine (HW) egymásba ekvivalens módon transzformálhatóak. Tervezés: a valós rendszerek felépítéséhez különböző modellek szükségesek. Egy valós modellt implementálhatunk a számítógépes SW (CAD tool) segítségével: a viselkedését (behaviour) tudjuk szimulálni. Folyamatok: Tervezés (CAD): információ-feldolgozó folyamat: Gyártás (CAM): Tesztelés v. Verifikáció (CAE) :

HLS: High Level Synthesis HLS célja: tervezés automatizálásának vizsgálata szinkron digitális hálózatok (SH) esetén, méghozzá a logikai (Boole-algerbrai) szint feletti hierarchia szinten definiált gyakorlati környezetben Rendszer megvalósítása gyorsan, akár komplex rendszerek szintézisére is (elfogadható időben): rapid prototyping, time-tomarket fogalmak Bemenete magas szintű hardver leíró nyelv (pl. konvencionális VHDL, vagy Verilog), amelynek segítségével a rendelkezésre álló adatbázisok (DB tervezői alap-építőelem könyvtárak) alapján elektromos áramköröket építhetünk pl. újrakonfigurálható PLD, FPGA áramkörön. Magas szintű szintézis fő lépései a fókuszban: Tervezés-Ütemezés (SCHEDULING) Erőforrás foglalás / feladat felosztás - (ALLOCATION) Kötött algoritmusok (BINDING algorithms) - megkötések

Erős korreláció: Stílus Absztrakció Formalizmus Leírás (pl. VHDL) Formalizmus Tervezés Absztrakció Stílus Technológia

1. Stílus Komplex feladat egyszerűbb, kezelhető részfeladatokra bontása Szisztematikus Érthető módszerek kellenek Pl: programozási stílusok (Top-down, strukturált) Jó stílus kialakításának szabályai: Top-down /Bottom-up módszer szerinti tervezés Csak kiforrott, biztos technikákat szabad alkalmazni Fontos a dokumentálás!

Általános Design Flow (tervezés folyamata)

2. Absztrakció Digitális tervezés elvi-fogalmi szintje Kezdeti absztrakció a tervezés során meghatározó, kritikus pont! 1. koncepcionális modell (elvi elgondolás) vs. 2. megvalósítható, realizálható modell (HW) Magas-szintű absztrakció elvi modell szintenkénti finomítása és felépítése

Absztrakciós szintek Rendszer szint (legfelsőbb szint) Algoritmikus szint Funkcionális szint (pl. multiplexer, dekóder, ALU stb.) RTL szint (VHDL, Verilog stb.) Logikai szint (kapuk Boole algebra) Fizikai áramkör szint (tranzisztor szint) erősen gyártás-technológia függő pl. deep submicron technology)

3. Formalizmus A rendszer viselkedésének leírására szolgál Szisztematikus szabályok és eljárások Minden absztrakciós szinten fontos a használatuk Pl: alapvető formalizmus a Boole-algebra (bináris logika elmélete) de csak alsóbb szinteken használható (felsőbb-, rendszer-szint) (alsóbb-, áramköri szint) Absztrakció Boole algebra (konkretizálás)

VHDL hardver leíró nyelv VHDL = VHSIC HDL (Very High Speed Integrated Circuit Hardware Description Language) nevű nyelv a 80-as évek közepén alakult ki, melyet azóta nemzetközi szabványnak is elfogadtak (IEEE-1076 1987 és ANSI 1989). biztosítja az egyes rétegnek megfelelően egy szabványos nyelven a hardver leírását, a magasabb szinteken az ember számára is áttekinthetővé teszi a hardver dokumentációját, az alsó szinteken lehetővé teszi a tervek átadását a gyártás CAD/CAM rendszereinek, biztosítja a hardver szimulációs ellenőrzését (verifikációt).

VHDL A VHDL nyelvű hardver leírás leginkább egy emberi nyelvhez közel álló, magas szintű programnyelvhez hasonlítható. A VHDL hardver leíró nyelv három alapegysége architektúra (architecture): hw egység funkciója (viselkedése) és szerkezete egyed (entity): hw egységek közötti kommunikációs interfész (protokoll) konfiguráció (configuration): architektúrák és interfészek egymáshoz rendelése ENTITY or_gate IS PORT (a, b: IN bit; y: OUT bit) END or_gate ARCHITECTURE viselkedes OF or_gate IS BEGIN y <= a OR b END viselkedes CONFIGURATION or2_ konfig OF or_gate IS FOR viselkedes END FOR END or2_konfig

HLS Szintézis során használt algoritmusok 1.) In core modell szintézis: a bemeneti magas-szintű nyelvből gráfreprezentációt állít elő, amely a vezérlést és az adatokat külön-külön kezeli. (Lásd CFG, DFG). 2.) Adatfolyam analízis. Ez a módszer határozza meg a változók értékének élettartamát, amelyeket sokszor használunk a magas-szintű fordítónál, továbbá meghatározza rendeltetésszerű viselkedést (változók kiértékelése). Allokáció és ütemezés (scheduling) során is használjuk. 3.) A lehető leggyorsabb SCHEDULING / ütemezés (ASAP): a gyors végrehajtás eléréséhez minimalizálja a lehetséges útvonalak számát (azaz minimalizálja az utasításokban szereplő ciklusok számát). Optimalizálja az utak hosszát, amely az egyes vezérlési lépések számát jelenti. Az FSM (véges állapotú gép) készítésekor a CFG-t körmentessé teszi a visszacsatolások elhagyásával. Lehetnek feltételes elágazások. Az utak száma a csomópontok számának növelésével exponenciálisan nő. 4.) Modul hozzárendelés (MAP): A modul hozzárendelési probléma akkor lép fel, amikor a műveleteket többfajta funkcionális egységgel (FU: functional unit) kell megvalósítani, mivel ez a hozzárendelés választja ki az a megfelelő FU-t az adott utasítás elvégzéséhez. 5.) Kezdeti (internal based) ALLOKÁCIÓ: a teljes kezdő adatút (data-path) lévő blokkok generálása (fizikai lefoglalása) Place&Route, majd optimalizálása 6.) Késleltetés és méret becslése: logikai minimalizálás (vezérlőjelek számának csökkentése, ha lehetséges), ill. kimenetek generálása

1.) SYNTHESIS IN-CORE MODEL Magas-szintű nyelvből gráf reprezentáció a.) Vezérlés folyam gráf (CFG) b.) Adatfolyam gráf (DFG) A két gráf-reprezentáció között az egyes állapotokban lehetnek csatolások, linkek is.

a.) CFG: Control Flow Graph Irányított gráf, CFG=(N,P) Csúcsok halmaza (N): hozzárendelés, összeadás, logikai műveletek, stb. Élek halmaza (P): Precedencia relációk, egymást követő utasítások Összefüggő gráf (nem aciklikus!)

a.) CFG (folyt.) Sorozat, szekvencia: egy él (n1,n2) P azt jelenti, hogy n2 következik n1 végrehajtása után Feltételes végrehajtás (branch, if): egy művelet után egy másik művelet, ha a feltétel teljesül. A feltétel Boolean kifejezés, melynek értéke 1, akkor végrehajtódik, különben 0. Iteráció (loop): Ciklusok, amelyek a folyamat iteratív viselkedését jelzik

b.) DFG: Data Flow Graph Irányított gráf, DFG=(N U V,D) Csúcsok halmaza: N: utasítások V: változók Élek halmaza (D): Adatkapcsolatok Fontos: nem feltétlenül összefüggő gráf, azaz a DFG-nél az egyes műveletek lehetnek ábrázolva úgy is, hogy nincs közöttük kapcsolódási pont (nem húzódik él), tehát részekre lehet bontani

Példa VHDL leírás: Csak az Utasítások megszámozása!

Alapvetően kétfajta leírás generálható: viselkedési és strukturális.

Példa 2#: VHDL -> CFG, DFG architecture behavioral of MODULE is begin p1: process(a, b, cin) variable vsum : std_logic_vector(3 downto 0); variable carry : std_logic; begin end behavioral; carry := cin; --1 for i in 0 to 3 loop --2 vsum(i) := (a(i) xor b(i)) xor carry; --3 carry := (a(i) and b(i)) or (carry and (a(i) or b(i))); --4 end loop; --5 sum <= vsum; --6 cout <= carry; --7 end process p1; Megj. Ez egy 4-bites RCA (4 Full Adder sorba kapcsolását 0..3-ig) valósítja meg! Csak az Utasítások megszámozása!

Példa 3#: VHDL -> CFG, DFG Csak az Utasítások megszámozása! -- behavioral implementation of the LED_proc architecture behavioral of LED is begin LED_PROC: process (Bus2IP_Clk) is begin if Bus2IP_Clk'event and Bus2IP_Clk='1' then --1 if Bus2IP_Reset='1' then --2 LED_i<="0000"; --3 else --4 if Bus2IP_WrCE(0)='1' then --5 LED_i<=Bus2IP_Data(0 to 3); --6 else --7 LED_i<=LED_i; --8 end if; --9 end if; --10 end if; --11 end process LED_PROC; end behavioral;