Digitális technika (VIMIAA02) Laboratórium 3

Hasonló dokumentumok
Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 2

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4

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

Digitális technika (VIMIAA01) Laboratórium 2

Digitális technika (VIMIAA01) Laboratórium 2

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

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

DIGITÁLIS TECHNIKA I

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

Digitális technika Xilinx ISE GUI használata

DIGITÁLIS TECHNIKA (VIMIAA02)

Beágyazott és Ambiens Rendszerek Laboratórium BMEVIMIA350. Mérési feladatok az 1., 2. és 3. mérési alkalomhoz

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

LOGSYS LOGSYS SPARTAN-3E FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 19. Verzió

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

Digitális technika VIMIAA01 9. hét

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

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

Hardver leíró nyelvek (HDL)

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

Digitális technika (VIMIAA01) Laboratórium 1

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

Dr. Oniga István DIGITÁLIS TECHNIKA 4

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

DIGITÁLIS TECHNIKA I PÉLDA: 3 A 8 KÖZÜL DEKÓDÓLÓ HOGYAN HASZNÁLHATÓ EGY 4/16-OS DEKÓDER 3/8-AS DEKÓDERKÉNT? D 2 3 DEKÓDER BŐVÍTÉS

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

Digitális technika (VIMIAA01) Laboratórium 9

2008. október 9. Verzió

Újrakonfigurálható eszközök

Digitális technika (VIMIAA01) Laboratórium 9

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

Összetett feladatok megoldása

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

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

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

Digitális technika Laboratórium 6.

LOGSYS LOGSYS ECP2 FPGA KÁRTYA FELHASZNÁLÓI ÚTMUTATÓ szeptember 18. Verzió

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

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

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

A LOGSYS rendszer ismertetése

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

Elektronikus dobókocka tervezési példa

ISE makró (saját alkatrész) készítése

Kombinációs hálózatok és sorrendi hálózatok realizálása félvezető kapuáramkörökkel

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

Digitális technika VIMIAA02

DIGITÁLIS TECHNIKA feladatgyűjtemény

Digitális technika VIMIAA02

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

Digitális technika VIMIAA01 5. hét

Digitális technika VIMIAA02

Digitális technika VIMIAA02 3. EA

Digitális technika VIMIAA01

DIGITÁLIS TECHNIKA I

EB134 Komplex digitális áramkörök vizsgálata

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

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.

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

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

Név: Logikai kapuk. Előzetes kérdések: Mik a digitális áramkörök jellemzői az analóg áramkörökhöz képest?

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

Digitális technika VIMIAA02 7. hét

Digitális technika VIMIAA01

Digitális technika VIMIAA01

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

Digitális rendszerek tervezése FPGA áramkörö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:

Számlálók, adatfeldolgozó egységek

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

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

Nyolcbites számláló mintaprojekt

Hobbi Elektronika. A digitális elektronika alapjai: További logikai műveletek

Digitális technika VIMIAA02

Digitális technika VIMIAA01

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

Digitális technika VIMIAA01

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

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

8.3. AZ ASIC TESZTELÉSE

Digitális technika VIMIAA02 2. EA Fehér Béla BME MIT

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

Újrakonfigurálható eszközök

Digitális technika VIMIAA02

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

Újrakonfigurálható eszközök

Véges állapotú gépek (FSM) tervezése

Digitális technika VIMIAA02 1. EA

1. Az adott kapcsolást rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben. MEGOLDÁS:

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

Átírás:

BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA02) Laboratórium 3 Fehér Béla Raikovich Tamás, Fejér Attila BME MIT

Lab3_1 feladat: DEC/DMP, MPX A feladat során szabványos kombinációs funkcionális egységek realizációit tekintjük át ISE elindítása, projekt létrehozása Lab3_1.v forrásfájl mintakeret specifikálása sw[7:0], bt[3:0], ld[7:0] (a bt később kell majd ) LOGSYS_SP3E.UCF fájl hozzáadása és adaptálása a kívánt interfészekhez (sw, bt és ld interfészek) A Lab3_1_x feladatok specifikálása a funkcionális kódrészletekkel Funkcionális kód ellenőrzése szimulációval Konfigurációs fájl generálása, letöltése és a működés tesztelése a kártyán 1

Lab3_1_1 feladat Dekóder/Demultiplexer modul tervezése Bináris n bites bemenet 1-az-N-ből kimenet, ahol N=2 n Teljes mintermkészlet generálása, engedélyező jellel Lehetséges specifikációs stílusok Mintermek egyedi logikai felírása, logikai egyenletek Ugyanez aritmetikai kifejezéssel, == operátor Specifikáció a logikai shift művelettel {} és << op. Viselkedési leírás: always @(*) blokkos szerkezet Hierarchikus struktúra felépítése kisebb modulokból HDL leírásnál ezen a szinten nincs semmi előnye 2

