Laboratorij za načrtovanje integriranih vezij - Fakulteta za elektrotehniko, Ljubljana

Navodila za Xilinx ISE in ModelSim

1. Namestitev ISE in ModelSim | 2. Osnove Xilinx ISE | 3. Simulacija vezja | 4. Digilent orodja

Navodila za shematsko načrtovanje v Xilinx ISE in implementacijo v Coolrunner II

Osnove orodja Xilinx ISE Project Navigator

Dokument opisuje osnovne korake uporabe razvojnega orodja Xilinx ISE za načrtovanje in implementacijo digitalnih vezij s programirljivimi vezji proizvajalca Xilinx. Navodila prikazujejo korake izdelave projekta, risanja sheme, prevajanja vezja in nalaganja na Digilentov Coolrunner-II razvojni sistem.


Razvojni sistem Coolrunner-II Starter kit vsebuje:

  • Razvojno ploščo s CPLD vezjem Xilinx XC2C256-TQ144
  • USB 2.0 povezavo za napajanje, programiranje in prenos podatkov
  • Prikazovalnik LCD velikosti 16x2 znakov
  • Štiri 2x6 pinske konektorje za razširitvena vezja
  • Program za nadzor porabe in temperature vezja

1. Izdelava projekta

Zaženemo ISE Project Navigator in izberemo menu File: New Project. Odpre se novo okno "New Project Wizard" v katerem nastavimo ime projekta, lokacijo na disku in vrsto. Začnimo z izbiro mape v Project Location (npr. C:\xilinx\vaje), nato vnesemo ime projekta (npr. Log_vrata), ki bo avtomatsko ustvaril podmapo (npr. C:\xilinx\vaje\Log_vrata). Ime naj ne vsebuje šumnikov, namesto presledka pa raje uporabimo podčrtaj, da ne bo težav pri prevajanju kode. Izbrati je potrebno še vrsto projekta Top-level source type: Schematic, nato pa kliknemo gumb Next. Odpre se novo okno "Device Properties" v katerem določimo programirljivo vezje v naslednjem vrstnem redu: Family: Coolrunner 2 CPLD, Device: XC2C256 in Package: TQ144, kot prikazuje spodnja slika.

Nadalnje korake preskočimo, tako da parkrat kliknemo gumb Next in na koncu Finish za izhod iz New Project Wizarda. Odpre se glavno okno programa ISE Project Navigator v katerem bomo vnašali in prevajali vezje.

2. Risanje sheme

Program Project Navigator omogoča različne načine opisa digitalnega vezja. Spoznali bomo najpreprostejši način: risanje sheme vezja iz vnaprej pripravljenih elementov oz. simbolov. Za vezja CPLD Coolrunner imamo na voljo drugačne simbole kot npr. za vezja FPGA Spartan-3, zato je pomembno da smo pri pripravi projekta pravilno nastavili družino vezij.

V Project Navigatorju izberemo iz menuja Project: New Source. Odpre se okno v katerem je potrebno določiti ime in vrsto opisa vezja. Ime vezja je lahko enako imenu projekta (npr. Log_vrata), vrsta pa naj bo Schematic. Pritisnemo gumb Next in Finish in odpre se novo okno s praznim listom papirja za risanje sheme.

Z ikono, ki prikazuje povečevalno steklo (+) ali (–) nastavimo ustrezen pogled na risalni list. Shemo vezja sestavljajo simboli, priključki in povezave med njimi. Simboli logičnih elementov, kot so inverter "inv", logična vrata "and2", "or2" ipd. se nahajajo v okencu z imenom "Symbol Browser", ki je odprto na levi strani risalnega lista. Do ustreznega simbola pridemo najhitreje tako, da v polje z imenom Symbol Name Filter vnesemo del imena (npr. and). Po pritisku na enter se vsi simboli s tem imenom pojavijo tik nad njim v polju Symbols. Kliknemo na ustrezen simbol (npr. and2) in ga z miško potegnemo na list, kot prikazuje slika na levi.

Ko so simboli razmeščeni, jih je potrebno povezati. V način povezovanja gremo z menujem Add: Wire ali pa klikom na ikono Add Wire. Z miško sedaj kliknemo na en konec simbola (ali povezave), nato pa še na drug konec. Program bo avtomatsko naredil povezavo iz pravokotnih odsekov. Iz načina povezovanja se vrnemo s pritiskom na tipko ESC. Zunanje priključke vezja dodamo s klikom na ikono Add IO Marker in nato na shemo v bližini vhodnega ali izhodnega priključka nekega simbola.

