Sunteți pe pagina 1din 10

Laborator 2.

Implementarea sistemelor digitale pe dispozitivele FPGA

I. Etape specifice implementrii sistemelor digitale pe dispozitivele FPGA (design flow)


Implementarea sistemelor digitale pe dispozitive FPGA necesit parcurgerea unor etape de
proiectare specifice, care sunt prezentate n continuare.
1. Descrierea sistemului (design entry): n general, descrierea sistemului este realizat ntr-un limbaj
HDL (VHDL sau Verilog). n acest caz, codul descris trebuie sa fie cod sintetizabil, adic, atunci cnd
este conceput, codul respectiv trebuie s respecte anumite reguli stabilite n acest scop, prin care
instrumentul software este capabil s genereze o schem electronic, descris n general ntr-un fiier de
tip netlist. n cazul descrierii sistemului la nivelul cel mai nalt (nivelul TOP), descrierea sistemului
respectiv poate fi realizat i prin desenarea schemei electronice a sitemului, care conine principalele
blocuri funcionale ale acestuia.
2. Sinteza logic: este realizat pe baza unui instrument software dedicat, care preia descrierea sistemului
(codul HDL) i genereaz un fiier de tip netlist, care descrie schema electric a sistemului descris vezi
Figura 1.

Figura 1. Etapa de sintez logic.

3. Implementarea sistemului: conine 3 etape distincte:


translare (translate),
mapare (mapping),
plasare i rutare (place & route).

Figura 2. Etapa de translare.

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

3.1: translare: n general, pe lng descrierea comportamentului/structurii sistemului ntr-un limbaj HDL
sau prin intermediul unei scheme electronice, n proiect sunt specificate diferite contrngeri temporale sau
de arie, n scopul optimizrii rezultatului obinut. Constrngerile temporale specific ntrzierile maxime
ale semnalelor pe anumite trasee, iar constrngerile de arie specific modul n care vor fi gestionate
anumite resurse logice ale FPGA-ului, sau modul n care vor fi alocai pinii FPGA-ului la semnalele
sistemului implementat. n etapa de translare, toate aceste informaii sunt integrate (adunate) ntr-un
singur fiier care devine sursa pentru implementarea sistemului n FPGA vezi Figura 2.
3.2 mapare: aceast etap este realizat de ctre un instrument software dedicat, care preia schema
electric generat n urma sintezei logice, o divizeaz n arii de componente pe care, apoi, le mapeaz pe
resursele logice ale FPGA-ului, astfel nct schema electric s poat fi implementat - vezi Figura 3.

Figura 3. Etapa de mapare.

3.3. plasare i rutare: aceast etap este realizat de un instrument software dedicat, care preia
informaiile generate n urma procesului de mapare i:
a. plaseaz fizic ariile de componente, generate n procesul de mapare, n resursele logice ale FPGAului vezi Figura 4.

Figura 4. Etapa de plasare.

b. stabilete conexiunile ntre resursele logice utilizate vezi Figura 5.

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

Figura 5. Etapa de rutare.

