Tartalom Tervezési egység felépítése Utasítások csoportosítása Értékadás... 38

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

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

Dr. Oniga István DIGITÁLIS TECHNIKA 8

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

VHDL szimuláció. Tervezés. Labor II. Dr. Hidvégi Timót

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

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

Dr. Oniga István DIGITÁLIS TECHNIKA 9

VHDL alapú tervezés. (nem a teljes változat) Írta : Dr. Hidvégi Timót egyetemi docens

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Digitális elektronika gyakorlat

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Egyszerű mikroprocesszor RTL modellek (VHDL)

HDL nyelvek: VHDL. Fehér Béla Szántó Péter, Lazányi János, Raikovich Tamás BME MIT FPGA laboratórium

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

8.3. AZ ASIC TESZTELÉSE

3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK

Megoldás Digitális technika I. (vimia102) 4. gyakorlat: Sorrendi hálózatok alapjai, állapot gráf, állapottábla

Hardver leíró nyelvek (HDL)

Újrakonfigurálható eszközök

BASH script programozás II. Vezérlési szerkezetek

1. A VHDL mint rendszertervező eszköz

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

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Digitális technika házi feladat III. Megoldások

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

D I G I T Á L I S T E C H N I K A Gyakorló feladatok 3.

Digitális technika - Ellenőrző feladatok

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

AWK programozás, minták, vezérlési szerkezetek

Java II. I A Java programozási nyelv alapelemei

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

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

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

5. Hét Sorrendi hálózatok

Digitális elektronika gyakorlat

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

DIGITÁLIS TECHNIKA II

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

Digitális eszközök típusai

Standard cellás tervezés

Informatika terméktervezőknek

IRÁNYÍTÁSTECHNIKA I.

Digitális technika VIMIAA02

DIGITÁLIS TECHNIKA feladatgyűjtemény

DIGITÁLIS TECHNIKA II

Digitális technika VIMIAA02

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

Programozási nyelvek (ADA)

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

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 3. rész

DIGITÁLIS TECHNIKA Dr. Lovassy Rita Dr. Pődör Bálint

Webprogramozás szakkör

AWK programozás, minták, vezérlési szerkezetek

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

Logikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.

S z á m í t ó g é p e s a l a p i s m e r e t e k

Irányítástechnika I. Dr. Bede Zsuzsanna. Összeállította: Dr. Sághi Balázs, egy. docens Dr. Tarnai Géza, egy. tanár

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

DIGITÁLIS TECHNIKA NORMÁL BCD KÓD PSZEUDOTETRÁDOK AZONOSÍTÁSA A KARNAUGH TÁBLÁN BCD (8421) ÖSSZEADÁS BCD ÖSSZEADÁS: +6 KORREKCIÓ

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 2. rész

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

Összeadás BCD számokkal

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

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

Hobbi Elektronika. A digitális elektronika alapjai: Sorrendi logikai áramkörök 1. rész

Szekvenciális hálózatok és automaták

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

funkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg. Olvasható aláírás:...minta VIZSGA...

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


Újrakonfigurálható eszközök

III. Alapfogalmak és tervezési módszertan SystemC-ben

HDL tervezés. Gábor Bata FPGA Developer Microwave Networks Ericsson Hungary Ltd.

DIGITÁLIS TECHNIKA II

Nyolcbites számláló mintaprojekt

Bevezető Típusok és operátorok a VHDL-ben A VHDL nyelv vezérlési szerkezetei Hieararchikus tervezés. Budapesti Műszaki és Gazdaságtudományi Egyetem

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

SZÁMÍTÓGÉPES ARCHITEKTÚRÁK

Alapszintű formalizmusok

Digitális technika (VIMIAA02) Laboratórium 4

1. A Windows Vista munkakörnyezete 1

Komputeralgebra Rendszerek

Verilog HDL ismertető 2. hét : 1. hét dia

