Pasul 3:
Crearea fissierului de constrangeri si specificarea acestora.
Pentru a verifica functionarea sumatorului intrarilor A, B si Cin li se asigneaza pini FPGA care in exterior sunt conectati la comutatoare iar iesirilor S si Cout li se asigneaza pini FPGA conectate la LEDuri. Aceasta asignare se numeste constrangere. Exista mai multe tipuri de constrangeri, aceasta fiind una dintre ele.
Din documentatiile placilor D2SB si DIO4 rezulta urmatorul tabel:
|
RESURSE D2SB SI DIO 4
|
PINI FPGA
|
|
"MCLK"
|
"P182";
|
|
"D2SB_BTN"
|
"P187";
|
|
"D2SB_LED"
|
"P154";
|
|
"DIO4_LEDG"
|
"P45";
|
|
"DIO4_LED<0>"
|
"P111";
|
|
"DIO4_LED<1>"
|
"P109";
|
|
"DIO4_LED<2>"
|
"P102";
|
|
"DIO4_LED<3>"
|
"P100";
|
|
"DIO4_LED<4>"
|
"P98";
|
|
"DIO4_LED<5>"
|
"P96";
|
|
"DIO4_LED<6>"
|
"P94";
|
|
"DIO4_LED<7>"
|
"P89";
|
|
"DIO4_BTN<0>"
|
"P3";
|
|
"DIO4_BTN<1>"
|
"P206";
|
|
"DIO4_BTN<2>"
|
"P44";
|
|
"DIO4_BTN<3>"
|
"P43";
|
|
"DIO4_BTN<4>"
|
"P42";
|
|
"DIO4_SW<0>"
|
"P23";
|
|
"DIO4_SW<1>"
|
"P21";
|
|
"DIO4_SW<2>"
|
"P18";
|
|
"DIO4_SW<3>"
|
"P16";
|
|
"DIO4_SW<4>"
|
"P11";
|
|
"DIO4_SW<5>"
|
"P9";
|
|
"DIO4_SW<6>"
|
"P7";
|
|
"DIO4_SW<7>"
|
"P5";
|
|
"DIO4_AN<0>"
|
"P41";
|
|
"DIO4_AN<1>"
|
"P40";
|
|
"DIO4_AN<2>"
|
"P36";
|
|
"DIO4_AN<3>"
|
"P35";
|
|
"DIO4_SSG<0>"
|
"P22";
|
|
"DIO4_SSG<1>"
|
"P20";
|
|
"DIO4_SSG<2>"
|
"P17";
|
|
"DIO4_SSG<3>"
|
"P15";
|
|
"DIO4_SSG<4>"
|
"P10";
|
|
"DIO4_SSG<5>"
|
"P8";
|
|
"DIO4_SSG<6>"
|
"P6";
|
|
"DIO4_SSGDP"
|
"P4";
|
Astfel se vor atribui urmatorii pini FPGA pentru A,B,Cin, S si Cout: Cin P23 (SW1), A P21 (SW2), B P18 (SW3), conform tabelului anterior. Lui S i se asigneaza P111 (LD1), iar lui Cout P109 (LD2).
Mai intai se creeaza fisierul de constrangeri. Se face clic dreapta pe numele circuitului (xc2s200e) sau pe numele fisierului VHDL sum1.vhd si din meniul contextual aparut se selecteaza New Source. In fereastra New Source, se selecteaza tipul Implementation Constraints File iar apoi se completeaza numele fisierului. Fie numele acestui fisier sum1cf. Se apasa Next, in urmatoarea fereastra Next, iar apoi in fereastra de informare se apasa Finish. Daca totul a decurs conform celor explicate anterior se va obtine situatia din figura 8.
Se observa ca procesele posibile pentru un anumit fisier sunt diferite in functie de fisierul selectat in fereastra Sources in Project. Daca in fereastra Sources in Project se selecteaza sum1cf.ucf, in fereastra Processes for ... apar procesele din figura 8.
 |
Figura 8 |
Inainte de a crea fisierul de constrangeri selectati Edit -> Preferences -> Editor si apasati radio butonul Constraints Editor. Pentru crearea/editarea constrangerilor, pornind de la configuratia din figura 8, se face dublu clic pe procesul Edt Constraints (Text), pentru a lansa in executie editorul de constrangeri si se introduc liniile de configurare din figura 8, dupa care se salveaza.
Pasul 4:
Crearea fisierului de configurare si verificarea functionalitatii.
Plecand de la configuratia din figura 8, se face click pe numele proiectului Sum1-Behavioral.. dupa care in fereastra Processes se face dublu clic pe procesul Generate Programming File, vezi figura 9.
 |
Figura 9 |
Pasul 5: Configurarea FPGA Spartan 3 de pe placa de dezvoltare
Odata generat fisierul bit sub procesul Generate Programming File faceti dublu clic pe optiunea Configure Device (iMPACT) aflata sub procesul Generate Programming File. Se va obtine fereastra din figura 10, se face clic pe Finish.
 |
Figura 10 |
Dupa care se obtine fereastra din figura 11, dupa ce se face in care se selecteaza fisiereul de configurare de tip bit, in cazul nostru sum1.bit
 |
Figura 11 |
Se face clic dreapta pe dispozitivul Xilinx si se alege optiunea Program... in fereastra care apare se face clic pe OK. Apare o ferestra Progree Dialog dupa care ar trebui sa se obtina mesajul.
|