n procesul de plasare i rutare se ine cont de constrngerile de timp i de arie care nsoesc descrierea
funcional a sistemului implementat, astfel nct acestea s fie satisfcute.
4. Configurarea dispozitivului: este realizat de ctre un instrument software dedicat: Dup procesul de
implementare se genereaz un fiier de configurare al FPGA-ului, care conine un ir de bii, numit bii de
configurare; fiierul de configurare are extensia .bit i stabilete modul n care este configurat FPGA-ul.
Fiierul BIT se poate descrca direct n FPGA sau poate fi convertit i stocat ntr-o memorie PROM
pentru memorarea configuraiei FPGA-ului.
II. Introducere n pachetul de proiectare ISE 7.1 Web Pack Xilinx
Pe durata orelor de laborator alocate acestei discipline este se va utiliza mediul software de proiectare a
sistemelor digitale pe dispozitive FPGA ISE 7.1 Web Pack, furnizat de firma productoare de dispozitive
FPGA Xilinx. Pachetul software se utilizeaz mpreun cu plcile de dezvoltare care conin dispozitive
FPGA produse de firma Xilinx.
n continuare se prezint principalele etape care trebuie parcurse n cadrul procesului de
implementare a unui sistem digital pe un dispozitiv FPGA.
1. a
COMANDA:
File New Project
=> FEREASTRA ACTIVA: NEW PROJECT
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
Project Name:
exemplu
Project Location: se creeaz un director de lucru pe
contul propriu
Top Level Module Type:
HDL
1.b.
COMANDA: Next
Device Family:
Spartan3
Device:
xc3s200
Package:
ft256
Speed Grade:
-5
Top Level Module Type:
HDL
Synthesis tool:
XST(VHDL/Verilog)
Simulation:
Modelsim
Generated Simulation Language:
Verilog
_______________________________________________________________________________________

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

2.
COMANDA:
NEXT, NEXT, NEXT, FINISH
EFECT:
este creat proiectul cu denumirea exemplu in locatia selectata
in fereastra Sources in Project devine vizibil proiectul (test.ise) precum si FPGA-ul utilizat
(xc3s200);
in fereastra Processes for Source devin vizibile comenzile (aplicaiile) care pot fi lansate asupra sursei
selectate in fereastra Sources in Project
_______________________________________________________________________________________
3.
COMANDA:
se selecteaza FPGA-ul (sursa xc3s200) din fereastra Sources in Project
EFECT:
in fereastra Processes for Sources devin vizibile comenzile care pot fi rulate
asupra FPGA-ului.
_______________________________________________________________________________________
4.
COMANDA:
Create New Sources din fereastra Processes for Sources
=> FEREASTRA ACTIVA: NEW SOURCE
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
se selecteaza optiunea Verilog Module;
File Name:
TOP
Location:
nu se modifica
EFECT:
se va crea un fisier Verilog, identificat prin denumirea TOP.v, care contine descrierea sistemului care va fi
implementat.
acest fisier este salvat in subdirectorul precizat in tag-ul Location
_______________________________________________________________________________________
5.
COMANDA:
NEXT
=> FEREASTRA ACTIVA: DEFINE VERILOG SOURCE
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
Module Name:
se precizeaza numele modulului Verilog (se pastreaza TOP)
Port Name:
se precizeaza denumirea semnalelor sistemului
Direction:
se precizeaza modul semnalelor sistemului
MSB, LSB:
in cazul vectorilor defineste dimensiunea acestora
________________________________________________________________________________________
6.
COMANDA:
NEXT
=> FEREASTRA ACTIVA: NEW SOURCE INFORMATION
EFECT:
furnizeaza informatii generale despre fisierul Verilog TOP.v
________________________________________________________________________________________
7.
COMANDA:
FINISH
=> FEREASTRA ACTIVA: se activeaza fereastra de editare
Se descrie modulul Verilog i se salveaz fiierul cu comanda: FILE Save
EFECT: salveza continutul fisierului TOP.v
acesta devine vizibil in fereastra Sources in Project, fiind subordonat FPGA-ului selectat initial
(xc3s200)
________________________________________________________________________________________
8.
COMANDA:
se selecteaza sursa TOP.v din fereastra Sources in Project
EFECT: in fereastra Processes for Sources devin vizibile aplicatiile care pot fi efectuate asupra fisierului
TOP.v:

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

View Design Sumary:


Design Utilities:
simboluri asociate modulului, etc)
User Constraints:

dupa implementare, aici sunt furnizate in rezumat informatii


despre performanta sistemului implementat (resurse logice
consumate, timing, etc.)
permite simularea functionala a modulului, creearea unor

