Digitális technika (VIMIAA02) Laboratórium 2

Hasonló dokumentumok
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

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

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 1

Digitális technika (VIMIAA02) Laboratórium 3

Digitális technika (VIMIAA02) Laboratórium 3

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 4

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika Xilinx ISE GUI használata

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

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)

DIGITÁLIS TECHNIKA (VIMIAA02)

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

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

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

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

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

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

Nyolcbites számláló mintaprojekt

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

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

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

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

Digitális elektronika gyakorlat

Hardver leíró nyelvek (HDL)

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 1

DIGITÁLIS TECHNIKA I

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA02

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 9

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

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

DIGITÁLIS TECHNIKA I

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

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

Digitális technika VIMIAA01

Programozási segédlet DS89C450 Fejlesztőpanelhez

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

Digitális technika VIMIAA01

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

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

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

Digitális technika VIMIAA01

Dr. Oniga István DIGITÁLIS TECHNIKA 4

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

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

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

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

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

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

Digitális technika VIMIAA02 1. EA

Összeadás BCD számokkal

4. KOMBINÁCIÓS HÁLÓZATOK. A tananyag célja: kombinációs típusú hálózatok analízise és szintézise.

Digitális elektronika gyakorlat

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

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

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

The modular mitmót system. DPY kijelző kártya C API

Dr. Oniga István DIGITÁLIS TECHNIKA 8

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

Perifériák hozzáadása a rendszerhez

Digitális technika VIMIAA01 5. hét

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

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

Az MSP430 mikrovezérlők digitális I/O programozása

2008. október 9. Verzió

8.3. AZ ASIC TESZTELÉSE

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

Verilog HDL ismertető 4. hét : hét dia

Digitális technika Laboratórium 6.

10-es számrendszer, 2-es számrendszer, 8-as számrendszer, 16-os számr. Számjegyek, alapműveletek.

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

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

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

Digitális technika VIMIAA02 7. hét

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

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

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

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

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

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Újrakonfigurálható technológiák nagy teljesítményű alkalmazásai

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

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

Bevezetés az informatikába

A ChipScope logikai analizátor

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

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

Digitális technika VIMIAA02

Á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 2 Fehér Béla Raikovich Tamás, Fejér Attila BME MIT

Kombinációs hálózatok Lab2_1 feladat: 4 változós logikai függvények tervezése Elemi függvények: ÉS, VAGY, XOR, NOR BCD kód ellenőrzése Lab2_2 feladat: hierarchikus tervezés bemutatása 1 bites teljes összeadó realizálása FADD modul Ebből 4 bites összeadó kialakítása kaszkádosítással, azaz 1 bites egységek láncbakapcsolásával Működés ellenőrzése összehasonlítással, referenciaként a Verilog + operátorát felhasználva Hiba esetén a H karakter kiírása a hétszegmenses kijelző első digitjére 1

Lab2_1_1 feladat: egyszerű függvények Az AND, OR, XOR és NOR függvények realizálása Bemeneti változók: DIP kapcsoló alsó 4 bitje Kimenet: alsó 4 LED, mégpedig a következőképen ld[0] ÉS ld[2] XOR ld[1] VAGY ld[3] NOR A függvények realizálása kétfajta felírással A kapcsoló bitjeit egyedi jeleknek tekintve A kapcsoló jeleit vektorváltozóként tekintve, a Verilog redukciós logikai operátorait használva Szimulátor használata a tesztvektorokat ciklussal generálva 2

Lab2_1_1 feladat: projekt létrehozása Előző heti munka alapján a Xilinx ISE GUI használata diasorozatban ismertetett módon ISE elindítása, új projekt létrehozása Lab2_1.v forrásfájl mintakeret specifikálása LOGSYS_SP3E.UCF fájl másolatának hozzáadása és adaptálása a kívánt interfészekhez (sw[3:0], ld[3:0]) A Lab2_1_1 feladat specifikálása a funkcionális kódrészletekkel Funkcionális kód ellenőrzése szimulációval Konfiguráció generálás, letöltés, működés tesztelése a kártyán 3

