Extras din notiță
Cum arata o descriere VHDL?
O descriere VHDL este formata din 2 parti distincte, atat ca forma cat si ca destinatie:
-interfata(entity)
-descrierea efectiva a circuitului(architecture)
Entity=partea declarativa , foarte exacta, completa.
Architecture=poate cuprinde diverse niveluri de detaliere.
Entity nume_entitate is
Port (int: in std_logic;
out:out std_logic);
end nume_entitate
architecture nume_arch of nume_entitate is
begin
instructiuni
end nume_arch;
Descrierile pot fii –functionale – structurale – tip flux de date.
2.Simularea
Obiectivul simularii este determinat de niveluri de abstractizare ale circuitului :
-simularea descrierilor functionale : exerseaza descrieri la nivel inalt de abstractizare ale circuitului => validarea conceptuala ale ideilor de baza din proiect.
-simularea logica : are ca obiectiv analiza functionari circuitului si verificarea corectitudini relatiilor dintre var logice.
-simularea temporala : analizeaza functional circuitul dupa ce pot fii evaluate intarziielile reale ale semnalelor dea lungul traseelor de conexiuni conform implementarii.
-simularea la nivel de tranzistor(switch) : tip de simulare de importanta tehnologica , mai mult decat pt decizi de proiectare . sunt utile pt descrieri verilog la nivel de tranzistor.
3.Driverul
Este un proces in executie concurenta cu toate celelalte programe monitor(driver) pt celelalte noduri ale circuitului un ex. al descrierii este atasat programului pt a evalua evolutia viitoare a semnalui ca urmare a evenimentelor receptinate. Toate evenimentele sunt memorate intr-o lista ordonata.
4. Deosebirea intr-un ciclu de simulare si ciclu delta
Ciclu de simulare
In urma evaluarii semnalelor la diverse momente apar evenimente. toate driverele care au in lista de sensibilitate semnale care au produs evenimentele sunt lansate in executie pt reevaluare. Procesul continua pana toate programele monitor se opresc(autorsuspenda).
Ciclu delta
Sunt inarzieri virtuale unitare utilizate pt a pastra coerenta ordinea de evaluare in cadru unu ciclu de simulare. Aceste intarzieri nu sunt reale si nu apar in forme de unda finala a semnalului, ele servesc doar pt calcule.
5. Etapele simularii
-compilarea: se creaza o reprezentare interna a descrierii. In cadru acelei faze se face si verificarea sintactica a descrierii.
-desfasuratorul: corectitudinea definitiilor de tip este verificata. Se initializeaza in memorie zonele temporale pt semnale si valorile initiale pt variabile. Se aloca programul monitor pt fiecare nod din graficul circuitului.
-simularea propriu zisa: lansarea in executie a proceselor reprezentand evolutia fronturilor in ciclu descris. Succesiunea de evenimente si programarea fornturilor este ordonata cu cuante de timp virtuale – cicluri delta pt ordonarea temporara coerenta.
6.Diferente intre secvential si concurent.
Descrierea secventiala determina raspunsuri ideale ce vor putea fii in restul programului VHDL. Partile de lucru secventiale nu tin cont de cea ce se petrece in afara lor. In afara de mici prtiuni secventiale (process) modul de descriere VHDL este unul concurent, ceea ce presupune lucrul in paralel a tuturol instructiunilor.
7.Simularea VHDL TBW
TBW= test banch waveform
In vederea simularii la unitatea supusa testarii se adauga forme de unda (succesiune de vectori de intrare).
Se selecteaza un set reprezentativ de vectori de test. Criteriile de selectie sunt :
-sistemul de vectori de test trebuie sa fie minimal.
-sistemul de vectori de test trebuie sa fie complet relativ la funtionalitatea si caracteristicile avute in vedere pt test.
Bancurile de test reprezinta solutia de aplicarea a semnalelor de test descrierii VHDL si contin secvente de semnale de test .
Test banch description : entity vida,descriere structurala.
8.Deosebiri VHDL / Verilog
Limbajul verilog include constructe si comenzi orientate mai ales inspre descrieri la nivel scazut de poarta logica , pe cand VHDL lucreaza la nivel abstract.
La verilog partitionarea in parti fundamentale se realizeaza in constructul “module....end module” pe cand VHDL are 2 parti componente : entity (pt declarearea proturilor IO) si architecture(pt descrierea propriu-zisa). La verilog lista de semnale de interfete este atasata semnalului.
Numerele binare in verilog sunt reprezentare explicit cu forma si valoare sa:2’b10.
Pt a rula expresii secventiale se utilizeaza un bloc procedural:
-bloc procedural(lista de sensibilitati)
Begin ....
End
18.Principalele etape ale sintezei
Pentru constructele Verilog admise in descrierile sintetizabile se recomanda cunoasterea unor reguli si considerente de interpretare a lor de instrumentele de sinteza.
A)Definitia interfetei
Definitiile de interfata partitioneaza si organizeaza o descriere. Semnalele interne se recomada reprezentate cu directie intrare-iesire unica pentru sinteza fara echivoc. La interfata, conectarea la semnale bidirectionale este posibila sincronizata cu alte surse conectate la acelasi nod.
Port(input, inout,output)
B)Specificatii de interfata
Declararea cu cuvintele cheie a semnalelor de interfata, inclusiv tipurile lor electrice, este recomandata spre atentia sporita a proiectantului. Aceste constructe organizeaza descrierile si ofera robustete in plus descrierii in procesul de sinteza. Discrepante sau scapari in expresiile de descriere pot fi sesizate de programul de sinteza in declaratiile interfetei si aduse in atentia proiectantului.
Parameter, module, signals and variables(wire, reg. tri)
C)Blocuri evidentiate
Parti ale descrierii individualizate ca importante sunt descrise cu blocurile speciale function si task. In acest mod aceste parti ale descrierii devin foarte vizibile si sunt premisele reutilizarii in aceeasi descriere sau in altele exterioare.
Function si tasks
D)Blocuri procedurale
Toate constructele de descriere procedurale cu cuvintele cheie rezervate pentru blocuri de descriere sunt admise cu foarte putine exceptii:
Always, if, else, case, casex, casez, begin, end, named blocks
E) Constructele iterative:
While, forever-pentru a fi sintetizate corect trebuie sa faca referire la unul din fronturile tactului (@posedge, negedge, clk, ...)
Cel mai simplu stil de descriere pentru sinteza este instantierea partilor de descriere cu contructe principale definite foarte exact:
Assign-expresii de descriere pentru circ combinationale
@always- circuite combinationale si circuite secventiale
Preview document
Conținut arhivă zip
- VHDL (Very High Speed Integrated Circuit Hardware Description Language).doc