Bevezetés a Xilinx PLD-k és az ISE WebPACK alkalmazásába



Hasonló dokumentumok
Joint Test Action Group (JTAG)

DIGITÁLIS TECHNIKA. Szabó Tamás Dr. Lovassy Rita - Tompos Péter. Óbudai Egyetem Kandó Kálmán Villamosmérnöki Kar LABÓRATÓRIUMI ÚTMUTATÓ

FPGA áramkörök alkalmazásainak vizsgálata

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

Rendszertervezés FPGA eszközökkel

Programozható logikai vezérlõk

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

Boundary Scan. Új digitális áramkör-vizsgálati módszer alkalmazásának indokoltsága

Közlekedés gépjárművek elektronikája, diagnosztikája. Mikroprocesszoros technika. Memóriák, címek, alapáramkörök. A programozás alapjai

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

Hardware minőségellenőrzése az elektronikai gyártási folyamat során Ondrésik Tamás, O0QUL3

PROGRAMOZHATÓ LOGIKAI VEZÉRLİK

Digitális kártyák vizsgálata TESTOMAT-C" mérőautomatán

K_EITS8, Multichannel Impedance Meter K_EITS8, nyolc csatornás elektromos impedancia mérő berendezés

komplex védelem Letöltő szoftver ismertető V1.61 Azonosító: EP Budapest, február

A Xilinx FPGA-k. A programozható logikákr. Az FPGA fejlesztés s menete. BMF KVK MAI, Molnár Zsolt, 2008.

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

PROGRAMOZHATÓ LOGIKAI ESZKÖZÖK. Elıadó: Dr. Oniga István Egytemi docens

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

1. AZ IRÁNYÍTÓRENDSZEREK FEJLŐDÉSE

GSM Gate Control Pro 20 GSM Gate Control Pro 1000

Fordulatszámmérő és szabályozó áramkör tervezése egyenáramú kefés motorhoz

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE

MÉRÉS ÉS TESZTELÉS COBRA CONTROL. NATIONAL INSTRUMENTS Alliance Partner. GÖPEL ELECTRONIC és. DIGITALTEST disztribútor

A mikroszámítógép felépítése.

[cimke:] [feltétel] utasítás paraméterek [; megjegyzés]

Digitális bemenetek: 2 darab 0-5V jelszintű digitális bemenet Pl. nyitásérzékelők, risztóközpontok, mozgásérzékelők, átjelzők, stb.

ICN 2005 ConferControl

Előadó: Nagy István (A65)

AUDIO ENGINEERING SOCIETY

2. Digitális hálózatok...60

Using_CW_Net.doc Felhasználói útmutató

Vezeték nélküli, elosztott rendszerű jelzőlámpás forgalomirányítás

CAN BUSZ ÁLTALÁNOS ISMERTETŐ

SL7000. Intelligens kereskedelmi és ipari fogyasztásmérő

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

IDAXA-PiroSTOP HI1 Hurokkezelő 1 intelligens hurokhoz 2004/0177/063 Terméklap

MICROCHIP PIC DEMO PANEL

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

Magyar. APC Smart-UPS SC. 1000/1500 VA 110/120/230 Vac. Toronykivitelű vagy 2U magas, RACK-be szerelhető szünetmentes tápegységhez

DUALCOM SIA IP TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. V és újabb modulverziókhoz. Dokumentum verzió:

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

ProCOM GPRS ADAPTER TELEPÍTÉSI ÉS ALKALMAZÁSI ÚTMUTATÓ. v1.0 és újabb modul verziókhoz Rev

Méréstechnika. 3. Mérőműszerek csoportosítása, Elektromechanikus műszerek általános felépítése, jellemzőik.

EUROFLEX-33 ESEMÉNY NYOMTATÓ. -felhasználói és telepítői leírás-

FELHASZNÁLÓI ÚTMUTATÓ

TMS370 EEPROM PROGRAMOZÓ Felhasználói kézikönyv

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

DGSZV-EP DIGITÁLIS GALVANIKUS SZAKASZVÉDELEM. Alkalmazási terület

PROGRAMOZÓI KÉZIKÖNYV

ProMark 3RTK. Nagy precizitás magas költségek nélkül

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

Lemezkezelés, állományrendszerek

Programmable Chip. System on a Chip. Lazányi János. Tartalom. A hagyományos technológia SoC / PSoC SoPC Fejlesztés menete Mi van az FPGA-ban?

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

Hálózatkezelés: Távoli elérés szolgáltatások - PPP kapcsolatok

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

Access 2010 Űrlapok és adatelérés

A hierarchikus adatbázis struktúra jellemzői

Jelfeldolgozó processzorok (DSP) Rekonfigurálható eszközök (FPGA)

1 Rendszer alapok. 1.1 Alapfogalmak

Nagy adattömbökkel végzett FORRÓ TI BOR tudományos számítások lehetőségei. kisszámítógépes rendszerekben. Kutató Intézet

Mielıtt használná termékünket Az eltérı környezeti körülmény elektromos áramütést, tüzet, hibás mőködést vagy. okozhat.

Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.

2016/06/23 07:47 1/13 Kérdések

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

Kapuáramkörök működése, felépítése, gyártása

Máté: Számítógép architektúrák

Bosch Recording Station. Telepítési kézikönyv

LPT illesztőkártya. Beüzemelési útmutató

DIGITÁLIS KÖZPONT SZIMULÁCIÓJA

Kapcsolás. Áramkörkapcsolás, virtuális áramkörkapcsolás, hullámhosszkapcsolás,

A PC vagyis a személyi számítógép. XV. rész. 1. ábra. A billentyűzet és funkcionális csoportjai

Végh János Bevezetés a Verilog hardver leíró nyelvbe INCK??? előadási segédlet

hp pro webkamera felhasználói útmutató

Tájékoztató. Használható segédeszköz: -

IDAXA-PiroSTOP JFE RS485 intelligens repeater 2004/0177/0113 Terméklap

A Picoblaze Core implementálása FPGA-ba

BioEntry TM Telepítési Útmutató

Elektronikai technikus Elektronikai technikus

SATEL. CA-64 RIASZTÓKÖZPONT ( es szoftver verzió) Telepítési útmutató

HOLDPEAK 856A SZÉLSEBESSÉG MÉRŐ

Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.

Meghajtók Felhasználói útmutató

8.1 Az UPS bekapcsolása A bekapcsolás sorrendje Akkumulátorról indítás... 18

Számítógépek. 2.a) Ismertesse a kombinációs hálózatok alapelemeit és a funkcionálisan teljes rendszer

FPGA alapú robotkarvezérlés megvalósítása

Trajexia hajtásszabályozó

TVR 40 Rövid áttekintés

Realtek HD Audio Manager Felhasználói útmutató a Vista operációs rendszerhez

Meghajtók Felhasználói útmutató

Digitális rendszerek. I. rész. Dr. Turóczi Antal

Tartalomjegyzék. 1. Alapfogalmak Az A/D (analóg-digitális) átalakítás...4

Új módszerek egyfázisú aszinkron motorok jelfeldolgozó kontrolleres vezérléséhez

ACE6000. Intelligens kereskedelmi és ipari fogyasztásmérő

Számítógép kártevők. Számítógép vírusok (szűkebb értelemben) Nem rezidens vírusok. Informatika alapjai-13 Számítógép kártevők 1/6

Hobbi Elektronika. A digitális elektronika alapjai: Újrakonfigurálható logikai eszközök

Felhasználói leírás v1.0

Átírás:

Bevezetés a Xilinx PLD-k és az ISE WebPACK alkalmazásába 4. kiadás (WebPACK 5.1i) Készítette: Farkas Szabolcs E-mail: szfarkas@chipcad.hu 2003. ChipCAD Elektronikai Disztribúció Kft. 1046 Budapest, Kiss Ern u. 3. Tel: 231 7000 Fax: 231 7011 www.chipcad.hu

