Sunteți pe pagina 1din 2

1. Se lansează programul „Xilinx ISE 14.

7”
Se creează un „New project”, de preferat în directorul My_Designs. Se dă un nume.
Se alege Top-level source type: „Schematic”

Se alege pentru placa Nexys4 DDR familia Artix 7, circuitul XC7A100T, package (număr de
picioare) CSG324C, speed grade -3

Se alege pentru placa Nexys3: familia Spartan 6, circuitul XC6SLX16, package (număr de picioare)
CSG324, speed grade -3

Se alege pentru placa Nexys2: familia Spartan 3E, circuitul XC3S1200, package (număr de picioare)
FG320, speed grade -5

Se alege pentru placa Nexys: familia Spartan 3, circuitul XC3S200, package (număr de picioare)
FT256, speed grade -4

Se alege pentru placa de la NI: familia Spartan 3E, circuitul XC3S500E, package (număr de picioare)
FT256, speed grade -4

2. În Fereastra de „Design”
Pe bara cu butoane din stânga se alege butonul de sus: „New souce” – apoi tipul „Schematic”. Se dă
un nume diferit de cel al proiectului. Apare în dreapta fereastra de desenare.

3. Se alege Tab-ul „Symbols” – se pot alege din listă circuitele dorite


În schema cea nouă se adaugă un circuit (de exemplu o poartă „and2”).
Se pun intrările şi ieşirile cu Add I/O marker – este un buton pe bara de instrumente din stânga. Se dă
click dreapta pe aceste terminale şi apoi „Rename port” şi li se dă un nume – ATENŢIE la denumiri!!!
– în afară de porţile logice, la toate celelalte circuite utilizate se dau EXACT acele nume care apar pe
simbolurile circuitelor.
Se salvează desenul şi se revine la fereastra de Design prin Tab-ul corespunzător.

Dacă este selectat fişierul cu schema desenată anterior, în fereastra „Design” se vede care sunt etapele
prin care trece proiectul până la final: „User Constraints”, „Synthesize – XST”, „Implement Design”,
„Generate Programming file”, Configure Target Device”.

4. În „User Constraints” vom asigna intrările şi ieşirile proiectului pe care dorim să îl implementăm
în FPGA ca să corespundă pinilor plăcii pe care o folosim (Nexys4 DDR, Nexys3, Nexys2, Nexys
simplu, placa NI cu FPGA).
Cu prima comandă se creează un fişier UCF (User Constraint File), care nu se va putea edita, deci se
va închide acea fereastră.

În fereastra de Design se deschide semnul + de la fişierul în care avem desenul făcut în editorul
schematic – se vede fişierul cu extensie .ucf şi se selectează şi se editează.
În fişierul .ucf se scriu corespondenţele între I/O şi pinii FPGA.
Exemplu: NET „Intrare” LOC = T5; (T5 este denumirea unui pin legat la un întrerupător de pe placa
cu Nexys3).

La circuitele de tip secvenţial, ca să putem să folosim butoanele de pe plăci ca şi clock, vom scrie în
fişierul .ucf şi următoarea linie (unde C este denumirea pentru semnalul de clock):
NET „C” CLOCK_DEDICATED_ROUTE = FALSE;

La Nexys4 DDR mai trebuie să scriem pentru fiecare pin:


NET “sw<0>” LOC = J15 | IOSTANDARD = LVCMOS33;
Dacă folosim clock-ul de pe plăci corespondenţele sunt:
Pinul de clock la Nexys4 DDR este E3
Pinul de clock la Nexys3 este V10
Pinul de clock la Nexys2 este B8
Pinul de clock la Nexys simplu este A8
Pinul de clock la placa NI cu FPGA este B8

Se salvează fişierul cu extensie .ucf şi se revine în fereastra de Design.

5. „Generate programming file”


Dăm dublu click pe „Generate programming file” şi apoi aşteptăm să se treacă prin toate etapele de
proiectare, care vor apărea treptat pe ecran cu o morişcă în mişcare. Când o etapă se încheie cu succes,
apare un semn verde de bifare. Dacă sunt erori se opreşte şi apare un X roşu.
Rezultă fişierul de programare pentru FPGA cu extensie .bit

6. „Configure Target Device”


Să vă asiguraţi că plăcile cu FPGA sunt puse sub tensiune!
Din posibilităţile care există aici se alege varianta „Manage Configuration Project (IMPACT)”.

Când se deschide fereastra pentru IMPACT se alege „Boundary scan”, apoi se dă din meniul File
comanda de „Initialize chain”, apare o fereastră cu circuitul FPGA (dacă este cazul şi cu memoria
PROM) şi o fereastră din care se adaugă din proiectul făcut fişierul cu extensie .bit (Să se ştie unde a
fost salvat proiectul, pt. a fi găsit uşor!!! De aceea e preferabil să fie în My_Designs).
După ce s-a adăugat fişierul .bit rămâne fereastra cu un lanţ JTAG format din unul sau 2 devices-uri.
În cazul că sunt 2, FPGA-ul nostru e primul din lanţ (e verde), al 2-lea e memoria şi nu ne interesează.
La al doilea device din lanţ dăm BYPASS.

Dăm apoi click dreapta pe primul cip din lanţ şi dăm comanda „Program”. În fereastra care se
deschide, dăm OK. În final, după un timp de transmisie, va scrie pe ecran „Program succedeed”.
Acum circuitul FPGA este programat şi deja se comportă conform proiectului făcut de noi în editorul
schematic.

Revenim în Xilinx ISE 14.7 şi în fereastra de Design, la secţiunea „Implement Design”, subsecţiunea
„Place and route”, pornim programul „View/Edit Routed design (FPGA Editor)”. Aici putem păstra
numai fereastra „Array 1” (celelalte se pot închide). Butoanele de la „Local lines” până la „Rats Nets”
le apăsăm unul câte unul şi astfel le arătăm structura FPGA-ului, precum şi ce resurse foloseşte micul
nostru proiect. Cu zoom putem vedea tot felul de detalii...

S-ar putea să vă placă și