Sunteți pe pagina 1din 8

Utilizare Vivavo – Pasul al doilea 

(pentru tema de casă) 
 
1. www.moodle.fie.valahia.ro (parolă acces curs SAT I – TASE : “tase”) 
 

Download Vivado (15GB) 

Fișiere plăci (ex. Nexys 4 DDR) 

XUP_LIB 

Fișier de constrângeri (xdc)   
 
2. Download Vivado 
3. Download fișiere plăci altele decât cele imlicite Xilinx.  
4. Download fișier de constrângeri (creați folder Download pe Desktop) 
5. Download librărie de componente (XUP_LIB) 

 
   
6. Lansare în execuție Vivado 2017.3 

 
 
7. Creare proiect denumit – Proiect_Exemplu 

    
 
8. Creare fișier sursă (față de Primul Pas aici nu se crează fișierul sursă, deci Next) 

    
9. Adăugare fișier de constrângeri 

      
 
10. Alegeți placa de dezvoltare Nexys 4 DDR (producător Digilent). Deoarece nu am 
decis să creem fișier sursă opțiunea a două este evidențiată cu galben. 

       
 
11. Se integrează în proiect librăria XUP_LIB folosind opțiunile IP Catalog respectiv 
click dreapta oriunde în fereastra care apre și apoi Add repository. Se alege din 
Download libraria rezultatul fiind prezentat in figurile urmatoare. 

 
 
 
12. Se deschide un fisier pentru realizarea schemei electronice prin intermediul optiunii 
Creqte Block Design. Se denumeste Proiect_Exemplu_Sch. Componentele se aduc prin 
intermediul optiunii Add IP (+).  

 
 
13. Se realizeaza schema electronica. Intrarile si iesirile se realizeaza cu ajutorul optiunii 
Create  Port.  Aceste  porturi  pot  sa  fie  Intrari  sau  Iesiri  astfel  inact  fiti  atenti  cand 
sprecizati tipul portului. In imagine am pozitionat portul F care este vazut ca Output. 
Va sugerez sa optati, la final, pentru Optimize Routing. 

 
14. Se foloseste optiunea Create HDL Wrapper pentru a genera fisierul Verilog. 

 
 

   
15. Se modifică fișierul de constrângeri (se șterge # din fața liniilor pe care le dorim active) 
##Switches 
set_property ‐dict { PACKAGE_PIN J15   IOSTANDARD LVCMOS33 } [get_ports { A }]; #IO_L24N_T3_RS0_15 Sch=sw[0] 
set_property ‐dict { PACKAGE_PIN L16   IOSTANDARD LVCMOS33 } [get_ports { B }]; #IO_L3N_T0_DQS_EMCCLK_14 Sch=sw[1] 
set_property ‐dict { PACKAGE_PIN M13   IOSTANDARD LVCMOS33 } [get_ports { C }]; #IO_L6N_T0_D08_VREF_14 Sch=sw[2] 
 
## LEDs 
set_property ‐dict { PACKAGE_PIN V11   IOSTANDARD LVCMOS33 } [get_ports { F }]; #IO_L21N_T3_DQS_A06_D22_14 Sch=led[15] 
 

 
 
16. Folosind RTLAnalysis ‐> Schematics se genereaza legaturile prin FPGA intre diferitele 
arii logice si pad‐urile (pinii din exteriorul placii). Functie de puterea procesorului si 
resursele calculatorului acest proces poate dura un timp diferit.  

 
17. Se execută operațiile de sinteză, implementare și generare fișier bitstream, apelând 
direct opțiunea Generate Bitstream. Puteți observa aceste etape de execuție în Project 
Manager – Project Summary 

 
 
18. Se  poate  opta  pentru  Open  Implemented  Design  zonă  în  care  se  pot  identifica  pinii, 
traseele între ariile utilizate în implementare de FPGA, alimentarea, etc. Prin Zoom în 
mod corespunzător în fișierul Device veți obține următoarea imagine. 

 
   
19. Sau,  puteți  opta  direct  pentru  Open  Hardware  Manager  situație  în  care  veți  realiza 
conexiunea  la  placă  (Open  Target  ‐  Autoconnect)  și  veți  putea  încărca  programul  în 
placa de dezvoltare (Program Device). 

Programare placă 

 
 
20. În cazul în care aveți placa Nexy 4DDR și ați reușit conectarea, respectiv încărcarea 
programului, veți observa, dacă primele trei switch‐uri sunt OFF (0) că LED‐ul al 16‐
lea este aprins (F = (1 & 0) | (0 & 0) | (1 & 1) = 1 (aprins)).  

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