Tartalomjegyzék Bevezetés...4 1 A programozható logikai eszközök ismertetése...5 1.1 Az ASIC áramkörök...5 1.2 Xilinx PLD-k csoportosítása...6 1.2.1 Xilinx CPLD-k...7 1.2.2 Xilinx FPGA-k...10 2 Az XPLA3 fejleszt Kit...15 2.1 Az XPLA3 fejleszt csomag...15 2.2 A CoolRunner XPLA3 CPLD család...17 2.2.1 Az XPLA3 architektúrája...18 2.2.2 Az XPLA3 Funkció Blokkja (FB)...19 2.2.3 Az XPLA3 Makrocellája (MC)...20 2.2.4 Az XPLA3 I/O cellája...21 2.3 Xilinx letölt kábel...22 3 Az ISE WebPACK fejleszt környezet gyakorlati bemutatása...23 3.1 WebPACK letöltése, telepítése és indítása...24 3.1.1 Letöltés...24 3.1.2 Telepítés...25 3.1.3 A ModelSim szimulátor üzembe helyezése...25 3.1.4 WebPACK indítása...27 3.2 Gyakorlati mintaáramkör tervezése WebPACK-el...27 3.2.1 Project Navigator, a WebPACK keretprogramja...27 3.2.1.1 Project Navigator - File menü...30 3.2.1.2 Project Navigator - Edit menü...31 3.2.1.3 Project Navigator - View menü...31 3.2.1.4 Project Navigator - Project menü...32 3.2.1.5 Project Navigator - Source menü...32 3.2.1.6 Project Navigator - Process menü...33 3.2.1.7 Project Navigator - Window menü...33 3.2.1.8 Project Navigator - Help menü...33 3.2.2 Megvalósítandó feladat leírása...34 3.2.3 A XPLA3_Bemutato projekt magas szint forráskódja...35 3.2.4 A tervezés fázisai...36 3.2.5 Új projekt készítése...38 3.2.6 Xilinx ECS, a WebPACK grafikus forrás szerkeszt je...39 3.2.6.1 Xilinx ECS - File menü...40 3.2.6.2 Xilinx ECS - Edit menü...41 3.2.6.3 Xilinx ECS - View menü...42 3.2.6.4 Xilinx ECS - Add menü...42 3.2.6.5 Xilinx ECS - Tools menü...43 3.2.6.6 Xilinx ECS - Window menü...43 3.2.6.7 Xilinx ECS - Help menü...44 3.2.6.8 Xilinx ECS - contr.sch blokk...44 3.2.6.9 Xilinx ECS - disp_sel.sch blokk...45 3.2.6.10 Xilinx ECS - enable.sch blokk...46 3.2.6.11 Xilinx ECS - lcd_drv.sch blokk...47 3.2.7 VHDL editor, a WebPACK szöveges forrás szerkeszt je...48 3.2.7.1 HDL editor - hex2led.vhd blokk...50 2

3.2.8 StateCAD(r), a WebPACK állapotgép szerkeszt je...51 3.2.8.1 StateCAD - cl8c.dia (cl8c.vhd) blokk...52 3.2.9 A teljes logikai hálózat összeállítása ECS-ben...54 3.3 További WebPACK funkciók és szolgáltatások...56 3.3.1 A projekt logikai szimulációja...56 3.3.2 A CPLD láb-kiosztásának meghatározása, Constraints fájl létrehozása...57 3.3.3 A projekt szintézise és implementálása...58 3.3.4 Betekintés az eszköz belsejébe a ChipViewer program által...58 3.3.5 Eszköz fogyasztásának analizálása XPower-el...59 3.3.6 Id zítések vizsgálata Timing Analyzer segítségével...59 3.3.7 Letölthet állomány generálása és az eszköz programozása...60 Mellékletek...60 1. számú melléket: Angol nyelv rövidítések...60 2. számú melléket: Az XPLA3_Bemutato projekt hardver szint blokkvázlata...62 3. számú melléket: AZ XPLA3_Bemutato projekt teljes.sch forrása...63 4. számú melléket: AZ XPLA3_Bemutato projekt contr.sch forrása...64 5. számú melléket: AZ XPLA3_Bemutato projekt disp_sel.sch forrása...65 6. számú melléket: AZ XPLA3_Bemutato projekt enable.sch forrása...66 7. számú melléket: AZ XPLA3_Bemutato projekt lcd_drv.sch forrása...67 8. számú melléket: AZ XPLA3_Bemutato projekt cl8c.dia forrása...68 9. számú melléket: Xilinx CPLD-k (XC9500) összefoglaló táblázata 1...69 10. számú melléket: Xilinx CPLD-k (CoolRunner) összefoglaló táblázata 2...70 11. számú melléket: Xilinx FPGA-k (Spartan) összefoglaló táblázata...71 12. számú melléket: Xilinx FPGA-k (Virtex) összefoglaló táblázata 1...73 13. számú melléket: Xilinx FPGA-k (Virtex) összefoglaló táblázata 2...75 14. számú melléket: A Xilinx ISE fejleszt rendszerek összehasonlító táblázata...77 3

Bevezetés Napjainkban egyre gyorsabb és rugalmasabb félvezet alkatrészek kerülnek forgalomba, melyeket számítógépes fejleszt i rendszer is támogat. A rugalmasság tekintetében a különböz programozható logikai eszközök (PLD Programmable Logic Device) tekinthet ek egyeduralkodóknak, hiszen bels méretük függvényében szinte bármilyen digitális hálózat megvalósítható bennük (egyszer logikai hálózatok, mikroprocesszor magok, perifériák, protokollok, stb). A programozható eszközökkel való fejlesztést segíti el a Xilinx cég legújabb ingyenes fejleszt rendszere a WebPACK, mellyel CPLD és FPGA eszközökre készíthetünk terveket. A PLD-k m ködését leíró bels logikai hálózat kialakítása során a felhasználónak csak a forráskódot kell definiálni, mely háromféleképpen lehetséges: grafikusan, el re gyártott illetve saját készítés alkatrészekkel, véges állapotszámú gép definiálásával, szöveges formában, hardverleíró nyelvek (Abel, Verilog,VHDL) segítségével. Lehet ség van az elkészült terv vagy részleteinek virtuális ellen rzésére a ModelSim beépített logikai szimulátor segítségével. A WebPACK automatikus elhelyez és huzalozó (Auto Place & Route) funkciójának köszönhet en az elkészített logikai hálózat megvalósításához szükséges épít elemek (Makrocellák, I/O Blokkok, stb) kiválasztását illetve azok összekötését a program teljesen önállóan végzi el. Így a felhasználónak a tervezéshez nem kell feltétlenül megismernie az alkatrész bels felépítését. A Xilinx PLD eszközök el nyös tulajdonságai közül érdemes kiemelni a nagy sebességet, a nagy alkalmazási rugalmasságot, a nagyszámú be/kimeneti portot és a fejleszt rendszer egyszer, de rendkívül hatékony kezelhet ségét. Az alábbi érdemek és az egyre csökken alkatrész árak figyelembe vételével látható, hogy a Xilinx PLD-k nemcsak az egyedi- és tesztáramkörök fejlesztésére, hanem a nagy sorozatú gyártásban is gazdaságosan alkalmazhatók, ezzel veszélyeztetve az ASIC áramkörök piacát. A következ oktatási anyag célja, hogy segítséget nyújtson a PLD eszközök felhasználásához szükséges alapszint ismeretek megszerzéséhez, különös tekintettel a Xilinx WebPACK tervez rendszerére. 4

1 A programozható logikai eszközök ismertetése 1.1 Az ASIC áramkörök A berendezéseket tervez mérnökök, hogy lépést tartsanak a piac növekv elvárásaival egyre olcsóbb, megbízhatóbb, kisebb fogyasztású- és méret készülékeket fejlesztenek ki. A félvezet gyárak is szembesültek ezekkel az igényekkel és megpróbáltak olyan megoldást találni, mely szorosabb együttm ködést eredményez a félvezet gyárak és a felhasználók között. Ennek eredményeként új fogalom született: az ASIC (Application Specified Integrated Circuit), az alkalmazás specifikált integrált áramkör. Az ASIC-eket csoportosíthatjuk a jelfeldolgozás módja (analóg és digitális), vagy gyártástechnológia szerint (bipoláris és MOS technológiával készült áramkörök). A legfontosabb a fejlesztés szempontjából történ csoportosítás (1.1. ábra), mely els sorban jól tükrözi a gyártó és a felhasználó közötti kapcsolatot. ASIC CUSTOM SEMI- CUSTOM STANDARD CELL FULL- CUSTOM PLD GATE- ARRAY SPLD CPLD FPGA ROM PLA PAL GAL 1.1. ábra Az ASIC áramkörök összefoglaló csoportosítását a teljesség kedvéért mutatjuk be, a továbbiakban csak a PLD-k részletesebb ismertetésére szorítkozunk. A felhasználó által programozható eszközöket magába foglaló nagy egységet szokás egyszer en PLD-knek nevezni. Az egyre korszer bb félvezet eszközök egyre bonyolultabb elektronikai készülékek építését tették lehet vé. Az egyik legjelent sebb ilyen eszköz a mikroprocesszor és a környezetét alkotó áramkörök. 5