permite atribuirea semnalelor sistemului implementat (sau ale


modulului) unor pini ai FPGAului, permite definirea unor
contringeri de timp pentru cile critice de semnal in scopul
cresterii frecventei maxime de lucru a sistemului implementat,
setarea unor directive de sintez i implementare pentru controlul
implementrii sistemului, etc)
Synthesize XST:
instrumentul software utilizat pentru sinteza logic a sistemului
Implement Design:
instrumentul software utilizat n implementarea sistemului
(corespunde etapei de proiectare place&route)
Generate Programing File:
instrumentul software utilizat pentru generarea fiierului de
configurare al FPGA-ului (identificat prin extensia .bit) i
pentru descrcarea fiierului de configurare n structura FPGAului.
________________________________________________________________________________________
9. COMANDA:
SynthesizeXST Check Syntax
EFECT:
se lanseaz n execuie aplicaia care permite verificarea sintaxei codului HDL continut n fiierul TOP.v
n fereastra CONSOLE sunt afiate diverse informaii; n cazul n care fiierul are erori, se precizeaz linia n care
acestea se afl precum i natura lor
operaiunile ndeplinite cu succes sunt bifate (n dreptul lor apare n culoare verde simbolul ), n caz contrar sunt
identificate prin apariia n culoare rou a simbolului .
________________________________________________________________________________________
10. COMANDA:
Processes for Sources User Constraints Assign Package
Pins
se d acordul (YES) crerii fiierului cu extensia .ucf care conine directivele de sintez care vor fi setate de ctre
proiectant
=> FEREASTRA ACTIVA: fereastra aplicaiei Xilinx PACE
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
pinii utilizati ai FPGAului sunt precizati n fereastra Xilinx PACE, n seciunea Design Object List
I/O Pins , coloana LOC
________________________________________________________________________________________
11. COMANDA:
File Save OK
EFECT:
se genereaza fisierul TOP.ucf, care, in fereastra SOURCES IN PROJECT va fi subordonat
fisierului TOP.v
________________________________________________________________________________________
12. se revine n fereastra Xilinx Project Navigator
________________________________________________________________________________________
13. COMANDA:
se selecteaz din nou sursa TOP.v din fereastra Sources in Project
________________________________________________________________________________________
14.
COMANDA:
Synthesize-XST
EFECT:
se realizeaz sinteza logic a sistemului descris n fiierul Verilog selectat.
n fereastra CONSOLE sunt afiate diverse informaii despre modul n care decurge acest proces
________________________________________________________________________________________
15.
COMANDA:
Synthesize-XST View RTL Schematic

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

