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 1 Fehér Béla Raikovich Tamás, Fejér Attila BME MIT BME-MIT Digit labor 1., 2014.08.08. (v1.0)
FPGA labor
Lab1_1 feladat: HW „Hello World!”
FPGA logika
8 db LED vezérlése a 8 bites DIP kapcsolóval a LOGSYS Spartan-3E FPGA kártyán • DIP kapcsoló → FPGA: kék huzalozás • FPGA → LED: piros huzalozás
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
1
FPGA labor
Lab1_1 feladat: HW „Hello World!” • Az elvi kapcsolási rajz a szükséges paraméterekkel, csak érdeklődőknek !
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
2
FPGA labor
Lab1_1 feladat: projekt létrehozása Részletesen a „Xilinx ISE 14.6 használata” diasorozatban • ISE elindítása, projekt létrehozása • Lab1_1.v forrásfájl mintakeret specifikálása • LOGSYS_SP3E.UCF fájl hozzáadása és adaptálása a kívánt interfészekhez • A Lab1_1a feladat 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és, működés tesztelése a kártyán BME-MIT Digit labor 1., 2014.08.08. (v1.0)
3
FPGA labor
Lab1_1a feladat Egyszerű jelátvezetés a kapcsolókról a LED-ekre • Kezelhető vektorosan vagy egyedi bitenként • LD[i] = SW[i] esetén a vektoros egyszerűbb • Más leképezéseknél (pl. i ≠ j esetén) többet kell gépelni
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
4
FPGA labor
Lab1_1a feladat Egyszerű jelátvezetés a kapcsolókról a LED-ekre • Ez egy folytonos vezérlés SW → LED bitjei között • Egy egyszerűsített modellje a HW működésének
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
5
FPGA labor
Lab1_1a feladat • Ellenőrzés interaktív szimulációval egy-két értékre • 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 tapasztalatokat jegyezzük fel a Laboratórium 1. hét eredmények kérdőíven
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
6
FPGA labor
Lab1_1b feladat Kettes komplemens képzés SW → LED között • A Lab1_1a feladat egyetlen aktív kódsorát hatástalanítva (komment) a Lab1_1 modulban elkészítjük a Lab1_1b feladatot is • Aritmetikai és bitművelet az SW vektorváltozón
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
7
FPGA labor
Lab1_1b feladat Kettes komplemens képzés SW → LED között • Az SW bitjeinek egyedi invertálása • Az „1” hozzáadása 8 bites értékként (0000_0001) • Aritmetikai és bitművelet az SW vektorváltozón
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
8
FPGA labor
Lab1_1b feladat • Ellenőrzés szimulációval egy-két értékre • 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 1. hét eredmények kérdőíven válaszoljuk meg a Lab1_1b feladathoz tartozó kérdéseket
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
9
FPGA labor
Lab1_1c feladat Aritmetikai műveletek vizsgálata • Továbbra is a Lab1_1 modult szerkesztjük • Definiáljunk 2 db 4 bites belső változót (a[3:0] és b[3:0]) előjel nélküli vagy előjeles formátummal • A 8 bites SW jelből résztartomány kijelöléssel származtatjuk a két 4 bites forrásoperandust
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
10
FPGA labor
Lab1_1c feladat Aritmetikai műveletek vizsgálata • Egyszerre egy típus és egy művelet lehet aktív
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
11
FPGA labor
Lab1_1c feladat A feladat jellemzői • A bemeneti értéktartományok előjeles és előjel nélküli esetben természetesen eltérőek • Az eredmény minden esetben 8 biten áll elő és általában megőrzi a forrásoperandusok típusát • A kivonásnál az eredmény kettes komplemens lesz
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
12
FPGA labor
Lab1_1c feladat • Ellenőrzés szimulációval egy bemeneti típusra és egy kiválasztott műveletre, néhány értékkel • 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 1. hét eredmények kérdőíven válaszoljuk meg a Lab1_1c feladathoz tartozó kérdéseket
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
13
FPGA labor
Lab1_2 feladat – Csak érdeklődőknek! Ebben a feladatban a hétszegmenses kijelző működését vizsgáljuk, 7 kapcsolóval tetszőleges szegmensképeket generálunk • A 4 digitből egyszerre csak egy aktív: az, amelyikhez tartozó nyomógombot megnyomjuk • A kijelzési képet (szegmens kódot) a kapcsolókon állítjuk be
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
14
FPGA labor
Lab1_2 feladat: projekt létrehozása A „Xilinx ISE 14.6 használata” diasorozatban bemutatott sorrend alapján • (ISE elindítása), a Lab1_2 új projekt létrehozása • Lab1_2.v forrásfájl keret specifikálása – Bemenetek: sw[7:0], bt[3:0] – 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 Lab1_2 feladathoz szükséges forráskód specifikálása • Szimuláció nem kell (mert nem sokat mond) • Konfiguráció generálás, letöltés, működés tesztelése BME-MIT Digit labor 1., 2014.08.08. (v1.0)
15
FPGA labor
Lab1_2 feladat: ellenőrzés • Letöltés után ellenőrizzük a működést • A Lab1_2 feladathoz tartozó kérdéseket válaszoljuk meg a Laboratórium 1. hét eredmények kérdőíven – Állítsuk elő az aktuális évszám (2015) megadásához szükséges digitek szegmenskódjait – Állítsuk elő az FPGA karakterek szegmenskódjait – Állítsuk elő a 26°C kijelzési kép szegmenskódjait – Tetszőleges kijelzőkép beállítása
BME-MIT Digit labor 1., 2014.08.08. (v1.0)
16
FPGA labor