A processzor gyártás melléktermékeként jelentek meg a felhasználó által programozható logikai eszközök, a PLD-k melyek kés bb egyre inkább önálló csoportot alkottak. A PLD-k fejl dését el segítette, hogy a berendezés fejlesztéssel foglalkozó szakemberek általában nem sorozatgyártású, hanem speciális berendezéseket terveznek. A PLD fogalma alatt olyan katalógusból kiválasztható félkész integrált logikai áramkör értend, amelynél a végs áramkör kialakítását -bizonyos keretek között- a felhasználó saját igényei szerint végzi el. Ezek az eszközök kiválóan alkalmazhatóak az egyedi és kis sorozatban gyártott készülékek számára, hiszen tetszés szerinti logikai (kombinációs, sorrendi) hálózat alakítható ki bennük. A PLD alkalmazása során a berendezés-tervez nek nem kell tartani a kapcsolatot a gyártóval, hiszen a tokozott áramkör programozását, égetését a programozó egység segítségével maga a felhasználó végzi el. A PLD további el nyei: fogyasztása alacsony önmagában megbízhatóbb, mint az általa kiváltott áramköri részlet bizonyos típusok tartalma titkosítható fejlesztési költségek rendkívül alacsonyak a PLD ára folyamatosan csökken a teljesítmény növekedése mellett az újraprogramozható típusok jól alkalmazhatóak a fejlesztések során. 1.2 Xilinx PLD-k csoportosítása A Xilinx cég a programozható logikák iparágának egyik legjelent sebb szerepl je. Xilinx PLD-k alatt különböz FLASH bázisú CPLD- és SRAM bázisú FPGA eszközöket értünk (1.2. ábra), melyek felhasználásuk során rendkívül nagy rugalmasságot biztosítanak. Xilinx PLD (Programmable Logic Device) FPGA (Field Programmable Gate Array) SRAM bázisú CPLD (Complex PLD) FLASH bázisú 1.2. ábra 6

A két eszközcsalád leginkább bels felépítésében különbözik egymástól. Programozásuk -mint minden manapság használatos PLD eszköznél- a gyártó által erre a célra kifejlesztett CAD programcsomag segítségével történik. Rendkívül rugalmas alkalmazhatóságuk által: alacsony fejlesztési költség, alapanyag takarékosság illetve kevesebb selejt, befektetett id illetve energia megtakarítás érhet el. Xilinx PLD-k néhány jellegzetessége A továbbfejlesztett kivezetés-rögzít (Pin-Locking) funkció az eszköz azon képessége, mellyel a felhasználó definiálhatja az eszköz lábkiosztását a tervezés ideje alatt, illetve lehet sége van annak utólagos változtatására is. Adott eszközcsaládon belül az azonos típusú és lábszámú tokozások kompatibilitása lehet vé teszi a kisebb l a nagyobb bonyolultságú eszközök felé való átjárást a logikai hálózat módosítása nélkül, ezzel elkerülve az áramköri lap költséges újratervezését. A Xilinx PLD-k a legkülönfélébb tokozásokban megtalálhatók: PLCC, PQFP, TQFP, VQFP, HQFP, CSP, BGA, FGA, stb. Lehet ségünk van peremfigyeléses vizsgálatok elvégzésére (Boundary Scan IEEE, 1149.1), mellyel tesztelhetjük az elkészült tervet, megvalósíthatunk vele különleges dolgokat is. Például ha, több ember tervez egy nagyobb áramkört, akkor a segítségével tesztelhetjük az elkészült részeket oly módon, hogy a még el nem készült részek ki- és bemeneteit egyszer en összekötjük, vagy a tesztelési eljárást megvalósító áramkörök segítségével a megfelel jeleket kapcsoljuk rájuk. Így az elkészült terveket ki lehet próbálni, le lehet tesztelni. Másik példa: ha valamelyik részegység nem m ködik megfelel en, akkor azt kizárhatjuk a jelfolyamból és a megfelel jeleket kapcsolhatjuk a következ fokozat bemenetére, így az tesztelhet vé válik; segítségével a hibakeresést is könnyebben elvégezhetjük. Az említett el nyök figyelembevételével az eszköz kiválóan alkalmas új projektek, kísérleti áramkörök készítésére, tesztelésére, de csökken áruk és újra konfigurálhatóságuk miatt egyre több készülékben is helyet kapnak. 1.2.1 Xilinx CPLD-k A 80-as évek második felében jelentek meg az összetett programozható logikai eszközök a CPLD-k (Complex Programmable Logic Device). Elnevezése is arra utal, hogy a hagyományos PLD-b l, annak logikai függvényorientált struktúráját továbbfejlesztve fejl dött ki. A CPLD-t több, azonos felépítés logikai egység, funkció blokk (Function Block - FB) építi fel, melyek megfelel programozásával valósítható meg a felhasználó által definiált kombinációs illetve sorrendi hálózat. A funkció blokkon belül található makrocellák (Macrocell - MC) az áramkör programozható alapelemének tekinthet k. A makrocellák száma az eszköz integráltságának mértékét meghatározó katalógusadat, mely a típusszámban is fel van tüntetve. 7

A CPLD-k egyszer sített felépítésében (1.3. ábra) jól megfigyelhet a kapcsolómátrix (Switch Matrix), a funkció blokkok, a bennük lév makrocellák és a peremen elhelyezked be/kimeneti blokkok (Input/Output Block - IOB) kapcsolata. Makrocellák Visszacsatoló utak B e/k im e n eti Blokk B e/k im e n eti Blokk MC0 MC1 M C X MC0 MC1 M C X Funkció Blokk Funkció Blokk Kapcsolómátrix Funkció Blokk Funkció Blokk MC0 MC1 M C X MC0 MC1 M C X B e/k im e n eti Blokk B e/k im e n eti Blokk 1.3. ábra A kapcsolómátrix a logikai blokkok bemenetéhez, az I/O blokkok bemenetei pedig a logikai blokk makrocelláinak kimenetéhez kapcsolódnak. A rugalmas programozhatóság érdekében az IOB-k és az MC-k ún. visszacsatoló útvonalakon (Feedback Paths) keresztül kapcsolatban vannak a kapcsolómátrixal. Xilinx CPLD-k néhány jellegzetessége Az eszközök programozása illetve újraprogramozása az ISP (In-System Programmable) technológiának köszönhet en az áramköri lapra történ beültetése után is (rendszeren belül) lehetséges egy szabványos -négy kivezetést használó (TCK, TDO, TDI, TMS)- JTAG protokollon keresztül. A Xilinx CPLD-k a legideálisabb útvonal kiválasztását biztosítják a kapcsolómátrix és a rugalmas funkció blokkok segítségével. A CPLD áramkörök CMOS FastFLASH technológiára épülnek. Bels FLASH típusú huzalozással rendelkeznek, így a programozást követ en a tápfeszültség elvétele után is meg rzik tartalmukat. A Xilinx CPLD-k több különböz adatvédelmi lehet ségekkel rendelkeznek. A beprogramozott adatok levédhet k az illetéktelen kiolvasás, törlés és programozás ellen. A kiolvasás védelmi bitet a felhasználó állítja be a programozás során. Ez a bit csak a teljes tartalom törlésével állítható alapállapotba. Az írásvédelmi bit alkalmazása megnövelt védelmet nyújt a véletlen törlés és újraprogramozás ellen. A Xilinx, CPLD eszközei adatbiztonságát 20 évig illetve 10000 (XPLA3 családnál 1000) programozás/törlés ciklusig garantálja. 8