Integrált áramkörök/4 Digitális áramkörök/3 CMOS megvalósítások Rencz Márta

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Architektúra, megszakítási rendszerek

Szekvenciális hálózatok Állapotdiagram

Elektronika 11. évfolyam

ELEKTROTECHNIKA-ELEKTRONIKA ELEKTROTECHNIKA

Digitális technika VIMIAA02 7. hét Fehér Béla BME MIT

Digitális technika VIMIAA02 7. hét

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

Mérési jegyzőkönyv. az ötödik méréshez

Programozási nyelvek (ADA)

Digitális technika (VIMIAA02) Laboratórium 4

30.B 30.B. Szekvenciális hálózatok (aszinkron és szinkron hálózatok)

Átírás:

Bevezetés... 11 1. A VHDL mint rendszertervező eszköz... 13 1.1. A gépi tervezés... 13 1.2. A VHDL általános jellemzése... 14 1.3. Tervezési eljárás VHDL-lel... 15 2. A VHDL nyelv alapszabályai... 19 2.1. Tárgyak és adattípusok... 19 2.1.1. A VHDL-szabványban rögzített típusfajták... 19 2.1.2. Vektorok létrehozása... 23 2.1.3. Csomagokban meghatározott típusok... 23 2.1.4. Jelek, változók és állandók... 25 2.1.5. Altípusok... 26 2.1.6. Operátorok... 27 2.1.7. Bitfüzér-szövegelemek... 29 2.1.8. Minősítők... 29 2.1.9. Álnevek... 30 2.1.10. Kisbetűk és nagybetűk... 30 2.2. Tervezési egység felépítése... 30 2.2.1. Az egységbejelentés (deklaráció)... 30 2.2.2. Az építmény... 34 2.3. Utasítások csoportosítása... 35 2.3.1. Egyidejű (concurrent) utasítások... 35 2.3.2. Sorrendi (sequential) utasítások... 37 2.4. Értékadás... 38 2.4.1. A változó-hozzárendelés (értékadás)... 38 2.4.2. A jelértékadás... 38 2.4.3. A jel- és a változó-értékadás összehasonlítása... 39 2.4.4. Vektorértékadás... 41 2.4.5. Összevonás... 41 2.4.6. Többdimenziós rácsrendek értékadása... 43

6 2.4.7. Értékadás bitfüzér-szövegelemmel... 44 2.4.8. Rácsrend szelete (slice of array)... 44 2.4.9. Összefűzés... 46 2.4.10. Megosztott változók... 46 2.4.11. Jelek és változók használatával kapcsolatos gyakori hibalehetőség... 47 2.4.12. Tehetetlenségi és szállítási késleltetés... 49 2.4.13. Egyidejűség két buffer példája... 51 2.4.14. Feloldott jelek (resolved signals)... 51 2.4.15. A kezdőérték és megváltoztatása... 54 2.5. Alprogramok... 55 2.5.1. Eljárás... 55 2.5.2. Függvény... 57 2.5.3. Eljárás és függvény összehasonlítása egy példán... 59 2.6. Az építmény leírása... 60 2.6.1. A viselkedési modell... 60 2.6.2. Adatáramlási (RTL-szintű) modell... 62 2.6.3. A szerkezeti modell... 62 2.7. A különböző modellek összehasonlítása... 64 2.8. A követelési (assert) utasítás... 66 2.8.1. A jelentési (report) utasítás... 67 2.8.2. Hibakezelés... 68 2.9. Kialakítás (Configuration)... 68 2.10. Elnevezési szokások és tervezési vezérelvek... 70 3. Könyvtárak és csomagok... 73 3.1. Csomagok... 73 3.1.1. A könyvtár és a csomag láthatóvá tétele... 73 3.2. Összetevők a csomagokban... 74 3.3. A standard csomag... 75 3.4. Felültöltés... 76 3.4.1. A felültöltéssel kapcsolatos hibalehetőségek... 77 3.4.2. Az std_logic_vector kétféle értelmezése... 78 3.4.3. Alprogramok felültöltése... 78 3.5. Típusváltás csomagbeli váltófüggvényekkel... 79 3.6. Egy mintacsomag és alkalmazása... 82