Priključkom bomo spremenili imena, saj so tista, ki jih program avtomatsko določi precej neuporabna. Z miško dvakrat kliknemo na simbol vhodnega ali izhodnega priključka in vpišemo novo ime v okno.

2.1 Povezovanje z vodilom (bus)

Za povezavo večbitnih signalov uporabljamo vodila. Najprej narišemo navadno povezavo, nato pa (1.) izberemo ikono Add Net Name. V okno Options vnesemo ime vodila (2.), ki je sestavljeno iz besede in števila bitov v oklepaju: npr. vodilo z imenom b(3:0) vsebuje signale b(3), b(2), b(1) in b(0). Nazadnje kliknemo na povezavo (3.), ki se bo spremenila v vodilo.

Signale avtomatsko povežemo na vodilo z opcijo na ikoni Add Bus Tap (1.). S kurzorjem najprej kliknemo na izbrano vodilo, tako da se ime vodila vnese v okno Options. Tukaj po potrebi nastavimo smer (2.) in ime posameznega signala (npr. b(0)) ter z miško kliknemo na drugi konec povezave (3.). Program bo sedaj avtomatsko naredil povezavo izbranega signala z vodilom.

3. Prevajanje vezja

Prevajanje sheme vezja v datoteko za programiranje poteka v nekaj korakih. Med postopkom prevajanja lahko programska oprema odkrije napake v vezju, ki jih moramo odpraviti in ponovno pognati postopek. Za vsako vezje, ki ga bomo preizkusili na razvojnem sistemu moramo določiti lokacije zunanjih signalov, sicer bodo signali razporejeni naključno po zunanjih priključkih. Rezultat prevajanja v vezje CPLD je datoteka s končnico *.jed, ki jo potrebujemo za programiranje.

a) b) c)

a) Najprej kliknemo v levem okencu Sources na zavihek Source, potem pa še v spodnjem okencu na zavihek Process. Shemo je najbolje po vsakem popravku pregledati.

b) V okencu Processes v klikom na [+] pri Design Utilities odpremo opcije, med katerimi poiščemo in dvakrat kliknemo Check Design Rules.

c) Celoten proces prevajanja oz. implementacije vezja v izbrano tehnologiojo poženemo z dvojnim klikom na Implement Design. Z enojnim klikom na [+] zraven ikone Implement Design pa si lahko ogledamo, nastavimo in izvedemo posamezne korake.

3.1 Določanje priključkov

Zunanji priključki vezja so zapisani v datoteki s končnico *.ucf, ki jo je potrebno dodati v projekt. V okencu Processes s klikom na [+] pri User Constraints odpremo opcije, nato pa dvakrat kliknemo na Floorplan IO. Ob prvem nastavljanju priključov bo program vprašal ali naj naredi novo datoteko UCF, kar potrdimo z Yes.

Odpre se nov program, ki prikazuje ohišje vezja in omogoča nastavljanje uporabniških zahtev. V levem spodnjem kotu poišči okno z imenom: Design object List v katerem je tabela z vsemi zunanjimi priključki. Za vsak priključek je potrebno v stolpcu Loc napisati številko in jo potrditi z enter. Program bo sproti preverjal ali so zapisane številke priključkov veljavne in tudi sam zapisal črko P pred številko.

Ko zapišemo vse številke priključkov kliknemo ikono Save in zapremo program, nato pa v Project Navigatorju ponovno poženemo implementacijo vezja (glej c).

4. Nalaganje vezja

Za nalaganje vezja na razvojni sistem Digilent Coolrunner II uporabljamo programsko opremo proizvajalca razvojnega sistema. V oknih odprimo iz menuja Start program Digilent: Adept: ExPort in priključimo razvojni sistem.

Ko priključimo sistem preko USB na računalnik, se bo avtomatsko naložil ustrezen gonilnik. V laboratoriju LRNV je možno, da na dotičnem računalniku in uporabljenem USB vhodu gonilnik še ni registriran. Če bodo okna odprla čarovnik za novo strojno opremo, moramo storiti naslednje korake:

  1. Na prvo vprašanje ali naj poišče gonilnik Windows Update izberemo: Ne, tokrat ne
  2. V naslednjem oknu izberemo: Samodejno namesti programsko opremo
  3. Pojavi se še opozorilo, da ni preizkušena združljivost, kjer moramo klikniti: Vseeno nadaljuj in nato Dokončaj.

V programu ExPort kliknemo gumb Initialize Chain in prikazati se mora simbol vezja CPLD. Kliknemo gumb Browse desno od simbola in v mapi našega projekta poiščemo in odpremo datoteko s končnico *.jed. Nato kliknemo gumb Program Chain in vezje se bo naložilo na razvojni sistem.

(c) Andrej Trost, LNIV 2010