Xilinx CPLD-k típusai Az XC9500-as család típusainak alapvet felépítése között alig vehet észre különbség. Mindhárom sorozat elemei 36-288 makrocellával (800-6400 használható kapu) és 34-192 I/O lábbal rendelkeznek, azonban az XL és XV típusok gyorsabb és rugalmasabb második generációs kapcsolómátrixxal (FastConnect II Switch Matrix) rendelkeznek, melynek köszönhet en funkció blokkjaiknak 36 helyett 54 bemenete van. Az XC9500 és XC9500XL valamint a CoolRunner XPLA3 típusok 0.35 mikronos, az XV sorozat elemei 0.25 mikronos, míg a legújabb CoolRunner-II család eszközei 0.18 mikronos fejlett CMOS gyártástechnológiával készülnek. Az XC9500/XL/XV típusoknál lehet ség van a makrocellák kisteljesítmény (Low Power - LP) üzemmódba állítására a fogyasztás minimalizálása érdekében. CoolRunner XPLA3 A Xilinx 1999-ben megvásárolta a Philipst l a CoolRunner CPLD család teljes gyártási és forgalmazási jogát, majd saját rendszerébe beintegrálva kihozta a legújabb technológiájú XPLA3 típusokat. A CoolRunner-ek legkiemelked bb tulajdonsága a hihetetlenül alacsony, 100µA alatti áramfelvétel, mely a Fast Zero Power (FZP TM ) technológiának köszönhet. M ködéséhez 3.3V-os tápfeszültséget igényel, azonban I/O portjai az 5V-os környezethez is jól illeszkednek. Az egyes típusok 32-512 makrocellával és 36-260 felhasználható I/O lábbal rendelkeznek. CoolRunner-II 2002-es évet a Xilinx egy új CPLD család, a CoolRunner-II piacra dobásával indította. A család jellemz tulajdonságai között szerepel az 1.8V-os tápfeszültség igény, az XPLA3 eszközöknél már megszokott 100µA alatti áramfelvétel és a hihetetlenül magas (303MHz) rendszer frekvencia. A sorozat elemei 32-512 makrocellával illetve tokozástól függ en 33-270 felhasználható I/O lábbal kerülnek kereskedelmi forgalomba. XC9500 A Xilinx CPLD-k standard típusának is tekinthetjük. Az XC9500-as család elemei alapvet en 5V-os TTL illetve CMOS rendszerekben m ködtethet k, de az I/O lábak konfigurálhatóak 3.3V-os jelek fogadására és kibocsátására. Az eszközben használható legnagyobb rendszer frekvencia 100MHz, és a lábtól lábig való minimális id késleltetés 5ns. XC9500XL Az XL típusok 3.3V-os tápfeszültséget igényelnek. A bemeneti pufferei teljes mértékben tolerálják az 5V-os bemen jeleket, a 3.3V-os kimeneti jelszint pedig az 5V-os rendszerekben logikai H szintnek felel meg, így az eszköz illeszt áramkör nélkül alkalmazható a TTL rendszerekben. Az I/O portok megfelel beállításával lehet ség van az eszköz 2.5V-os környezetben való m ködtetésére is. A lábtól lábig való minimális id késleltetés itt is 5ns, de a rendszer frekvencia már elérheti a 222MHz-et. 9

XC9500XV Az XV család, 3.5ns-os lábtól lábig való id késleltetése mellett 275MHz-es rendszer frekvencia érhet el. M ködéséhez 2.5V-os tápfeszültség szükséges, azonban bemeneti portjai a 3.3V-os jelszintet is fogadni tudják, kimenetei pedig a 2.5V-os illetve az 1.8V-os rendszereket egyaránt képesek meghajtani. A jöv CPLD-i Az elkövetkez néhány évben a CPLD eszközök robbanásszer fejl dése várható (1.4. ábra) a fogyasztói ár folyamatos csökkenése mellett. A jelenlegi XC9500-as és XPLA3 családokat a CoolRunner II és annak utódai (típusnevük még ismeretlen) fogják követni, melyek mindazokkal az el nyös tulajdonságokkal rendelkeznek majd, melyeket eddig csak külön-külön találhattunk meg az eszközökben (pl: nagy sebesség és kis fogyasztás). Az egyre fejlettebb gyártástechnológiának köszönhet en a chip méret mellett, a tápfeszültség és a jelkésleltetési id is fokozatosan csökken. fsys (MHz) 450 400 350 300 222 9500XL 3.3V 5ns tpd 0.35u XPLA3 3.3V 5ns tpd 0.25u 9500XV 2.5V 3.5ns tpd 0.18u Cool Runner II 1.8V 3.5ns tpd 0.15u XXX 1.5V 3ns tpd 0.12u XXX 1.2V 2.5ns tpd Alacsony fogyasztás + nagy teljesítmény Alacsony ár Alacsony fogyasztás 1999 2000 2001 2002 2003 2004 1.4. ábra 1.2.2 Xilinx FPGA-k A Xilinx cég 1985-ben mutatta be a PLD-k egyik új generációját, a világ els FPGA áramkörét. Az FPGA (Field Programmable Gate Array) áramkörök nagy elems r ség, a felhasználó által konfigurálható eszközök, melyek LCA (Logic Cell Array) néven is ismeretesek. A szerkezetét tekintve a kapumátrix áramkörök cellastruktúráját követi és segítségével nemcsak zárt, hanem összetett rendszerek is létrehozhatók. 10

A chipen több, azonos felépítés logikai struktúra, cella foglal helyet. A felhasználónak a kész logikai hálózat kialakításához mind a logikai cellákat, mind a cellák közötti összeköttetéseket konfigurálni kell (ezt a szoftver teljesen automatikusan elvégzi). A cellabázisú áramkörök konstrukciós alapkérdése a cella méretének megválasztása. Egyszer bb, kisebb összetettség cellák esetén a hálózat kialakításában nagyobb szerepe jut a cellák közötti összeköttetéseknek, míg az összetettebb cellákból önálló részhálózatok alakíthatók ki. Az elemi logikai cella összetettsége alapján a cellabázisú programozható áramkörök kis-, közepes-, és nagy összetettség ek lehetnek. Az FPGA-k típusválasztéka a CPLD-kel szemben sokkal b vebb és sokrét bb. Az egyes családok felépítése kisebb-nagyobb mértékben eltér egymástól, ezért az 1.5. ábrán egy teljesen leegyszer sített, általános felépítést mutatunk be a legfontosabb egységek jelölésével. Be-/Kimeneti Blokkok Logikai Blokkok Programozható összeköttetések 1.5. ábra Az FPGA-kat alapvet en három nagy egység építi fel: Konfigurálható logikai blokkok (Configurable Logic Block - CLB), Be- és kimeneti blokkok (Input/Output Block - IOB), Programozható összeköttetések (Programmable Interconnect). Konfigurálható logikai blokk - CLB (Spartan) Ez a konfigurálható logikai egység az áramkör központi alapeleme, melynek segítségével valósíthatjuk meg a logikai hálózatunkat. A CLB-k tartalmaznak flip-flopokat, független négybemenet funkciógenerátorokat és multiplexereket. A funkciógenerátorok elegend en rugalmasak, mivel a legtöbb logikai kapcsolatnak kevesebb, mint négy bemenete van. A fejleszt i rendszer képes különkülön használni a funkciógenerátorokat, így javul a CLB kihasználhatósága. Ha akarjuk, a CLB egyaránt 11

használható latch-ként és élvezérelt tárolóként. Be- és kimeneti blokkok IOB (Spartan) A chip szélein elhelyezked be- és kimeneti blokkok teremtik meg a kapcsolatot a tok kivezetései és a bels logika között. Mindegyik IOB definiálható bemenet vagy kimenet illetve kétirányú csatlakozásként is. Programozható összeköttetések (Programmable Interconnect) A programozható összeköttetések teszik lehet vé az egyes CLB-k és IOB-k megfelel összekapcsolását. Az összeköttetéseknek relatív hosszuk szerint három típusa létezik, az egyszer -, a dupla- és a hosszú vonalak. A függ leges és vízszintes vonalak keresztez désénél a konfigurációs memória (SRAM) által vezérelt tranzisztoros kapcsolómátrix végzi el a szükséges összeköttetéseket. A még fel nem programozott eszközben a kapcsolók szakadás állapotban vannak. A tervezés során az automatikus huzalozónak köszönhet en az összeköttetések kialakításával nem kell foglalkoznunk (hacsak nem akarunk önként beavatkozni). Programozás Az FPGA áramkörök esetében a konfiguráció (CLB-k, IOB-k és kötések állapotai) statikus RAM-ban (SRAM) tárolódik. A konfigurációs memória feltöltése történhet sorosan vagy párhuzamosan, illetve Master vagy Slave üzemmódban. Master üzemmódban az FPGA feltölti magát, azaz beolvassa a hozzákapcsolt PROM tartalmát. Slave üzemmódban egy küls eszköz ütemjele vezérli a beolvasást. Lehet ség van az eszköz JTAG porton keresztül történ konfigurálására és tesztelésére is. Ebben az esetben a letöltött anyag a tápfeszültség meglétéig marad meg az FPGA-ban. Összefoglalva: az FPGA-k olyan programozható logikai eszközök melyek SRAM-al rendelkeznek, így a tápfeszültség elvétele után elvesztik tartalmukat. Indításkor ún. Boot PROM-ból állnak fel, mely további lehet ségeket kínál az eszköz rugalmasságára nézve. 12