Lab2_1_1 feladat Egybites változókként használva a bemeneti jeleket A NOR kapcsolatot a De Morgan szabályt használva írjuk fel Ugyanez redukciós operátorokkal vektorváltozóra 4

Lab2_1_1 feladat: szimuláció Átkapcsolás szimulációs módba Új forrás: Lab2_1_TF Verilog Test Fixture hozzáadása Az automatikus kódrészletet most nem mutatjuk A tesztvektorok generálhatók lineáris kóddal, 16 értékadással vagy egy for ciklusban, az i ciklusváltozó használatával Négyváltozós függvények Max. 16 kombináció Teljes lefedést ad 5

Lab2_1_1 feladat: ellenőrzés A szimuláció eredménye ld[0] ÉS, ld[1] VAGY, ld[2] XOR, ld[3] NOR Generáljuk a specifikációhoz tartozó konfigurációs adatfájlt Letöltés után ellenőrizzük a működést 6

Lab2_1_2 feladat Érvénytelen BCD kód detektálása Ha sw[3:0] nem BCD, akkor mind a 4 LED világít, egyébként az érvényes bemeneti kód jelenjen meg A 4 bites bemeneti kód 6 esetben nem felel meg Tehát 6 minterm detektálása a feladat Felírható lenne másképpen is, a szintézer majd egyszerűsíti 7

Lab2_1_2 feladat Felírhatjuk egyszerűbb formában is Vagy aritmetikai feltételként Bármelyiket is választjuk, a teljes megoldás ilyen lesz 8

Lab2_1_2 feladat A legtömörebb felírási mód Itt az error jel meg sem jelenik explicit módon A szintézer persze minden bitre a lehető legegyszerűbb logikát generálja ld[3] = sw[3]; //1 vált. ld[2] = sw[2] sw[3] & sw[1]; //3 vált. ld[1] = sw[1] sw[3] & sw[2]; //3 vált. ld[0] = sw[0] sw[3] & sw[2] sw[3] & sw[1]; //4 vált. 9

Lab2_1_2 feladat: szimuláció, ellenőrzés Váltsunk át szimulációs módra A szimulációhoz a korábban már használt Lab2_1_TF.v Verilog Test Fixture már készen van, a 4 bites bemenethez 16 kombinációt generál Generáljuk a specifikációhoz tartozó konfigurációt Letöltés után ellenőrizzük a működést 10

A Lab2_2 feladat 4 bites teljes összeadó tervezése A saját tervünket 4 db 1 bites FADD modulból építjük fel Az egybites teljes összeadókat kaszkádosítjuk, ez az aritmetikai egység generál egy sum[3:0] értéket Ellenőrzésül a Verilog beépített + műveletével is generáljuk az összeget ref[3:0] néven Ha bármilyen bemeneti adatok esetén előfordul, hogy sum[3:0] ref[3:0], akkor valószínűleg hibás a tervünk. (Mert feltételezzük, hogy a Verilog HDL összeadás művelete jól számol.) 11

A Lab2_2 feladat Egybites teljes összeadók (FADD) tervezése Az egybites FADD modul funkcionalitása az előadásról és gyakorlatról ismert F1 és F2 függvényekkel adható meg. Tehát az egybites FADD összeg (s), és átvitel (co) logikai függvények felírhatók, a bemeneteket a, b és ci-vel jelölve Többféle megoldás létezik, használjuk a legismertebb formát A 4 bites összeadó a 4 db FADD alábbi soros összekapcsolásával alakítható ki. Az egyes pozíciókba beépített FADD modulok bemenetei az aktuális jeleket kapják meg és generálják a megfelelő kimeneti biteket. a[3] b[3] a[2] b[2] a[1] b[1] a[0] b[0] C[0] a b ci a b ci a b ci a b ci FADD (ADD3) FADD (ADD2) FADD (ADD1) FADD (ADD0) co s co s co s co s C[4] sum[3] C[3] sum[2] 12 C[2] sum[1] C[1] sum[0]

