Digitális Technika Dr. Oniga István Debreceni Egyetem, Informatikai Kar
2. Laboratóriumi gyakorlat gyakorlat célja: oolean algebra - sszociativitás tétel - Disztributivitás tétel - bszorpciós tétel - De Morgan tételek Négy változós ND, OR, XOR és NOR függvények realizálása Szimulátor használata ciklussal generált tesztvektorokkal
Lab2_1a feladat: 3 változós logikai függvények tesztelése - sszociativitás tétel - Hozunk létre egy új projektet djunk hozzá egy új "schematic forrásfájlt Rajzoljuk le az ábrán látható áramköröket. NexysX.UCF fájl hozzáadása és adaptálása emenetek: sw[2:0] sw0 -> ; sw1 -> ; sw2->c Kimenetek: led[3:0] C C C +C ( C) = ( ) C (C) C +( +C)= (+ )+C +(+C) Konfiguráció generálás, letöltés, működés tesztelése tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven C + ()C (+)+C
Lab2_1a Eredmények sw0, sw1 és sw2 kapcsolókkal alítsa elő a 8 lehetséges bemeneti kombinációt és írja be a led-ek megfelelő állapotait sw0 sw1 sw2 led1 (C) led2 ()C led3 +(+C) led4 (+)+C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Lab2_1b feladat: 3 változós logikai függvények tesztelése Hozunk létre egy új projektet djunk hozzá egy új "schematic forrásfájlt Rajzoljuk le az ábrán látható áramköröket. NexysX.UCF fájl hozzáadása és adaptálása emenetek: sw[2:0] sw0 -> ; sw1 -> ; sw2->c Kimenetek: led[3:0] - Disztributivitás tétel - C +C C C (+C)= + C + (+C) Konfiguráció generálás, letöltés, működés tesztelése tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven +C C C C = (+ ) (+C) C + +C +C (+)(+C)
Lab2_1b Eredmények sw0, sw1 és sw2 kapcsolókkal alítsa elő a 8 lehetséges bemeneti kombinációt és írja be a led-ek megfelelő állapotait sw0 sw1 sw2 led1 (+C) led2 +C led3 +C led4 (+)+(+C) 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Lab2_1c feladat: 3 változós logikai függvények tesztelése - bszorpciós tétel - Hozunk létre egy új projektet djunk hozzá egy új "schematic forrásfájlt Rajzoljuk le az ábrán látható 2 áramkört. NexysX.UCF fájl hozzáadása és adaptálása emenetek: sw[1:0] sw0 -> ; sw1 -> Kimenetek: led[1:0] =1 =1 1 =1 =1 (+ )= Y=1= + = Konfiguráció generálás, letöltés, működés tesztelése tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven Y=1= =0 =0 =0 =0 0 Y=0= Y=0=
Lab2_1c Eredmények sw0 és sw1 kapcsolókkal alítsa elő a 4 lehetséges bemeneti kombinációt és írja be a led-ek megfelelő állapotait sw0 sw1 led1 (+) 0 0 0 1 1 0 1 1 led2 +
Lab2_2a feladat: De Morgan tételei tesztelése - 2 változóra = + + = Hozunk létre egy új projektet djunk hozzá egy új "schematic forrásfájlt Rajzoljuk le az ábrán látható áramköröket. NexysX.UCF fájl hozzáadása és adaptálása emenetek: sw[1:0] sw0 -> ; sw1 -> ; sw2->c Kimenetek: led[3:0] sw0 sw1 + led2 led0 + led1 led3 Konfiguráció generálás, letöltés, működés tesztelése tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven
Lab2_2a Eredmények sw0 és sw1 kapcsolókkal alítsa elő a 4 lehetséges bemeneti kombinációt és írja be a led-ek megfelelő állapotait sw0 sw1 led1 /() led2 /+/ led3 /(+) led4 /*/ 0 0 0 1 1 0 0 1
Lab2_2b feladat: De Morgan tételei tesztelése - 3 változóra C = + + C sw0 sw1 sw2 + + C = C 0 0 0 Hozunk létre egy új projektet djunk hozzá egy új 0 0 1 "schematic forrásfájlt 0 1 0 Rajzoljuk le az áramköröket. 0 1 1 NexysX.UCF fájl hozzáadása és adaptálása 1 0 0 emenetek: sw[2:0] 1 0 1 sw0 -> ; sw1 -> ; sw2 -> C Kimenetek: led[3:0] 1 1 0 1 1 1 led1 /(C) led2 /+/+/C led3 /(++C) led4 /*/*/C Konfiguráció generálás, letöltés, működés tesztelése sw0, sw1 és sw2 kapcsolókkal alítsa elő a 8 lehetséges bemeneti kombinációt és írja be a ledek megfelelő állapotait tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven
Lab2_2c (szorgalmi feladat): De Morgan tételei általánosítása X = + C + C = C C sw0 sw1 sw2 led1 X1 led2 X2 led3 Y1 led4 Y2 Y = ( + C) ( C + C ) = + C + C + C 0 0 0 Hozunk létre egy új projektet djunk hozzá egy új "schematic forrásfájlt Rajzoljuk le az ábrán látható áramköröket. NexysX.UCF fájl hozzáadása és adaptálása emenetek: sw[2:0] sw0 -> ; sw1 -> ; sw2 -> C Kimenetek: led[3:0] 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Konfiguráció generálás, letöltés, működés tesztelése sw0, sw1 és sw2 kapcsolókkal alítsa elő a 8 lehetséges bemeneti kombinációt és írja be a ledek megfelelő állapotait tapasztalatokat jegyezzük fel a Laboratórium 2. eredmények kérdőíven
Lab2_3a feladat: z ND, OR, XOR és NOR függvények realizálása emeneti változók: DIP kapcsoló alsó 4 bitje Kimenet: alsó 4 LED Szimulátor használata a tesztvektorokat ciklussal generálva Előző heti munka alapján a DTL_1.pdf diasorozatban ismertetett módon ISE elindítása, új projekt létrehozása Lab2_3a.v forrásfájl mintakeret specifikálása Nexys4.UCF fájl másolatának hozzáadása és adaptálása a kívánt interfészekhez Lab2_3a 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
Lab2_3a 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.) technológiai nézetben a LUT-ra: SCH+EQ+TT+KM
Lab2_3a feladat: szimuláció Átkapcsolás szimulációs módba z tesztelési környezet létrehozása az egységet működtető gerjesztő jelek megadásával történik Első lépésként adjunk hozzá a projekt-hez egy új forrást: Project / New Source ablakban - Verilog Test Fixture opció. fájl neve legyen : Lab2_3_TF! Ki válasszuk azt a modult, amelyhez a testbench-et generáljuk jelen esetben egyetlen modulunk van. Lab2_3a (Lab2_3a.v ) Lab2_3_TF
Lab2_3a feladat: szimuláció
Tesztvektorok generálása z automatikusan generált Verilog Test Fixture fájlt módosítjuk Négyváltozós függvények Tesztvektorok generálása lineáris kóddal Max. 16 kombináció Teljes lefedést ad Tesztvektorok generálása for ciklusban
Szimuláció elindítása Project Navigator program View opciói közül válassza ki a Simulation-t, majd a Hierarchy ablakban jelölje ki a testbench fájlt (Lab2_3_TF). Processes ablakban indítsa el az ISim Simulator /Simulate ehavioral Model programot. Szimulációhoz a Hierarchy ablakban a testbench file-t kell kiválasztani!!
Lab2_3a feladat: ellenőrzés szimuláció eredménye LD[0] ÉS, LD[1] VGY, 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 Laboratórium 2. eredmények kérdőíven jegyezzük fel a tapasztalatokat
Lab2_3b feladat (Szorgalmi feladat) Érvénytelen CD kód detektálása Ha SW[3:0] nem CD, akkor mind a 4 LED világít, egyébként az érvényes bemeneti kód jelenjen meg 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
Lab2_3b feladat (Szorgalmi feladat) Felírhatjuk egyszerűbb formában is Vagy aritmetikai feltételként ármelyiket is választjuk, a teljes megoldás ilyen lesz
Lab2_3b feladat (Szorgalmi feladat) legtömörebb felírási mód Itt az error jel meg sem jelenik explicit módon 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
Lab2_3b feladat: szimuláció, ellenőrzés Váltsunk át szimulációs módra szimulációhoz a korábban már használt Lab2_3_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 Laboratórium 2. eredmények kérdőíven jegyezzük fel a tapasztalatokat
Lab2_3c feladat (Szorgalmi 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
Lab2_3c feladat (Szorgalmi feladat) komplexitás ijesztőnek látszik View RTL Schematic 8 db ND4, 1 db OR8 View Technology Schematic 1 db LUT????????? laposabban megvizsgálva észrevehetünk valamit
Lab2_3c feladat: szimuláció, ellenőrzés Váltsunk át szimulációs módra szimulációhoz a korábban már használt Lab2_1_TF.v Verilog Test Fixture már készen van négyfajta leírás a 4 LED-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 Laboratórium 2. eredmények kérdőíven jegyezzük fel a tapasztalatokat