Xilinx FPGA-k csoportosítása Az FPGA eszközök öt nagy családba sorolhatóak: XC3000, XC4000, XC5200, Spartan Virtex. Felhasználásra az utóbbi kett a legideálisabb, mivel ezek a Xilinx legújabb FPGA-i. Spartan, Spartan-XL és Spartan-II A Spartan FPGA-k ideális választás azoknak, akik olcsón akarnak (viszonylag) nagy teljesítmény eszközhöz jutni. Tápfeszültség Sebességi osztály Max. I/O I/O szabványok Max. kapuszám Spartan 5V 4 205 3 40000 Spartan-XL 3.3V 5 224 5 40000 Spartan-II 2.5V 6 284 16 200000 Spartan-IIE 1.8V 6 514 19 600000 A Spartan-XL ugyan örökölte a Spartan család architektúráját és 0.35 µm-es gyártástechnológiáját, de néhány új dologban azért különbözik el dét l. Ilyen a gyorsabb konfiguráció, a sebesség növelését szolgáló dedikált carry logika, a hatékonyabb órajel-vezetékezés és a 3.3V-os m ködés melletti TTL kompatibilitás. A Spartan-II és Spartan-IIE családokat, el deikhez hasonlóan, a kis (spártai) költségigény és a nagy teljesítmény jellemzi. A hasonlóság itt véget is ér, hiszen felépítésükben a Virtex sorozat sajátosságai figyelhet k meg. Az elosztott (Distributed RAM) memória mellett új épít elemként megjelenik a Block RAM, melyek a CLB mez szélein függ legesen helyezkednek el. Az órajel, áramkörön belüli azonos késleltetési idejét a digitális DLL (Delay-Locked Loop) modulok biztosítják. A lapra integrált memória blokkok nemcsak a megszokott memória-alkalmazásokat segítik, hanem az el re definiált szoftver magok használatát is. Virtex, Virtex-E, Virtex-II és Virtex-II PRO A Virtex FPGA-k voltak az els k melyek egymillió rendszerkapuval rendelkeztek. Ez a szám azonban a Virtex-II megjelenése után már a nyolcmilliót is elérte. Els sorban videó-, DSP és kommunikációs alkalmazásokban használják leginkább, ahol -a nagyméret szoftver magok miattszükségszer a gigantikus bels méret, a nagyteljesítmény szorzó képesség, és a nagyszámú konfigurálható I/O port. A továbbfejlesztett SelectRAM technológia lehet vé teszi a különböz küls memória típusok (DDR-SDRAM, FCRAM, QDR SRAM, Sigma RAM) kezelését, melyek az eszköz logikai kapacitásának kiterjesztésére is használhatók tízmillió rendszerkapuig. A család legújabb generációja a Virtex-II PRO, mely alapvet en a Virtex-II technológiára épül, azonban architektúrájában teljesen új épít elemek is megtalálhatók. A hardveresen beágyazott IBM PowerPC 405 típusú RISC processzor magok 300MHz feletti órajellel is képesek dolgozni. Rocket I/O full-duplex adatátviteli csatornái maximálisan 3.125Gb/s sebességre képesek. Mind a tizenhat csatornát felhasználva 80Gb/s érhet el. 13

Sebességi osztály Max. I/O I/O Szabványok (Single+Diff.) Max. kapuszám Tápfeszültség Gyártástechnológia Virtex 2.5V 6 512 15 < 1 millió 0.22µ, 5 réteg Virtex-E 1.8V 8 804 19 < 4 millió 0.18µ, 6 réteg Virtex-II 1.5V 6 1108 19+8 8 millió 0.15µ, 8 réteg Virtex-II PRO 1.5V 7 1200 21+5 0.13µ, 9 réteg Xilinx Boot PROM eszközök XC18V00, XC17V00, XC17S00A, XC17S00 és XC17S00XL Az FPGA-k alkalmazásának nélkülözhetetlen kelléke a konfiguráció tárolását szolgáló PROM eszközök. A Xilinx PROM-ok alapvet en két nagy csoportba sorolhatók: Egyszer programozható (OTP), XC17-es sorozatok ƒ XC17V00 (Virtex sorozathoz), ƒ XC17S00A (Spartan II és Spartan IIE sorozatokhoz), ƒ XC17S00 (Spartan sorozathoz), ƒ XC17S00XL (Spartan sorozathoz) Újra programozható (Flash), XC18V00 sorozat els sorban a Virtex eszközökhöz. A Xilinx PROM eszközök alapvet en 3.3V-os tápfeszültséget igényelnek, kivéve a Spartan családhoz alkalmazható 17S00 sorozatot, mely 5V-os. A nemrég megjelent XC18V00-as sorozat több új szolgáltatással rendelkezik, melyek a korábbi típusokból még hiányoztak. Ezek az eszközök célrendszerben is programozhatók (ISP) a JTAG interfészén keresztül, egyszer párhuzamos letölt kábel segítségével. Az FPGA-ba nemcsak sorosan (bitesen), hanem párhuzamosan (bájtosan) is képes betölteni a konfigurációt. Ezzel a lehet séggel kb. nyolcszorosára növelhet az adatáramlás sebessége, mely els sorban a különösen nagy logikai s r ség Virtex eszközöknél nyújt nélkülözhetetlen segítséget. 14

2 Az XPLA3 fejleszt Kit 2.1 Az XPLA3 fejleszt csomag Az XPLA3 fejleszt csomag a CoolRunner XPLA3 CPLD család megismertetése mellett a kis fogyasztású rendszerek kifejlesztésében nyújt nélkülözhetetlen segítséget. Az XPLA3 eszközök beültetett állapotban közvetlenül a PC printer portjáról programozhatók a csomagban található párhuzamos letölt kábel (2.1. ábra) és a WebPACK fejleszt rendszer segítségével. A WebPACK beépített minta projekteket is tartalmaz, melyek megkönnyítik az eszközzel és a programmal való ismerkedést. Ilyen komplett minta projekt Watch, mely kifejezetten az XPLA3 fejleszt panelre készült. A projekt rövid angol nyelv leírása a forrás fájlok könyvtárában található readme.txt fájlban olvasható. 2.1. ábra Az egységcsomag tartalma: XPLA3 fejleszt panel JTAG letölt kábel, AC/DC adapter (opcionális), részletes leírás, ISE WebPACK CD ROM. Az XPLA3 fejleszt panel felépítése A panelon található egységek: 256 makrocellás, 3.3V-os XPLA3 CPLD kis fogyasztású 32768Hz-es oszcillátor 3.3V-os Burr-Brown stabilizátor két digites, 7 szegmenses LCD kijelz saját fejlesztés kialakítására alkalmas forrasztható NYÁK terület I/O lábakat kivezet tüskesorok JTAG interfész tápcsatlakozó 2.2. ábra Tápellátás 15

A panel tápellátását három különböz módon biztosíthatjuk a JP7 tüskesor megfelel jumperelése mellett: TP1 és TP3 (GND) forrasztható csatlakozókra stabilizált +3.3V-os egyenfeszültséget kapcsolva, TP2 és TP3 (GND) forrasztható csatlakozókra stabilizálatlan, maximálisan +10V-os feszültséget kapcsolva, J2 adapter csatlakozóra stabilizálatlan, maximálisan +10V-os feszültséget kapcsolva. Órajel források Az XPLA3 órajele két jelforrásból választható ki a JP5 tüskesor jumperelésével: Bels forrásból a panelon található alacsony fogyasztású 32768Hz-es oszcillátorból, Küls 50 ohm impedanciás kimenet négyszögjel generátorból. A fejleszt panel tömbvázlata XPLA3 Demo Board 2.3. ábra A fejleszt panel fogyasztása Az XPLA3 CPLD rendkívül alacsony fogyasztásának köszönhet a fejleszt panel 60µA-es áramfelvétele. Ezt a csekély energia igényt akár néhány gyümölcsb l létrehozott elem is képes kiszolgálni, amint azt a 2.4. ábrán is láthatjuk. 16

