3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA Az FPGA tervezésben való jártasság megszerzésének célszerű módja, hogy gyári fejlesztőlapot alkalmazzunk. Ezek kiválóan alkalmasak tanulásra, de egyes ipari tervezésekhez is felhasználhatók. 1
A Digilent cég által gyártott BASYS2 elnevezésű fejlesztői lap fényképét az alábbi ábrán láthatjuk. 2
A lap tömbvázlatát az alábbi ábrán láthatjuk. 3
3.1. AZ ALKALMAZOTT FPGA PARAMÉTEREI A BASYS2 lapra épített FPGA eszköz Xilinx gyártmányú, típusjelzése Spartan3E-100 CP132. Az eszköz 100.000 logikai kaput tartalmaz, a CLB-k száma 240, 72 kbit blokk RAM-ot tartalmaz, a hardveres szorzók száma 4. Ezek a paraméterek ma alsó kategóriának felelnek meg. A tokozás BGA típusú, összesen 132 kivezetés van, ebből 108 használható bemenetként illetve kimenetként. 4
A lábkiosztást az alábbi ábrán láthatjuk. 5
3.2. A TÁPLÁLÁS A BASYS2 lap fejlesztés közben az USB kábelen keresztül kap táplálást. Kiképeztek egy külön csatlakozót is a fejlesztői rendszertől független táplálásra (J5), ide 3,5...4,5 V feszültséget kell hozni. A kívülről érkező táplálást egy LTC3545 típusú integrált szabályzó fogadja, ez alakítja ki az FPGA és a külső alkatrészek táplálásához szükséges 3,3 V, 2,5 V és 1,2 V tápfeszültségeket. 6
3.3. AZ USB2 PORT Az FPGA eszközök programozása peremfigyeléses (boundary scan) módszerrel történik. Alapesetben ez JTAG konnektort feltételez a fejlesztőlapon. A BASYS2 lapnál a fejlesztő számítógéppel a kapcsolattartás USB protokoll szerint történik. Az USB kommunikációt egy Atmel gyártmányú mikrovezérlő (AT90USB2) végzi, ez hozza létre a peremfigyeléses programozáshoz szükséges jeleket is. 7
3.4. A FLASH MEMÓRIA A fejlesztés során a konfigurációs bit fájlt közvetlenül az FPGA eszközbe kell betölteni, a betöltés után az eszköz programozott állapotban van, készen áll a feladatok elvégzésére. A tápfeszültség esetleges megszűnésekor az FPGA-ba betöltött program törlődik. 8
Az FPGA normális használatához (fejlesztés után) a konfigurációs fájlt egy olyan memória áramkörbe kell tárolni, amely nem veszti el a tartalmat tápfeszültség hiányában (nonvolatile memory), innen kell minden induláskor az FPGAba tölteni a programot. A BASYS2 lapon egy flash EPROM (XCF02 platform flash) látja el ezt a feladatot. 9
A konfigurálásban résztvevő elemek kapcsolatát az ábra szemlélteti. 10
3.5. A KÜLSŐ ÓRAJEL FORRÁS Az FPGA eszközök egy vagy több órajelet kívánnak a belső működés szinkronizálására, de rendszerint nem tartalmaznak belső órajel forrást. A BASYS2 lapon az alap órajelet egy külső, integrált áramkör (LTC6905 típus) formájában megépített oszcillátor biztosítja. Egy tüskesor érintkezőinek rövidre zárásával az órajel frekvenciáját 25 MHz-re, 50 MHz-re vagy 100 MHz-re állíthatjuk. 11
Az alap órajel forrás frekvenciája nem túl stabil, ezért az ábrán IC6-tal jelölt helyre szerelhető egy kristály oszcillátor. 12
3.6. AZ I/O VONALAK A BASYS2 fejlesztőlapon számos digitális bemeneti és kimeneti vonalat hoztak létre a szerteágazó alkalmazások érdekében. A bemenetek egy része nyomógombokhoz csatlakozik (BTN0...BTN3), másik részük váltókapcsolókhoz (SW0...SW7). 13
A kimenetek egyik csoportja nyolc LED-et vezérel, a másik csoport egy négy számjegyből álló hétszegmenses kijelzőt. A kijelző vezérlése idő multiplexben történik: úgy kell konfigurálni az FPGA-t, hogy periódikusan kapcsolja az egyes számjegyeket. 14
A 15
3.7. PS2 PORT A hat kivezetéses mini DIN konnektor egér vagy billentyűzet csatlakoztatását teszi lehetővé. Ezek az eszközök két vezetéken (órajel és adat) keresztül kommunikálnak az FPGA-val (ábra). A port kezeléséhez az FPGA-ban megfelelő kommunikációs modult kell létrehozni. 16
A 17
3.8. VGA PORT A tizenöt kivezetéses video konnektoron (ábra) keresztül az FPGA monitort tud vezérelni. Az RGB színjelek mellett generálni kell a sor- és kép szinkronizációt végző jeleket. A vörös jelet három digitális kimenettel nyolc analóg értékre tudjuk állítani, hasonlóan a zöld jelet, a kék jelnél két kimenet mindössze négy analóg értéket hoz létre, tekintettel arra, hogy az emberi szem kevésbé érzékeny a kék színre. 18
A 19