FEREASTRA ACTIVA: se activeaza o nou fereastr in care se afieaz schema electric a sistemului descris
n fiierul HDL, obinut n urma etapei de sintez logic; schema electric este desenat pe baza informaiilor
generate n fiierul identificat cu extensia .ngr
EFECT:
schema electric obinut conine numai primitive logice generice (pori logice, sisteme elementare
combinaionale/secveniale);
n acest mod se poate obine o imagine asupra modului n care sistemul descris n fiierul HDL poate fi
implementat cu ajutorul unor resurse generice: pori logice, MUX, DMUX, DCD, bistabile, etc.
cu butoanele Push/Pop ( sau ) se poate observa schema electric la diferite nivele de abstractizare
________________________________________________________________________________________
16.
COMANDA:
Synthesize-XST View Technology Schematic
FEREASTRA ACTIVA: se activeaza o nou fereastr care afieaz schema electric a sistemului descris n
fiierul HDL, obinut n urma etapei de sintez logic; schema electric este desenat pe baza informaiilor
generate n fiierul identificat cu extensia .ngc
EFECT:
schema electric obinut conine primitivele logice ale dispozitivului FPGA (resursele logice ale acestuia);
n acest mod, se poate obine o imagine asupra modului n care sistemul descris n fiierul HDL poate fi
implementat pe baza resurselor logice ale FPGA-ului;
cu butoanele Push/Pop ( sau ) se poate observa schema electric la diferite nivele de abstractizare
________________________________________________________________________________________
17.
COMANDA:
Implement Design
EFECT:
sistemul este implementat pe dispozitivul FPGA: pe baza informaiilor generate n etapa de sintez logic,
primitivele logice utilizate pentru implementarea proiectului sunt distribuite (mapate) ctre resursele fizice din
structura FPGA-ului; totodat se precizeaz interconexiunile dintre resursele fizice utilizate ale FPGA-ului.
procesul este automatizat; dac este necesar, se permite intervenia proiectantului n diverse stadii ale acestui
proces, prin intermediul instrumentului software Floorplan Design;
se pot obine informaii despre consumul de putere electric a sistemului implementat prin intermediul
instrumentului software Analyze Power (Implement Design Place&Route Analyze
Power).
________________________________________________________________________________________
18.
COMANDA:
View Design Summary din fereastra Processes for Sources
DENUMIRE FEREASTRA ACTIVA:
Design Summary
EFECT:
din seciunea Device Utilization Summary se pot obine informaii despre modul n care au fost alocate
resursele logice ale FPGA-ului selectat pentru implementarea sistemului
din seciunea Detailed Reports Post Place and Route Static Timing Reports se pot
obine informaii despre ntrzierea semnalelor sistemului implementat.
________________________________________________________________________________________
19.
SE VA ALIMENTA PLACA DE CTRE CADRUL DIDACTIC
________________________________________________________________________________________
20.
COMANDA:
Generate Programing File
EFECT:
este generat fiierul care conine starea biilor de configurare, identificat prin extensia .bit
________________________________________________________________________________________
21.
COMANDA:
Generate Programing File Configure Device (Impact)
FEREASTRA ACTIVA: Configure Device
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
se selecteaz opiunea Boundary Scan Mode

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

________________________________________________________________________________________
22.
COMANDA:
NEXT
FEREASTRA ACTIVA: Boundary Scan Mode Selection
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA:
se selecteaz opiunea Automatically Connect to cable .
EFECT:
Dispozitivul va fi configurat prin metoda Boundary Scan
________________________________________________________________________________________
23.
COMANDA:
FINISH
DENUMIRE FEREASTRA ACTIVA:
1. Boundary Scan Chain Contents Summary
2. n fundal este afiat fereastra Boundary Scan, care prezint n mod grafic lanul de configurare format, n
cazul plcii de dezvoltare utilizate, din 2 dispozitive: primul este dispozitivul FPGA, al 2lea este o memorie Flash
EFECT: mesaj n care se specific numrul de dispozitive legate n aa numit lan de configurare
________________________________________________________________________________________
24.
COMANDA:
OK
DENUMIRE FEREASTRA ACTIVA: Assign New Configuration File (dispozitivul FPGA este
automat selectat culoare verde)
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA: se selecteaz fiierul cu extensia .bit
________________________________________________________________________________________
25.
COMANDA:
OPEN
DENUMIRE FEREASTRA ACTIVA: Xilinx Impact
EFECT: un mesaj care de avertizare
________________________________________________________________________________________
26.
COMANDA:
OK
DENUMIRE FEREASTRA ACTIVA:
Assign New Configuration File (memoria Flash a fost
selectat automat culoare verde)
________________________________________________________________________________________
27.
COMANDA:
BYPASS
DENUMIRE FEREASTRA ACTIVA: Boundary Scan
EFECT: dispozitivului FPGA i s-a atribuit fiierul de configurare cu extensia .bit, iar memoria Flash a fost
ignorat.
________________________________________________________________________________________
28.
COMANDA:
se selecteaz dispozitivul FPGA
________________________________________________________________________________________
29.
COMANDA:
click dreapta pe dispozitivul FPGA
DENUMIRE FEREASTRA ACTIVA: meniu care conine aciunile care pot fi realizate asupra dispozitivului
FPGA.
________________________________________________________________________________________
30.
COMANDA:
PROGRAM
DENUMIRE FEREASTRA ACTIVA: Program Options
OPERATIUNI/SELECTII IN FEREASTRA ACTIVA: nu se selecteaz nici o opiune
________________________________________________________________________________________
31.
COMANDA:
OK
DENUMIRE FEREASTRA ACTIVA: Operation Status

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