Az XPLA3 demo kártyához ajánlott fejleszt i 2.4. ábra környezet Az egységgel folytatott fejlesztések során kifejezetten ajánlott az ISE WebPACK program csomag használata, hiszen az összes Xilinx CPLD típust -így az XPLA3-at is- támogatja és teljesen ingyen hozzáférhet. Akik eddig Foundation fejleszt rendszert használtak azok is könnyen áttérhetnek a WebPACK-re, mivel a tervezés menete ugyanazt a logikai sort követi, csupán a kezel felületet kell megszokni. A Foundation-ban elkészített kapcsolási rajz alapú tervek WebPACK-b l is megnyithatók, ha arról netlistát generálunk majd exportáljuk VHDL forrásként. Az eredményül kapott forráskódokat ezután a WebPACK HDL editor-ban szerkeszthetjük tovább. 2.2 A CoolRunner XPLA3 CPLD család A CoolRunner XPLA3 CPLD családot kifejezetten a kis fogyasztású, hordozható elektronikai alkalmazásokra fejlesztették ki, melyek energiaellátása akkumulátorról vagy napelemr l történik. Ilyen hordozható készülékek például a telekommunikációs eszközök, a hordozható MP3 lejátszó, a PDA, a notebook, a kézi m szerek, stb. Az XPLA3 elnevezés az extended Programmable Logic Array angol szavakból származik és a továbbfejlesztett PLA-k harmadik generációját értjük alatta. Az XPLA3 család egyedülálló különlegessége a Fast Zero Power (FZP) technológia, mely kombinálja az alacsony fogyasztást és a nagy sebességet. Ennek köszönhet en 5ns-os lábtól-lábig késleltetést biztosít, miközben a nyugalmi áramfelvétele kevesebb, mint 100 A. A CoolRunner eszközök az egyedüli teljesen CMOS PLD-k, melyek két fontos gyártástechnológiát használnak: a CMOS folyamattechnológiát és a szabadalmaztatott teljes CMOS FZP tervezési technikát. A CoolRunner XPLA3 család teljes PLA struktúrát alkalmaz a logika kiosztására a funkció blokkon belül. A PLA maximális rugalmasságot és logikai s r séget biztosít a kiváló kivezetés-rögzít képességgel (Pin Locking) kiegészítve a lábtól-lábig késleltetés konstans értéken tartása mellett. Az XPLA3 CPLD-ket a Xilinx ISE 5.1 mellett a WebPACK és WebFITTER ingyenes fejleszt rendszerek is támogatják, melyek a szöveges (VHDL, ABEL, Verilog) és grafikus (Schematic) beviteli módot egyaránt lehet vé teszik. A tervezési folyamatok funkcionális és id beli szimulációjának elvégzésére a ModelSim szimulátort használhatjuk. A fejlesztések történhetnek személyi számítógép, Sparc és HP számítógépes környezetek segítségével. 17

Az XPLA3 család rendelkezik IEEE 1149.1 szabványú JTAG interfésszel. A JTAG protokol segítségével megvalósíthatjuk az eszköz rendszeren belüli (újra)programozását (ISP In-System Programmable) és a teljes kör peremfigyelést (Full Boudary Scan Test). Az eszköz konfigurálásához a Xilinx különböz programozó egységeit használhatjuk (Parallel Cabe III, Parallel Cabe IV, Multilinx, HW130). 2.2.1 Az XPLA3 architektúrája Az XPLA3 architektúráját (2.5. ábra) alapvet en háromféle egység építi fel: Funkció blokkok, Be/kimeneti cellák (I/O Cell) Alacsony fogyasztású kapcsolómátrix (Zero-power Interconnect Array - ZIA). A funkcióblokkok közötti kapcsolatot a ZIA biztosítja. Minden funkció blokk 16 makrocellával és 36 bemeneti vonallal rendelkezik melyek a ZIA-ra csatlakoznak. 2.5. ábra Az XPLA3 architektúrája nagyon hasonlít az általános CPLD architektúrához. Ami viszont különlegessé teszi az XPLA3 családot, az a funkció blokkokon belüli logikai allokáció és a product term-ekkel történ tervezési technikák. 18

2.2.2 Az XPLA3 Funkció Blokkja (FB) A funkció blokk felépítését a 2.6. ábra illusztrálja. Minden funkcióblokk tartalmaz egy PLA hálózatot a vezérl term-ek, az órajel term-ek és a logikai cellák megvalósítására. 2.6. ábra A PLA struktúra programozható AND és OR hálózatból áll, mely nagyobb rugalmasságot biztosít, mint a PAL struktúrát felépít programozható AND és fixen huzalozott OR hálózat. A 2.7. ábra a PLA és a PAL struktúrákat szemlélteti. 2.7. ábra A PLA mátrix bemenetei közvetlenül a ZIA-ra csatlakoznak. A 48 P-term-b l 8 helyi vezérl term (LCT[0:7] Local Control Term), melyek a makrocellák vezérl jeleiként is 19

használhatóak, mint aszinkron órajelek, törlés, beírás, kimenet engedélyezés. Minden funkció blokk tartalmaz 8 visszacsatoló NAND product term-et, melyek segítségével az eszköz logikai s r sége növelhet. Ezt a lehet séget a felhasználó szoftveresen állíthatja be. A logikai er források megnövelésére használhatók a nem felhasznált vezérl P-Term-ek és a visszacsatoló NAND P-Term-ek. A sebességkritikus logikák létrehozásához minden makrocella rendelkezik egy nagy sebesség P-Term vonallal. A változtatható funkciójú multiplexer (VFM Variable Function Multiplexer) (2.8. ábra) a logikai optimalizálás növelésére alkalmas azáltal, hogy két bemenet logikai funkciókat képes megvalósítani a makrocella el tt. 2.8. ábra Minden makrocella támogatja a kombinációs vagy sorrendi logikák létrehozását. A makrocellák regisztere (power on) inicializált állapotban aszinkron módon beírható és törölhet. A regisztert az órajel engedélyez bementén keresztül konfigurálhatjuk D vagy T típusúra. Amikor a makrocella regisztere latch-ként funkcionál az órajel bemenet latch engedélyez szerepet tölt be. 2.2.3 Az XPLA3 Makrocellája (MC) A CoolRunner XPLA3-ban használt makrocella architektúráját a 2.9. ábra mutatja. A makrocellák beírhatók és törölhet k power up módban. Minden markrocella regiszter konfigurálható D, T vagy latch flip-flopként, illetve áthidalható ha a makrocella kombinációs funkciót lát el. 20

2.9. ábra Minden egyes flip-flop a nyolc óralej forrás (négy bels, négy küls ) egyikének pozitív vagy negatív élére billen. A négy küls órajelb l kett úgynevezett globális szinkron órajelek (Global CLK), melyek közvetlenül az eszköz megfelel lábain vannak kivezetve. A küls órajelek között van egy többcélú (Universal CLK) órajel is. A CT[4:7] (Local Control Term) helyi vezérl termek egyénien konfigurált órajel bemenetek. A definiálásuk hasonló, mint amikor a funkció blokkon belül a 36 jelb l létrehozzuk a Product Term vagy Sum Term egyenleteket. A makrocellában van két multiplexer, melyek kimenetei a ZIA-ra csatlakoznak. Az egyik multiplexer a VFM vagy a regiszter kimenetét választja ki, a másik pedig a regiszter kimenetét vagy a makrocella I/O portját kapcsolja a ZIA-ra. Amikor az I/O lábat kimenetként használjuk a kimeneti puffer engedélyezett állapotba kerül. Ilyenkor a makrocella visszacsatoló útvonalát a makrocella-ban megvalósított logika visszacsatolására használhatjuk. Amikor az I/O lábat bemenetként használjuk, a kimeneti puffer harmadik állapotba (tri-state) kerül és a bemeneti jel az I/O visszacsatoló útvonalán keresztül a ZIA-ra csatlakozik. Ha a makrocella lábát regiszter bemenetként konfiguráljuk, a jel egy közvetlen útvonalon jut a regiszterre. Ezzel a megoldással a regiszter gyorsabb beállását érhetjük el. Ha a makrocellát latch-ként konfiguráljuk, a regiszter órajel bemenete latch engedélyez szerepet tölt be. A latch abban az esetben átlátszó, ha a latch engedélyez bemenetre H szint kerül. A regiszter órajel engedélyez (CLKEn) bemenetének nincs funkciója amikor a makrocella latch-ként funkcionál. 2.2.4 Az XPLA3 I/O cellája Az OE (Output Enable) kimenet engedélyez multiplexernek (2.10. ábra) nyolc lehetséges állapota van. 21

Az eszköz m ködése közben az I/O cellák tolerálják az 5V-os bemen jeleket is. Minden kimenet egymástól függetlenül beállítható alacsony (lassabb m ködés) illetve magas (gyorsabb m ködés) fogyasztású üzemmódba. Ez tulajdonképpen a jelváltozási sebesség (Slew Rate) vezérlése. 2.10. ábra 2.3 Xilinx letölt kábel A fejleszt környezetet kiegészíti a JTAG párhuzamos letölt kábel, mely a tervezési folyamat végs fázisában, az eszköz programozásakor kerül alkalmazásra. Valójában ez az egység biztosítja a kapcsolatot a számítógép párhuzamos portja és az eszköz négy programozó lába (TCK, TMS, TDI, TDO) között. Ezen a négy lábon keresztül jut el a tervezés eredményeként kapott JEDEC állomány a CPLD-be. A Xilinx CPLD programozó lábai TCK (Test Clock Output): Segéd órajel, mely a TDI és TDO lábakon lév soros adatok léptetésére szolgál. TMS (Test Mode Select): JTAG üzemmód engedélyezésére szolgáló soros bemeneti láb, mely a programozás alatt magas szinten van. TDI (Test Data Input): Adat bemenet láb, az utasítások és a teszt adatok számára. Az adat a TCK felfutó élére kerül beírásra. TDO (Test Data Output): adat kimenet láb, az utasítások és a teszt adatok számára. Az adat a TCK lefutó élére kerül beírásra. Ha a TDO lábon nincs aktív adatforgalom, akkor tri-state állapotba kerül. JTAG kábel Célrendszer 22

