Tutorial Xilinx ISE

De la WikiLabs
Jump to navigationJump to search

Crearea unui proiect

Pentru a porni programul Xilinx ISE în laborator, apăsați tasta F12, în consola care apare tastați comanda ise&, și mai apăsați o data F12. Odată pornită aplicația, aceasta va arăta într-un mod similar cu cel de mai jos:

Fereastra inițială a programului Xilinx ISE

Vom continua acest tutorial cu sinteza circuitului de adunare a cărui simulare a fost prezentată în lucrarea de laborator precedentă. Ca şi în cazul programului Modelsim, prima operație este de a creea un proiect nou. După ce dați click pe File -> New Project vi se va deschide următoarea fereastră:

Fereastra proiect nou în Xilinx ISE

Modifcați întâi locația proiectului să fie /home/student/Xilinx și apoi dați un nume proiectului, în cazul nostru Adder. Mai departe vi se va afișa următoarea fereastră:

Fereastra pentru configurarea dispozitivului Xilinx ISE

În funcție de placa cu care lucrați, selectați întâi familia de FPGA-uri (Spartan2, Spartan3 sau Spartan3E), apoi alegeți dispozitivul și pachetul conform codurilor pe care le vedeți pe cip. Restul opțiunilor le puteți ignora deocamdată. Butonul Next va afișa următoarea fereastră:

Fereastra pentru crearea de fișiere în Xilinx ISE

Vom adăuga fișierele manual după crearea proiectului, așa că puteți da click pe Next și aici ca și în fereastra următoare (Add Existing Sources). Ultima fereastă va conține cuprinsul setărilor folosite, unde veți da click pe butonul Finish:

Fereastra detalii proiect în Xilinx ISE

Adăugarea de fișiere noi la proiect

Din meniul Project selectați opțiunea New Source... și va apărea următoarea fereastră:

Fereastră de adăugare fișier nou

Selectați tipul fișierului ca modul Verilog și dați-i un nume (în cazul de față, Adder). În continuare va apărea fereastra de configurare a modulului:

Fereastră configurare a modulului

Aici puteți completa detaliile cerute, conform figurii, pentru a genera în mod automat interfața modulului, sau puteți selecta Next și scrie interfața manual, ca și în Modelsim. Ultima fereastră vă face un sumar al opțiunilor alese:

Sumarul configurației modulului

După apăsarea butonului Finish, o sa apară următoarea fereastră, unde se observă că a apărut noul fișier în lista proiectului (vezi cerc verde) și acesta s-a și deschis pentru a putea fi editat. Adăugați blocul assign care implementează funcționalitatea modulului, conform lucrării de laborator 1.

Fișierul Adder.v adăugat în proiect și deschis pentru editare

Dacă fișierul Verilog există deja, puteți alege din meniul Project opțiunea Add Copy of Source... care va copia fișierul deja existent în folder-ul proiectului.

Adăugarea fișierului de constrângeri

Odată ce există în proiect cel puțin un fișier HDL, se poate adăuga în continuare fișierul de constrângeri, care va fi subordonat fișierului Verilog principal. Adăugarea lui se face tot prin opțiunea New Source... din meniul Project:

Adăugarea fișierului de constrângeri

După selectarea tipului de fișier (Implementation Constraints File) și numirea acestuia dați click pe Next, apoi pe Finish. În continuare va apărea fișierul de constrângeri sub fișierul Verilog în lista de proiect (vezi cerc verde). După ce îl selectați, în lista de procese va apărea o nouă opțiune User Constraints -> Edit Contraints (Text) (vezi cerc albastru). Dând dublu-click pe această opțiune, se va deschide o fereastră de editare pentru fișierul de constrângeri. Faceți toate legăturle de care este nevoie. În cazul de față, vom lega intrarea in0 la switch-urile SW0 - SW3, intrarea in1 la switch-urile SW4 - SW7 și ieșirea out la ledurile LD0 - LD4:

net "out[0]" loc = "p46";
net "out[1]" loc = "p45";
net "out[2]" loc = "p44";
net "out[3]" loc = "p43";
net "out[4]" loc = "p42";

net "in0[0]" loc = "p89";
net "in0[1]" loc = "p88";
net "in0[2]" loc = "p87";
net "in0[3]" loc = "p86";

net "in1[0]" loc = "p84";
net "in1[1]" loc = "p83";
net "in1[2]" loc = "p82";
net "in1[3]" loc = "p81";

Editarea fișierului de contrângeri

Sinteza și programarea plăcii FPGA

Pentru a începe etapele procesului de programare a plăcii, veți selecta din nou fișierul Verilog în lista de proiect (vezi cerc verde) și selectați din lista de procese opțiunea Generate Programming File. Dacă nu există nici o greșeală, în dreptul fiecărei etape va apărea un cerc verde. Dacă aveți erori, în tabul numit Errors (vezi cerc roșu) puteți afla mai multe detalii ca să vă ajute în procesul de depanare:

Pornirea procesului de sinteză și programare a plăcii

Dacă nu există erori, în continuare puteți da click pe opțiunea Configure Target Device din lista de procese. Vi se va deschide o fereastră care vă va anunța că nu există definit un proiect iMPACT, iar după ce dați ok, va porni aplicația iMPACT, care este folosită pentru configurarea plăcii și va apărea următoarea fereastră:

Pornirea procesului de sinteză și programare a plăcii



Atenție: asigurați-vă în acest moment că placa este alimentată!


În continuare, dați click pe Finish. Va apărea o fereastră cu două cipuri verzi, fiecare cu un cod de dispozitiv, conform ferestrei de mai jos. Primul are codul FPGA-ului (cel selectat la crearea proiectului și care este scris pe FPGA), iar al doilea are un alt cod. Primul pătrat reprezintă FPGA-ul, iar al doilea o memorie flash pe care nu o vom utiliza și căreia nu-i vom asocia nici un fișier de programare:

Fereastra cu dispozitivele din scan-chain

Vi se va cere să selectați un fișier de configurare pentru fiecare din cele două cipuri. Pentru FPGA selectați fișierul .bit obținut la pasul anterior, care poartă numele proiectului (în cazul de față adder.bit) și pentru memoria flash selectați opțiunea Bypass, sau Cancel. Pentru a configura efectiv placa, dați click dreapta pe pătratul reprezentând FPGA-ul și selectați opțiunea Program. Vi se va deschide o fereastră ca cea de mai jos, utilizată pentru modificarea opțiunilor de configurare. Puteți da click pe Finish fără a modifica nimic, iar placa va fi configurată.

Opțiuni de configurare