Lab2_2 feladat: projekt létrehozása Új projekt létrehozása Lab2_2 néven Lab2_2.v forrásfájl keret specifikálása Bemenetek: sw[7:0] Kimenetek: ld[7:0], seg_n[7:0], dig_n[3:0], col_n[4:0] Az _n aktív alacsony vezérlést jelent ( 0 aktív) LOGSYS_SP3E.UCF fájl hozzáadása és adaptálása (a fenti jelcsoportok aktiválása a fájlban) A Lab2_2 feladat forráskódjának specifikálása a részfunkciók fokozatos beírásával FADD.v egybites összeadó létrehozása Hierarchikus tervfelépítés kialakítása az FADD modul használatával 13

Lab2_2 feladat:specifiláció Elvégzendő feladatok 1: be és kimeneti jelek Definiálunk 2 db 4 bites előjel nélküli változót a[3:0] és b[3:0] néven, ezek az SW alsó és felső 4-4 bitjét használják Definiálunk 2 db 4 bites eredmény változót sum[3:0] és ref[3:0] néven, ez utóbbi a teszteléshez kell majd A sum és ref értékeket a LED-ekre is kiírjuk, a sum a ld[3:0], a ref a ld[7:4] LED-eken jelenik meg Definiálunk egy h hiba bitet, ez jelzi, ha esetleg sum ref előfordulna valamilyen tesztvektor esetén 14

Lab2_2 feladat: specifikáció Elvégzendő feladatok 2: kijelzés A hiba kijelzés a 7 szegmenses kijelző legkisebb helyiértékű pozícióján egy H karaktert ír ki, ha a h hiba-flag jelezne Ehhez a seg_n[7:0] vonalakra a H karakter szegmenskódját tesszük, negált értelmezéssel A dig_n[3:0] vonalak közül a felső három bit inaktív, a legalsó a h jelet kapja, negált értelmezéssel (bekapcsolja a kijelző digitet, ha hiba van) Gondoskodunk a col_n[4:0] jelek kikapcsolásáról (mindegyiket inaktív, magas értékkel vezéreljük) 15

A Lab2_2 feladat Egybites teljes összeadó (FADD) létrehozása Új Verilog forrás modul, FADD.v definiálása Interfészek: 1 bites a, b, ci bemenetek és s, co kimenetek Az FADD modul funkcionalitása az előadásról és gyakorlatról ismert, az s és a co logikai függvények felírhatók a b ci FADD co s 16

A Lab2_2 feladat lényegi része Az FADD.v egység tesztelése szimulációval A teljes projekten belül most csak az FADD.v modult ellenőrizzük, mert egyszerűbb tesztelni az 1 bites alapegységet, mint a teljes 4 bites blokkot Xilinx ISE átkapcsolása szimulációs módba Új Verilog Test Fixture forrás létrehozása FADD_TF.v néven Az FADD_TF.v társítása az FADD.v tervezési egységhez (azaz nem a Lab2_2.v top level modulhoz) 17

A Lab2_2 feladat lényegi része Az ISE szimulációs módban két független jövőbeni szimulációs feladat látszik Az FADD_TF környezet és benne az FADD.v, mint uut A Lab2_2.v tervezési egység, amihez még nincs létrehozva a Verilog Test Fixture A továbbiakban az FADD_TF.v környezet kialakítására koncentrálunk, a teljes Lab2_2 projekt szimulációjára a már tesztelt FADD.v 4 példányos beépítése után kerül sor 18

A Lab2_2 feladat lényegi része Az FADD_TF kialakítása Az automatikusan generált rész Az általunk beírt tesztvektorok A 3 db 1 bites változó 8 db tesztvektort jelent Minden esetet tesztelünk, teljes, kimerítő tesztelés 19