Lab3_1_1 feladat: kódolási stílusok (1) DEC3_8E specifikáció: Logikai kifejezésekkel, 8 minterm 3

Lab3_1_1 feladat: kódolási stílusok (2) DEC3_8E specifikáció: Aritmetikai (==) művelettel 4

Lab3_1_1 feladat: kódolási stílusok (3) DEC3_8E specifikáció: Shift (<<)operátor használatával 5

Lab3_1_1 feladat: kódolási stílusok (4) DEC3_8E specifikáció: Speciális nyelvi elem, az always @(*) blokk használata 6

Lab3_1_1: Az FPGA realizálás eredménye DEKÓDER eredmény: Teljesen azonos felépítés minden esetben, a specifikációs stílustól függetlenül 8 db 4 bemenetű ÉS kapu, a mintermek közvetlen realizációja 7

Lab3_1_1 feladat Válasszon egy tetszőleges specifikációs stílust és ez alapján készítse el a DEC3_8E.v Verilog modult A modul 3-ból 8-ba végez dekódolást/demultiplexelést Bemenetei: sel[2:0], en; kimenete: out[7:0] Hozza létre a modul mintakeret fájlt és egészítse ki a választott stílusú leírással! Készítse el a modul tesztkörnyezetét DEC3_8E_TF.v és tesztelje a funkcionalitást! Ha hibamentes, akkor építse be a Lab3_1.v top module fájlba, a következő jelek megfeleltetésével: SEL[2:0] sw[2:0], EN sw[3], ld[7:0] OUT[7:0] 8

Lab3_1_1 feladat A DEC3_8E.v modul beépítése DECODER néven 9

Lab3_1_1 feladat: szimuláció, ellenőrzés Ellenőrizzük szimulációval a teljes tesztvektor készletre 8 tesztvektor EN = 0, és 8 tesztvektor EN = 1 esetre Vagy ha EN = 0, akkor SEL = 3 bxxx is lehet???? Generáljuk a konfigurációs adatfájlt Letöltés után ellenőrizzük a működést 10

Lab3_1_2 feladat Multiplexer funkció tervezése A multiplexer adatbemenet választóként működik, az egyik legfontosabb funkcionális egység. Definíciója: Az N=2 n bemenet bármelyikét az n bites kiválasztó bemenet értéke alapján a kimenetre kapcsolja, ha a működés engedélyezett A multiplexer bemenetei önmagukban is lehetnek bitvektorok, ekkor buszmultiplexerről beszélünk (pl. 4 db 8 bites bemenetből választ egyet) Specifikációja a dekóderhez hasonlóan igen sokféle lehet, ezeket áttekintjük A tervezendő modul 8-ból 1-be kapcsoló multiplexer, engedélyezéssel 11

Lab3_1_2 feladat: kódolási stílusok (1,2) MPX8_1E funkció tervezése Az out kimenet specifikálása logikai kifejezésekkel És ennek aritmetikai stílusú verziója 12

Lab3_1_2 feladat: kódolási stílusok (3) MPX8_1E funkció tervezése: a kimenet specifikálása always @(*) blokkban, viselkedési leírással 13

Lab3_1_2 feladat: kódolási stílusok (4) MPX8_1E funkció tervezése dekóder felhasználásával Ha a multiplexer struktúráját megvizsgáljuk, látszik, hogy benne egy dekóder van elrejtve (minden bemenet egyedi kiválasztása csak az egyedi mintermek használatával lehetséges) Ezért a DECODER beépítésével is specifikálhatjuk 14

Lab3_1_2 feladat: kódolási stílusok (5) MPX8_1E funkció tervezése a dekóder funkció implicit felhasználásával Az előző módszer alapján, a dekóder shift operátoron alapuló specifikációjával egyetlen kifejezéssel is leírható a multiplexer Megj. 1: ehhez szükségesek a bitvektoros változók Megj. 2: Nem mindenki jön rá, hogy mi ez Jó lesz vizsgakérdésnek. 15

Lab3_1_2 feladat Válasszon egy tetszőleges specifikációs stílust és ez alapján készítse el a MPX8_1E.v Verilog modult A modul 8-ból választ 1 bemenetet, ha engedélyezett Bemenetei: DINP[7:0], SEL[2:0], EN, Kimenete: OUT Hozza létre a modul mintakeret fájlt és egészítse ki a választott stílusú leírással! Készítse el a modul tesztkörnyezetét MPX8_1_TF.v és tesztelje a funkcionalitást! Ha hibamentes, akkor építse be a Lab3_1.v top module fájlba, a következő megfeleltetéssel: SEL[2:0] sw[2:0], EN sw[3], ld[0] OUT, DINP[7:4] sw[7:4], DINP[3:0] bt[3:0] 16