4. Igazolás... 85 4.1. A gerjesztéskeltő és a próbapad... 85 4.2. Felhúzás/lehúzás... 86 4.3. Egy egyszerű áramkör modellezése tervezőrendszertől független kiíratással... 87 5. Egyidejű modellezés... 93 5.1. Összetevő-beültetés... 93 5.1.1. Összetevő-bejelentés... 93 5.1.2. Bekötetlen kimenetek... 95 5.1.3. Bekötetlen bemenetek... 95 5.1.4. Általános kiosztási (generic map) utasítás... 96 5.1.5. A létrehozó (generate) utasítás... 98 5.1.6. Közvetlen beültetés... 98 5.2. A when utasítás... 99 5.2.1. Háromállapotú buffer és az others utasítás... 99 5.3. A with utasítás... 100 5.4. Egyidejű követelmény... 102 5.5. A tömb (block) utasítás... 102 6. Sorrendi modellezés... 105 6.1. A folyamat (process) működése... 105 6.1.1. A folyamat jelölésmódja... 106 6.1.2. Diszkrét esemény időmodellje... 106 6.1.3. Egy példa a folyamat működésére... 109 6.1.4. A folyamatbeli késleltetés modellezése... 109 6.1.5. A folyamat típusai... 110 6.2. Az if-then-else utasítás... 113 6.3. Az eset (case) utasítás... 114 6.3.1. Az others használata a case utasításban... 115 6.3.2. Összehasonlító tervezése... 117 6.3.3. Értéktartomány használata... 117 6.3.4. Az összefűzés használata... 120 6.3.5. Többszörös értékadás (hozzárendelés)... 121 6.3.6. A null utasítás... 123 7

6.4. Hurokképző utasítások 6.4.1. Hurok for vagy while nélkül... 123 6.4.2. For hurokképző utasítás... 124 6.4.3. While hurokképző utasítás... 124 6.4.4. A következő (next) utasítás... 125 6.4.5. A kilépés (exit) utasítás... 125 6.5. A vár (wait) utasítás... 126 6.5.1. Feltétel nélküli várakozás... 126 6.5.2. Időtartamra várakozás... 126 6.5.3. Értékre várakozás... 127 6.5.4. Értékváltozásra várakozás... 129 6.5.5. A folyamat várakoztatására vonatkozó megoldások összehasonlítása... 130 6.6. A kimenti jelek vizsgálata követelménnyel... 132 6.7. Sorrendi jelentés követelmény nélkül... 133 6.8. A now (most) változó... 134 7. Tervezési fogások és módszerek példákon bemutatva... 135 7.1. Nyelvi elemek használata igényes leíráshoz... 135 7.1.1. Rácsrend bejelentése és indexek használata... 135 7.1.2. Vektorszorzás... 136 7.1.3. Kimeneti jel újraolvasása... 136 7.1.4. Fájl olvasása... 139 7.2. Nyalábolók és visszakódolók... 139 7.2.1. Kettőből-egy nyaláboló... 139 7.2.2. Négyből-egy nyaláboló... 140 7.2.3. Háromból-nyolc visszakódoló... 140 7.3. Összeadók... 141 7.3.1. Egész számokra használható összeadó... 141 7.3.2. A félösszeadó szerkezeti leírása... 142 7.3.3. A teljes összeadó leírása... 144 7.3.4. Egybites összeadó-átvitel bemenettel... 147 7.3.5. Nyolcbites összeadó-átvitel bemenettel... 147 7.3.6. Általános összeadó-átvitel bemenettel... 146 7.3.7. Négybites összeadó/kivonó... 148 8

