Digitális technika (VIMIAA01) Laboratórium 2

Hasonló dokumentumok
Digitális technika (VIMIAA01) Laboratórium 2

Digitális technika (VIMIAA02) 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

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA01) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika Xilinx ISE GUI használata

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

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 3 A modul ellenőrzése szimulációval. Dr. Oniga István

DIGITÁLIS TECHNIKA (VIMIAA02)

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)

Nyolcbites számláló mintaprojekt

Digitális technika (VIMIAA01) Laboratórium 1

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

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

DIGITÁLIS TECHNIKA I

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

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

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

Hardver leíró nyelvek (HDL)

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

Digitális technika VIMIAA01

Digitális technika (VIMIAA01) Laboratórium 9

Digitális technika VIMIAA02

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

Digitális elektronika gyakorlat

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

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

Digitális technika VIMIAA01

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

DIGITÁLIS TECHNIKA I

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

Digitális technika VIMIAA01

Programozási segédlet DS89C450 Fejlesztőpanelhez

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 technika Laboratórium 6.

Dr. Oniga István DIGITÁLIS TECHNIKA 4

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

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

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

Digitális technika VIMIAA01

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

Digitális technika VIMIAA01

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

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

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

Digitális elektronika gyakorlat

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

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

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 MSP430 mikrovezérlők digitális I/O programozása

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

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 VIMIAA02

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

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.

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

Digitális technika VIMIAA02 1. EA

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

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

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

8.3. AZ ASIC TESZTELÉSE

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

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

2008. október 9. Verzió

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

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

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

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

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

Bev Be e v z e e z t e ő t az ISE re r nds nds e z r e használatához

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

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

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

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

Modell alapú tesztelés mobil környezetben

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

A ChipScope logikai analizátor

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

Labor 2 Mikrovezérlők

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

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

Digitális technika VIMIAA01 5. hét

Digitális jelfeldolgozás

Á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 (VIMIAA01) Laboratórium 2 Fehér Béla Raikovich Tamás, Fejér Attila Digit labor 2., 2014.08.11. (v1.0) 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 Oszthatóság ellenőrzése 3 ra vagy 5 re 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 kijelzőre Digit labor 2., 2014.08.11. (v1.0) 1

Lab2_1a 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 Függvényreprezentációk elemzése az ISE szintézer technológiai szintű kapcsolási rajza alapján Szimulátor használata a tesztvektorokat ciklussal generálva Digit labor 2., 2014.08.11. (v1.0) 2 Lab2_1a feladat: projekt létrehozása Előző heti munka alapján a Xilinx ISE 14.6 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 A Lab2_1a 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 Digit labor 2., 2014.08.11. (v1.0) 3

Lab2_1a feladat Egybites változókként használva a bemeneti jeleket Ugyanez redukciós operátorokkal vektorváltozóra Nézzük meg a grafikus kapcsolásokat is (RTL + Tech.) A technológiai nézetben a LUT ra: SCH+EQ+TT+KM Digit labor 2., 2014.08.11. (v1.0) 4 Lab2_1a 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 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 Digit labor 2., 2014.08.11. (v1.0) 5

Lab2_1a 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 A Laboratórium 2. hét eredmények kérdőíven jegyezzük fel a tapasztalatokat Digit labor 2., 2014.08.11. (v1.0) 6 Lab2_1b 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 Digit labor 2., 2014.08.11. (v1.0) 7

Lab2_1b feladat Felírhatjuk egyszerűbb formában is Vagy aritmetikai feltételként Bármelyiket is választjuk, a teljes megoldás ilyen lesz Digit labor 2., 2014.08.11. (v1.0) 8 A legtömörebb felírási mód Lab2_1b feladat 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. Nézzük meg View Technology Schematic Digit labor 2., 2014.08.11. (v1.0) 9

Lab2_1b 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 A Laboratórium 2. hét eredmények kérdőíven jegyezzük fel a tapasztalatokat Digit labor 2., 2014.08.11. (v1.0) 10 Lab2_1c feladat 4 bites érték 3 mal vagy öttel oszthatóságának jelzése Ez sajnos semmilyen módon nem egyszerűsíthető, nincsenek összevonható mintermek Esetleg felírhatjuk aritmetikai formában, de így sem tűnik egyszerűbbnek Digit labor 2., 2014.08.11. (v1.0) 11

Lab2_1c feladat A komplexitás ijesztőnek látszik ViewRTL Schematic 8 db AND4, 1 db OR8 View Technology Schematic 1 db LUT????????? Alaposabban megvizsgálva észrevehetünk valamit Digit labor 2., 2014.08.11. (v1.0) 12 Lab2_1c 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 Anégyfajtaleírása4LED en azonosan működik Generáljuk a specifikációhoz tartozó konfigurációt Letöltés után ellenőrizzük a működést A Laboratórium 2. hét eredmények kérdőíven jegyezzük fel a tapasztalatokat Digit labor 2., 2014.08.11. (v1.0) 13

Lab2_2 feladat Csak érdeklődőknek! 4 bites összeadó 4 db 1 bites FADD modulból Elvégzendő feladatok 1: adatfolyam elemek 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 4bitjét reprezentá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 Asum és ref értékeket a LED ekre is kiírjuk (4 4bit) Definiálunk egy h hiba bitet, ez jelzi, ha esetleg sum ref előfordulna valamilyen tesztvektor esetén Digit labor 2., 2014.08.11. (v1.0) 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 Adig_n[3:0] vonalak közül a felső három bit inaktív, alegalsóa h jelet kapja (bekapcsolja a kijelző digitet, ha hiba van) Gondoskodunk a col_n[4:0] jelek kikapcsolásáról Digit labor 2., 2014.08.11. (v1.0) 15

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 Digit labor 2., 2014.08.11. (v1.0) 16 A Lab2_2 feladat lényegi része 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 ismert, az s és a co logikai függvények felírhatók Többféle megoldás létezik, használjuk a legismertebb formát 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] C[2] sum[1] C[1] sum[0] Digit labor 2., 2014.08.11. (v1.0) 17

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) Digit labor 2., 2014.08.11. (v1.0) 18 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 Digit labor 2., 2014.08.11. (v1.0) 19

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 Digit labor 2., 2014.08.11. (v1.0) 20 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 Digit labor 2., 2014.08.11. (v1.0) 21

A Lab2_2 feladat lényegi része A hullámforma ablak optimalizálása (popupmenü) 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,eztabusz é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 Digit labor 2., 2014.08.11. (v1.0) 22 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. Digit labor 2., 2014.08.11. (v1.0) 23

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 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 Digit labor 2., 2014.08.11. (v1.0) 24 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) Digit labor 2., 2014.08.11. (v1.0) 25

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 ateljes 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) Digit labor 2., 2014.08.11. (v1.0) 26 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 Digit labor 2., 2014.08.11. (v1.0) 27

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 Digit labor 2., 2014.08.11. (v1.0) 28 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 Digit labor 2., 2014.08.11. (v1.0) 29

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 A Laboratórium 2. hét eredmények kérdőíven válaszoljuk meg a Lab2_2 feladathoz tartozó kérdéseket Digit labor 2., 2014.08.11. (v1.0) 30