2.11. ábra Xilinx eszközök programozása a célrendszerben is lehetséges (ISP In-System Programmable) egy szabványos -négy kivezetést használó- JTAG protokollon keresztül, melyet az alábbi vázlat szemléltet. Az ISP programozás el nyei: lerövidíti a tervezési id t, növeli a terv kifinomításának hatékonyságát megóvja az eszköz fizikai épségét. 2.12. ábra 3 Az ISE WebPACK fejleszt környezet gyakorlati bemutatása Manapság már nemcsak az a kérdés, hogy egy PLD milyen maximális sebességgel és mekkora maximális kapuszámmal rendelkezik, hanem az is, hogyan hozhatunk létre benne egy tetsz leges logikai hálózatot. Ehhez elengedhetetlenül szükséges egy jó fejleszt környezet. A Xilinx PLD-k (FPGA, CPLD) fejlesztéséhez a Xilinx egy teljesen ingyenes, internetr l letölthet CAD tervez programot kínál, az ISE (Integrated Software Environment) WebPACK-et. Ezzel az önálló integrált fejleszt rendszerrel a Xilinx új útra lépett, hiszen mindenki számára elérhet vé tette a PLD-kkel való fejlesztést. Az új felhasználóknak így nem kell több százezer forintot kifizetni a Xilinx ISE 5-ért, hogy megismerkedjenek a PLD-k programozásával. A rendszerben integrálva megtalálhatók, a már megszokott tervez, szimuláló, fordító, analizáló, programozó és debugger funkciók. A WebPACK a legmodernebb Xilinx CPLD-ket és FPGA-kat is támogatja, mint pl. a CoolRunner 2, Spartan IIE, Virtex II PRO, stb, melyekhez a terveket tetszés szerint, elkészíthetjük Schematic-ban, VHDL-ben és Verilog-ban. A program további kellemes tulajdonsága, hogy a Foundation-ban elkészített tervek kis trükkel beolvashatóvá tehet k, megkönnyítve az átállást az új rendszerre. A WebPACK fejleszt környezet nem igényli más CAD-gyártók környezetét és rajzolóprogramját, tehát ideális választás azoknak, akik -beruházás nélkül- egy komplett megoldást szeretnének az elvi rajztól az eszköz implementálásáig. A továbbiakban az ISE WebPACK fejleszt rendszer alkalmazásához szükséges nélkülözhetetlen alapokat ismertetjük. A fent említett HDL nyelvek részletes ismertetésére az alábbi oktatási anyag keretében nincs lehet ség. A leírás alapvet en az XPLA3 Demo Board-on bemutatott egyszer, de látványos projekt megvalósításának lépéseit veszi át. Célunk hogy a lehet legegyszer bben, a fejleszt környezet minél szélesebb kör áttekintését mutassuk be. 23

3.1 WebPACK letöltése, telepítése és indítása 3.1.1 Letöltés Az ISE WebPACK letöltése a Xilinx Web oldaláról lehetséges. Lépések: 1. Látogassunk el a xilinx.com web oldalra. 2. Kattintsunk Support \ Download menüpontra. 3. A megjelen felsorolásból válasszuk ki a Webpack ISE-t. 4. Ha eddig még nem regisztráltattuk magunkat, a Free ISE WebPACK 5.1i ablakban kattintsunk a Register for ISE WebPACK ikonra. A megjelen párbeszédablakokat töltsük ki értelemszer en. Néhány perc múlva a Xilinx cég szöveges e-mailben visszajelzést küld a regisztráció elfogadásáról. Az e-mail tartalmazza az általunk megadott adatokat, felhasználói nevünket és jelszavunkat. 24

5. Kattintsunk a Free ISE WebPACK 5.1i ablak Download ISE WebPACK ikonjára és adjuk meg felhasználói nevünket és jelszavunkat. 6. A megjelen ISE WebPACK TM ablakban látható, hogy lehet ségünk van a fejleszt rendszer Web-en keresztüli telepítésére, illetve az installációs fájlok többféle opcióval történ letöltésére. Jelen esetben a teljes rendszer telepítéséhez szükséges összetev ket töltsük le: Els ként kattintsunk a Complete ISE WebPACK Softwarere -ISE WebPACK 5.1i letöltéséhez- majd adjuk meg a célmappát. Ezt követ en kattintsunk a Complete MXE Simulator-ra -a ModelSim XE II v5.6a letöltéséhezmajd ugyancsak adjuk meg a célmappát. 3.1.2 Telepítés A teljes ISE WebPACK rendszert a Xilinx WebPACK 5.1i és -küls logikai szimulátora- a ModelSim XE II v5.6a program csomagok alkotják. A fejleszt rendszer a következ operációs rendszereket támogatja: Windows 2000 SP2, Windows XP. A WebPACK telepítése, más Windows-os programokhoz hasonlóan teljesen automatikusan történik. A teljes rendszer telepít je 222MB, azonban az installált változat 620MB-ot foglal el a merevlemezen. A program futtatása alatt a számítógép igen sok számítási m veletet végez a fordítások, a forráskód generálások és az optimalizálások elvégzése során, ezért javasolt a minél nagyobb teljesítmény PC használata (Intell PII 300MHz processzor, 128MB RAM). A ISE WebPACK rendszer telepít programjai: A WebPACK_51_fcfull_i.exe elindításával a Xilinx WebPACK 5.1i-t telepíthetjük fel. A rendszer programjai a Start menü \ Xilinx ISE 5 mappából érhet k el: A MXE_5.6a_Full_installer.exe elindításával a ModelSim XE II v5.6a logikai szimulátor-t és hozzá tartozó Licensing Wizard programot telepíthetjük fel. A ModelSim installálását követ en a Xilinx web oldalára feljelentkezve igényelnünk kell a program használatához szükséges license fájlt. Megjegyzés: A program folyamatos fejlesztés alatt áll, így a verziószámok változhatnak a jegyzet megírása után! 3.1.3 A ModelSim szimulátor üzembe helyezése Lépések: 1. Válasszuk ki a Start menü \ Programok \ ModelSim XE II v5.6a \ Submit License Requestkövet en felcsatlakozunk az internetre és et. Ezt 25

betölt dik a ModelSim Xilinx Edition License Request Web oldal. 2. A web oldalon a három lehet ség közül válasszuk a Continue-t, mivel korábban már regisztráltattuk magunkat. 3. A megjelen kis ablakban adjuk meg a felhasználói nevünket és a jelszavunkat. 4. Következ lépésként egy rlap jelenik meg, mely a korábbi regisztráció során, az általunk megadott adatokat tartalmazza. Ha mindent rendben találunk, és nem akarunk változtatni az adatokon, kattintsunk a Submit-ra. Fontos, hogy az e-mail cím helyesen legyen megadva, mert erre a címre fogja a Xilinx kipostázni a license.dat fájlt. 5. A következ ablakban a license kérelmünk nyugtázását olvashatjuk. 6. Néhány perc múlva az általunk megadott e-mail címre levelet kapunk a Xilinx-t l, melyben csatolt fájlként megtaláljuk a license.dat fájlt. A levél néhány mondatban ismerteti a soron következ néhány lépés. 7. A license.dat fájlt másoljuk a c:\modeltech_xe_starter\win32xoem könyvtárba. 8. Indítsuk el a Start menü \ Programok \ ModelSim XE II v5.6a \ Licensing Wizard programot és a megjelen Model Technology License Wizard ablak alján kattintsunk a Continue gombra. 9. A megjelen License File Location ablakban a böngész segítségével adjuk meg a license fájl elérési útvonalát. 26

10. A következ ablakban kattintsunk a Yes-re, majd indítsuk újra a gépet a beállítások érvényesítése érdekében. 11. Az újraindítást követ en indítsuk el újból a Licensing Wizard-ot és lépjünk tovább a megjelen ablakokon. Ha sikeresen elfogadta a program a license fájlt, akkor az alábbi ablaknak kell megjelennie. Fontos: A Xilinx által kipostázott license fájl, az igénylést kezdeményez PC merevlemezmeghajtójának kötet címkéje alapján generálták, így az más számítógépen nem használható. 3.1.4 WebPACK indítása Miután elvégeztük a WebPACK és a ModelSim letöltését, telepítését és a license fájl beillesztését, a teljes rendszer készen áll a fejlesztés megkezdésére. Tervez munkánkat a Project Navigator elindításával kezdhetjük el. Ezt kétféleképpen tehetjük meg: Start menü \ Programok \ Xilinx ISE 5 \ Project Navigator, A Windows asztalon az itt látható Project Navigator ikonra kattintva. 3.2 Gyakorlati mintaáramkör tervezése WebPACK-el 3.2.1 Project Navigator, a WebPACK keretprogramja 27