Lab3_1_2 feladat A MPX8_1E.v modul beépítése MULTIPX néven Az alsó 4 adatbemenetet a bt[3:0] nyomógombok adják 17

Lab3_1_2 feladat: szimuláció, ellenőrzés Ellenőrizzük szimulációval néhány tesztvektorral Teljes, kimerítő tesztelés ( fekete doboz ) 8+3+1 bemenet 2048 tesztvektor lenne Generáljuk a konfigurációs adatfájlt Letöltés után ellenőrizzük a működést 18

Lab3_2 feladat A feladatban a hétszegmenses kijelző működését vizsgáljuk különböző sebességű működtetéssel A 4 digitből 2 digiten valósítunk meg időosztásos vezérlést Az időosztásos vezérlés kapcsolását a LOGSYS letöltőkábel CLK jele szolgáltatja A kijelzési képet (2 digites hexadecimális számérték) a kapcsolókon állítjuk be Megtervezzük a HEXA 7SEGMENS kódkonvertert Használjuk a megismert multiplexer funkciót 19

Lab3_2 feladat: projekt létrehozása A Xilinx ISE 14.7 használata diasorozatban leírtak alapján (ISE elindítása), a Lab3_2 új projekt létrehozása Lab3_2.v forrásfájl keret specifikálása Bemenetek: sw[7:0], clk (LDC letöltőkábelről) Kimenetek: seg_n[7:0], dig_n[3:0], col_n[4:0] Az _n aktív alacsony vezérlést jelent ( 0 aktív) A LOGSYS_SP3E.UCF fájl hozzáadása és adaptálása (a fenti jelcsoportok aktiválása a fájlban) A Lab3_2 feladathoz szükséges forráskód specifikálása HEX7SEG Verilog kódkonverter modul tervezése, beépítése Szimuláció az időosztásos működés bemutatására Konfiguráció generálás, letöltés, működés tesztelése 20

Lab3_2 feladat: HEX 7SEG A Lab3_2 feladatban csak numerikus értékeket szeretnénk kijelezni (nem kell 26 C, vagy bármi más karakter) A kódkonverter 4 bites bemenetet fogad és 7+1 bites kimeneti szegmenskódot generál. Tehát 4 db 1 bites változó 8 db logikai függvénye, amelyből a 8. függvény konstans 0 (a kijelző tizedespontja). Lehetőségek 8 db logikai egyenlet, egyedi optimalizálás 8 db logikai egyenlet, közös, együttes optimalizálás Kódtáblázat használata always @(*) blokk szerkezettel ROM memória beépítésével 21

Lab3_2 feladat: HEX 7SEG Hozzuk létre a HEX7SEG.v Verilog modult Bemenet: value[3:0] Kimenet: code[7:0] A függvény pozitív logikában specifikált, 1 ahol a szegmens világít (megj: seg_n kimenet negatív vezérlést vár majd!) 22

Lab3_2 feladat: teljes projekt A Lab3_2.v top modulban Definiáljuk a számjegyeket: TENS[3:0] sw[7:4], ONES[3:0] sw[3:0] Tiltsuk le a pontmátrix vezérlését! Állítsuk be az időosztásos vezérlést a 2 alsó digiten CLK=0 tízes helyiérték, CLK=1 egyes helyiérték aktív 23

Lab3_2 feladat: teljes projekt Definiáljuk az elkészített HEX7SEG kódkonverter interfész jeleit: value[3:0], code[7:0] A digitek kapcsolgatásával azonos ütemben a bemenetre a TENS ill. ONES értéket adjuk Beépítjük a HEX7SEG modul egy példányát A kimenetet invertáltan vezetjük a seg_n vonalakra 24

Lab3_2 feladat: ellenőrzés Letöltés után ellenőrizzük a működést Az órajelfrekvencia függvényében vizsgáljuk meg a következő eseteket: Mit tapasztal alacsony frekvencián (clk ~ 10Hz)? Megfelel 2 digites kijelzésnek? Mi az elfogadható működési frekvencia alsó határa? Mit javasolna működési frekvenciának 4 digit esetén? Mit tapasztal igen magas, pl. 8 MHz kapcsolási sebességnél? (Válasszon olyan kódot, amelyben a két digiten eltérő szegmensek világítanak, pl. C1.) 25