A Lab2_2 feladat lényegi része A szimuláció indítása Design ablakban FADD_TF kiválasztása Process ablakban Simulate ISim elindul, és megfelelő Zoom után látható az eredmény 8 tesztvektor, 8 eredmény 20

A Lab2_2 feladat lényegi része A hullámforma ablak optimalizálása (popup menü) Definiáljunk New Virtual Bus buszokat Csoportosítsuk vektorba a jeleket Az a, b, ci bemenetekből hozzuk létre a BEMENETEK buszt Az s és co kimenetekből hozzuk létre a KIMENETEK buszt Ez utóbbinál a jelek eltérő súlyúak: 2 1 co + 2 0 s = 2co + s, ezt a busz értékkijelzésénél, ha nem bináris számrendszert használunk, figyelembe kell venni (Reverse Bit Order, ha kell) KIMENETEK értéke = BEMENETEK 1-es bitjeinek száma Az FADD megszámolja a bemeneti 1-es biteket 21

A Lab2_2 terv teljes felépítése Az ellenőrzött FADD.v egybites teljes összeadó használata Könyvtári modulok beépítésének szabálya (lásd TF uut) típusnév példánynév(port-jel társítás lista); FADD.v portjai: a, b és ci bemenetek; s és co kimenetek Kódminta a 4 db FADD példány beépítésére Példánynév bitpozíció szerint (tetszőleges is lehetne) A port-jel társítás formátuma:.port_neve(jel neve), A vektorváltozók bitjei megfelelő sorrendben. 22

Lab2_2 feladat: FADD példányosítás Az ellenőrzött modul beépítése 4 példányban, lineáris kaszkádosítással Az a[3:0], b[3:0] és sum[3:0] jelek használata értelemszerű Az átviteljelek c[4:0] lánca adja a kaszkádosítást, jelterjesztés jobbról balra, a kisebb helyiértéktől a nagyobb felé c[4] ADD3 c[3] ADD2 c[2] ADD1 c[1] ADD0 0 Az első ci konstans 0, az utolsó co nem lesz bekötve sehova 23

Lab2_2 feladat: teljes projekt A 4 FADD modul beépítésével a projekt hierarchia az implementációs nézetben a következő Lab2_2 top module 4 db FADD modul És a LOGSYS_SP3E.UCF fájl Mentés, szintaktikai ellenőrzés, hibák javítása A teljes projekt ellenőrzése szimulációval Kérdés: SUM = REF? (azaz a saját összeadó azonos eredményt ad-e a beépített, hiteles operátorral) 24

A Lab2_2 terv teljes szimulációja Új Verilog Test Fixture létrehozása Lab2_2_TF Ezt most a LAB2_2.v top module -hoz társítjuk Szimulációs módban így a projekt struktúra a következő A Lab2_2_TF alatt az uut a teljes Lab2_2.v tervet magába foglalja Ennek a tervnek a teljes szimulációját érdemes már ciklusban leírni (256 darab tesztvektor) 25

A Lab2_2 terv teljes szimulációja A Lab2_2_TF.v tartalma Általános, automatikus kód Az algoritmikus tesztvektor generálás Futtatásnál Lab2_2_TF kiválasztás és Simulate 26

A Lab2_2 terv teljes szimulációja A szimuláció eredményéhez (256+1)*100ns = 25,6us futásidő szükséges: N * Run 1us A belső részletesebb jeleket is hozzáadva ( szükséges az új jelek értékeinek kijelzéséhez) a, b, sum és ref hexa értékek A carry lánc bináris kijelzésű h = 0 mutatja, hogy nincs hiba 27 Restart

Lab2_2 feladat: hibainjektálás Beépítettünk egy HIBÁT (véletlenül ) ADD2.ci bemenet c[1] lett c[2] helyett Láthatóan általában a LED-eken sum = ref De ahol a dig_n[0] = h jel aktív, ott valóban sum ref 28

Lab2_2 feladat: ellenőrzés Generáljuk a specifikációhoz tartozó konfigurációs adatfájlt Letöltés után ellenőrizzük a működést 29