A WebPACK rendszer különböz programjait (szerkeszt, szimulátor, fordító, programozó, stb.) és funkcióit a Project Navigator fogja össze. Innen közvetlenül elindíthatjuk a projekt elkészítéséhez szükséges programokat, illetve beállíthatjuk a projekt egyes opcióit. Az alábbi ábra a Project Navigator ablakát mutatja be, mely hat részb l áll. 1 3 2 4 6 1. Legfelül található a menüsor, mely szöveges és ikon formában is tartalmaz parancsokat. 2. Alatta balra helyezkedik el a Sources in Project, a terv forráskódjait összefoglaló ablak, melynek három megjelenési formája van. Ezek közül mi a Module View-t használjuk. Segítségével fa szerkezetben láthatjuk a projekt forrásainak hierarchiáját. A forráskódokra történ dupla kattintással közvetlenül elindíthatjuk azok szerkeszt programjait (ECS, VHDL editor, StateCAD). Az ECS Foundation-beli megfelel je a Schematic Editor. 3. Jobb oldalon található a HDL Editor, melyben a VHDL, ABEL és Verilog forráskódokat szerkeszthetjük. Ugyanebben az ablakban nézegethetjük a különböz összefoglaló riportokat és a HDL nyelvi segít jét a Language Templates-et is, melynek példái és nyelvi összefoglalói nélkülözhetetlen segítséget nyújtanak a tervezés során. 4. Balra lent található a Processes for Current Source, az aktuális forrást feldolgozó ablaka, melyb l programokat indíthatunk el, a tervezés során keletkez riport dokumentumokat nyithatunk meg és különböz beállításokat érhetünk el. Megfigyelhetjük, hogy a felette lev ablakban kiválasztott forrással milyen m veleteket végeztethetünk és milyen sorrendben. Az ablakban a lehetséges funkciók hierarchikusan csoportba szervezve öt nagy témakörbe sorolva találhatók meg. 5 28

Design Entry Utilities (Tervezési segédeszközök): a terv elkészítéséhez szükséges segédopciókat foglalja össze. A Create Schematic Symbol-al a kiválasztott forráskódhoz, grafikus felületen elhelyezhet szimbólumot rendelhetünk. A Launch ModelSim Simulator-al a projekt logikai szimulációját végezhetjük el. A Check Design Rules-al pedig a kiválasztott grafikus (schematic) forrást ellen rizhetjük le. User Constraints (Peremfeltételek): a Create Timing Constraints-al az eszköz id zítési feltételeit adhatjuk meg. Az Assign Package Pins és az Edit Constraints(Text)-el az eszköz lábkiosztását definiálhatjuk grafikus és szöveges felületen. Synthesize (HDL fordító): a szintézis eszközöket foglalja össze, dupla kattintással a forrás szintézisét indíthatjuk el. A View RTL Schematic segítségével a kiválasztott forrás netlistájából generált kapcsolási rajzot tekinthetjük meg. Az Analyze Hierarchy a kiválasztott forrás hierarchiáját vizsgálja. A Check Syntax a HDL források nyelvi ellen rzését végzi. Implement Design (Fizikai megvalósító): a terv implementálását végz programokat fogja össze, dupla kattintással a létfontosságú m veletek végeztethet k el. A Translate-el a kiválasztott forrás fordítását indíthatjuk el. A Fit alatt találjuk meg a ChipViewer programot, mellyel belenézhetünk az eszköz belsejébe. Grafikus felületen láthatjuk a kiválasztott I/O portok és makrocellák egymáshoz kapcsolódását. Ugyancsak a Fit alól indítható az XPower fogyasztásanalizáló program, melynek paraméterezésével el re meghatározhatjuk az eszköz által felvett teljesítményt. A Generate Timing-al riport fájlt generálhatunk, mely a különböz jelkésleltetéseket illetve a rendszerben használható legnagyobb órajel frekvenciát adja meg. Alatta található a Timing Analyzer program az id zítési feltételek szélesebb határok közötti paraméterezésére. Generate Programming File (Programozó fájl generáló): a céleszközbe letölthet forráskódot hozza létre. A Generate JTAG File-ra vagy a Configure Device (impact)-ra kattintva az impact-ot indíthatjuk el, mellyel kapcsolat kezdeményezhet a Xilinx eszköz és a PC között a letölt kábelen keresztül. A kétirányú kommunikáció létrejötte után lehet ségünk van az eszköz (újra)programozására vagy törlésére. Ha a logikai hálózat megtervezését követ en biztosra vesszük, hogy munkánk teljesen tökéletes nem szükséges lépésenként végigmenni a Processes for Current Source ablakban található programokon, hanem közvetlenül elindíthatjuk a fent említett impact-et, melynek hatására automatikusan generálódnak a programozáshoz szükséges fájlok. A Processes for Current Source ablak jelzései: Az elindított folyamatok elvégzésének sikerességér l grafikus illetve szöveges visszajelzést kapunk. Egy pipa jelzi, ha a kiválasztott m velet sikeresen végrehajtódott. A felkiáltó jel arra figyelmeztet bennünket, hogy valamit nem teljesen megfelel en tettünk vagy a logikai sorban bizonyos m veleteket átléptünk. Piros kereszt a súlyos hibára figyelmeztet. 29

A tervezést csak a hiba elhárítása után tudjuk folytatni, melyhez az alsó szöveges ablakban olvasható üzenetek nyújtanak segítséget. 5. Alul található a Console (kijelz pult), mely a projekt állapotának, naplózásának megtekintésére szolgál. A normál üzenetek megkülönböztet jelzés nélkül, a figyelmeztetések, a hibák indexel kerülnek kijelzésre. 6. legalsó sor a Státuszsor, mely információt ad a Project Navigator aktuálisan elvégzett m veleteir l. A következ kben vegyük sorra a Project Navigator menüsorának parancsait. 3.2.1.1 Project Navigator - File menü New Project (Új projekt): segítségével új projektet hozhatunk létre. Hatására egy ablak jelenik meg, melyben az alábbi jellemz ket kell megadni: a projekt nevét, a munkamappa útvonalát, a programozható logika családját és típusát (makrocellák száma, tokozás típusa) illetve a projekt szintézisének fajtáját. Open Project (Projekt megnyitása): meglév projektet nyithatunk meg. Open Example (Példa megnyitása): a WebPACK beépített minta projektjeit kínálja fel megnyitásra. Close Project (Projekt bezárása): az aktuálisan nyitva lev projektet bezárja. Save Project As (Projekt mentése másként): az aktuálisan megnyitott projektet elmenthetjük más néven a kiválasztott munkamappába. Csak a logikai hálózat konfigurációját tartalmazó forrás fájlokat menti el a kiválasztott munkamappába, az implementáció során generált fájlokat nem. New (Új lap létrehozása): segítségével új text fájlt hozhatunk létre, melyet a Project Navigator jobb ablakában szerkeszthetünk (balról az els ikon). Open (Megnyitás): bármilyen fájl szöveges formában történ megnyitására alkalmas, melyet ugyancsak a Project Navigator jobb ablakában szerkeszthetünk (balról a második ikon). Close (Bezárás): a Project Navigator jobb ablakában aktuálisan megnyitott dokumentumot zárja be. Save (Mentés): a Project Navigator jobb ablakában aktuálisan megnyitott dokumentumot menti el ugyanazon a néven (balról a harmadik ikon). Save As (Mentés másként): a Project Navigator jobb ablakában aktuálisan megnyitott dokumentumot menthetjük el más néven. Print (Nyomtatás): a Project Navigator jobb ablakában aktuálisan megnyitott dokumentumot nyomtathatjuk ki. Save All (Összes mentése): az aktuálisan megnyitott projekthez tartozó összes forrás fájlt menti el (balról a negyedik ikon). Recent Project (Legutolsó projektek): az utoljára használt projektek listáját kínálja fel megnyitásra. Recent Files (Legutolsó fájlok): az utoljára szerkesztett szöveges fájlok listáját kínálja fel megnyitásra. Exit (Kilépés): a változások elmentését felkínálva kilép a programból. 30