7.4. Példák folyamatokra... 149 7.4.1. Nem teljesen meghatározott kombinációs folyamat... 149 7.4.2. Órázott folyamat... 150 7.4.3. Élvezérelt impulzuskeltő... 151 7.4.4. Élészlelő... 152 7.5. Flip-flop modellezése és szintézise... 153 7.5.1. Flip-flop szintézis órázott jelekkel... 153 7.5.2. Flip-flop változókkal modellezve... 154 7.5.3. Vizsgálható flip-flop szinkron engedélyezéssel... 154 7.5.4. Flip-flop szintézis kapuzott órával... 155 7.5.5. Összeadó és flip-flop szintézise... 156 7.5.6. Flip-flop regiszter aszinkron törléssel... 157 7.5.7. Flip-flop regiszter szinkron törléssel... 157 7.5.8. Flip-flop regiszter aszinkron törléssel és beállítással... 158 7.5.9. Nyolcbites regiszter engedélyezéssel és aszinkron törléssel... 158 7.6. Léptetőegységek... 159 7.6.1. Léptetési műveletek... 159 7.6.2. Egyszerű léptetőregiszter... 161 7.6.3. Léptetőregiszter aszinkron törléssel... 161 7.7. Számlálók... 163 7.7.1. Egy 2 bites számláló... 163 7.7.2. Egy 8 bites számláló leírása... 165 7.7.3. Hárombites számláló engedélyezéssel és átvitelkimentettel... 167 7.8. Gyűrűs oszcillátor... 168 7.9. Állapotgépes modellezés... 170 7.9.1. Az állapotgépek típusai... 171 7.9.2. A Moore-gép egyszerű modellje... 171 7.9.3. Moore-gép modellje három folyamattal... 174 7.10. RAM és ROM építése... 175 7.10.1. ROM meghatározása tömbállandóval... 175 7.10.2. RAM létrehozása... 177 7.11. Egy számtani-logikai egység terve... 178 7.12. Szintézisre optimalizált tervezés erőforrás-megosztással... 180 9

8. Hagyományos és késleltetésérzéketlen aszinkron hálózatok modellezése... 183 8.1. A Huffmann-féle aszinkron hálózatok állapotátmeneti táblázatának modellezése és szimulációja... 183 8.1.1. Kétbemenetű Huffmann-hálózat modellje... 184 8.1.2. Több állapotváltozót megkövetelő Huffmann-féle aszinkron hálózat specifikációjának a modellezése... 189 8.2. Ikerhuzalos késleltetésérzéketlen aszinkron hálózatok elvont szintű modellezése... 190 8.2.1. A Müller-C áramkörök... 190 8.2.2. Az ikerhuzalos kódolás... 192 8.2.3. A logikai teljesség elve... 193 8.2.4. Késleltetésérzéketlen kombinációs hálózatok és modelljeik... 194 8.2.5. Ikerhuzalos tároló és regiszter modellje... 196 8.2.6. DR-tárolóláncok szinkronizációja Müller C egységgel... 200 8.2.7. DR aszinkron hálózatok... 204 8.2.8. Ikerhuzalos aszinkron egységek elvont szintű modellezése... 207 9. Kapcsolószintű modellezés... 211 9.1. A kapcsolószintű VHDL-feloldófüggvények fő problémái... 211 9.2. A NEWNSTD csomag és a nyolcértékű bittípus feloldófüggvénye... 212 9.3. CMOS-kapcsolók modellezése... 214 9.4. CMOS-kapuk modellezése... 216 9.5. Dinamikus (töltéstárolást kihasználó) kapcsolóhálózatok modellezése... 217 Függelék... 219 A work könyvtárbeli orakapuk nevű felhasználói csomag forráskódja Angol magyar szójegyzék... 235 Tárgymutató... 239 A szerzőkről... 243 Dr. Keresztes Péter... 243 Dr. Hosszú Gábor... 243 Egy olvasói levél... 244 10