EFECT:
se configureaz dispozitivul FPGA
dac operaiunea este realizat cu succes, atunci n fereastra Boundary Scan apare mesajul Programming
Succeeded

III. Citirea informaiilor generate de ctre proiect din fiierele raport


Dup fiecare etap specific implementrii sistemelor digitale pe dispozitivele FPGA este generat un
fiier raport, care conine detalii despre rezultatele obinute n etapa respectiv. Astfel, sunt generate 4
fiiere raport de interes deosebit:
Fiierul raport generat n urma etapei de sintez logic (synthesis report)
Fiierul raport generat n urma etapei de mapare (mapping report)
Fiierul raport generat n urma etapei de plasare i rutare (place&route report)
Fiierul raport generat n urma rulrii aplicaiei Generate Post Place&Route Static Timing Post
Place&Route Static Timing Report, dup finalizarea etapei de implementare (se lanseaz din
aplicaia Implement Design Place&Route).
1. Fiierul raport generat n urma etapei de sintez logic
n acest fiier sunt furnizate rezultatele generate n urma rulrii etapei de sintez logic. Principalele
informaii care se pot obine din acest raport sunt:
Directivele de sintez utilizate n procesul de sintez logic
Elementele de circuit inferate (generate de ctre instrumentul software de sintetiz)
Estimarea consumului de resurse logice se poate anticipa dac sistemul poate fi implementat pe
dispozitivul selectat.
Estimarea performanei (ntrzieri) se poate anticipa dac sistemul implementat satisface
cerinele de timing impuse.
Principalele seciuni prezentate n coninutul fiierului raport sunt:
HDL Synthesis: furnizeaz informaii despre primitivele logice inferate n etapa de sintez
logic, pentru fiecare entitate/modul, pe baza descrierii comportamentului acesteia.
HDL Synthesis Report: sunt listate componentele de circuit generate prin sintez logic
(inferate).
Final Report: cuprinde informaii generale despre etapa de sintez logic grupate n
subseciunile:
Design Statistics: numr semnale IO ale sistemului implementat
Macro Statistics: sumar al elementelor de circuit inferate
Cell Usage: ce resurse logice sunt consumate la nivel de celula logica
Device utilization summary: consum estimat de resurse logice
Timing Report: n aceast seciune sunt furnizate informaii estimative despre valorile
maxime ale principalelor tipuri de ntrzieri ale semnalelor. Conine subseciunile:
Clock Information: furnizeaz informaii despre numrul de semnale de ceas ale
sistemului implementat, bufferele utilizate pentru rutarea acestora i numrul de
blocuri logice comandate de semnalele de ceas respective (este de ateptat ca, cu
ct numrul de blocuri logice comandate de un semnal de ceas este mai mare, cu
att ntrzierea semnalului de ceas generat de rutarea acestuia prin FPGA s difere
ntre diferite regiuni ale FPGA-ului, ceea ce ridic probleme specifice de proiectare
a sistemului digital).
Information Related to Asynchronous Set/Reset Signals: furnizeaz acelai gen
de informaii ca i seciunea precedent, dar referitoare la numrul de semnale de
iniializare asincrone set/reset.
Timing Summary: furnizeaz valorile maxime pentru diferite tipuri de ntrzieri; din
aceast seciune se pot afla informaii despre:
8

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

Valoarea maxim estimat a frecvenei semnalului de ceas (Minimum period),


Valoarea maxim estimat a timpului de stabilire (setup time) pentru datele care se
aplic pe intrrile sistemului digital implementat, referit sub denumirea Minimum
input arrival time before clock;
Valoarea maxim estimat a ntrzierii furnizarii datelor pe ieirile sistemului
implementat, raportat la momentul frontului activ al semnalului de ceas, referit
sub denumirea Maximum output required time after clock;
Valoarea maxim estimat a ntrzierii dintre momentul n care datele sunt valide la
ieirile sistemului implemetat, raportat la momentul n care sunt aplicate la intrri
semnalele, dac sistemul implementat este combinaional, referit sub denumirea
Maximum combinational path delay.
Timing Detail: furnizeaz informaii despre cile critice ale semnalelor care genereaz
cele mai mari valori ale ntrzierilor, pentru fiecare categorie de ntrzieri.

2. Fiierul raport generat n urma etapei de mapare (mapping report)


n acest fiier sunt furnizate rezultatele generate n urma rulrii etapei de mapare.
Principalele informaii care se pot obine din acest raport sunt prezentate n seciunea Design
Summary. n aceast seciune se prezint cantitatea de resurse logice ale FPGA-ului, consumate pentru
implementarea sistemului digital.
n subseciunea Logic Utilization sunt furnizate resursele logice consumate pentru implementarea
blocurilor funcionale ale sistemului digital implementat, iar n subseciunea Total Number 4 input
LUTs sunt furnizate detalii despre numarul total de blocuri LUT consumate, numrul de blocuri IO
consumate, numrul de semnale de ceas globale consumate (acestea sunt resurse speciale dedicate
exclusiv rutrii eficiente a semnalului de ceas), respectiv numrul de pori logice echivalente necesar
implementrii sistemului digital.
n seciunea IOB Properties sunt furnizate informaii legate de semnalele de ieire ale sistemului
digital implementat, standardul de intrare-ieire utilizat, etc.
3. Fiierul raport generat n urma etapei de plasare i rutare (place&route report)
n acest fiier sunt furnizate rezultatele generate n urma rulrii etapei de plasare i rutare.
Principalele informaii prezentate sunt legate de rutarea semnalelor n dispozitiv, de satisfacerea
constrngerilor de timp, respectiv de semnalele de ceas ale sistemului implementat. Ultimile sunt
furnizate n seciunea Generating Cock Report. Un interes special este reprezentat de informaiile care
furnizeaz ntrzierea maxim a semnalului de ceas, suferit de acesta la rutarea sa prin structura
dispozitivului FPGA.
4. Fiierul raport Post Place&Route Static Timing Report
Furnizeaz informaii referitoare la valorile ntrzierilor semnalelor sistemului implementat.
n seciunea Setup/Hold to clock nume semnal ceas sunt furnizate valorile maxime admise pentru
timpul de stabilire (setup), respectiv de meninere (hold), ale datelor de intrare, raportate la frontul activ al
semnalului de ceas.
n seciunea Clock nume_semnal_ceas to Pad sunt furnizate valorile ntrzierilor semnalelor de
ieire ale sistemului digital implementat, determinate ntre momentul n care este furnizat frontul activ al
semnalului de ceas i momentul n care valorile semnalelor de ieire devin valide.
n seciunea Clock to Setup on destination clock nume_semnal_ceas este furnizat valoarea
minim a perioadei semnalului de ceas al sistemului implementat.
IV. Lucrarea practic
1. se va descrie un multiplexor (codul se va prezenta pe tabl).
2. se va realiza sinteza logic a circuitului i se vor citi din fiierul raport generat dup sinteza logic:
a. elementele de circuit inferate
b. valoarea estimat pentru resurse logice FPGA consumate
9

Laborator 2. Implementarea sistemelor digitale pe dispozitivele FPGA

c. informaiile de timing estimate.


3. se va realiza implementarea circuitului i se va citi din fiierul raport generat dup mapare
consumul real de resurse logice FPGA consumate.
4. se va genera fiierul Post Place and Route Static Timing Report i se vor citi informaiile de
timing reale.

10

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