Extras din proiect
1. Reguli de modelare in VHDL a sistemelor digitale
Scopul final al modelarii unui sistem digital intr-un limbaj de descriere hardware nu este simularea acestuia. Simularea este doar o etapa intermediara care confera proiectantului garantia ca sistemul modelat este conform specificatiilor comportamentale cerute. Un model VHDL comportamental trebuie sa fie convertit la o structura hardware. Aceasta conversie este facuta automat de programe de sinteza hardware. Regulile prezentate in acest capitol descriu modul in care trebuie folosite constructiile VHDL pentru a fi convertite in structuri hardware de catre produsele software de sintetiza si optimizare.
-Sintetizatorul VHDL asociaza codului VHDL o structura hardware formata din componente dintr-o biblioteca specificata (tehnologie).
-Optimizatorul preia structura sintetizata si genereaza descrierea unui circuit optimizat pe baza criteriilor de suprafata si layout.
Circuitele logice sunt circuite de comutatie statica si sunt realizate cu dispozitive electronice care pot prezenta 2 stari: inchis si deschis, corespunzatoare celor doua valori 0 si 1 ale variabilelor binare.
Se pot deosebi doua clase mari de circuite logice si anume :
-Circuite logice combinationale (CLC)
-Circuite logice secventiale (CLS)
Structura obtinuta dupa sinteza automata este determinata direct de catre modul in care au fost utilizate constructiile VHDL in codul sursa. Scopul acestui capitol este de a prezenta modul in care trebuie descris comportamentul unui sistem digital pentru ca dupa sinteza sa se obtina rezultatele asteptate.
Circuitele logice combinationale sunt acele circuite la care variabila sau multimea varibilelor de iesire depinde doar de combinatiile de valori ale variabilelor de intrare.
Conform acestei definitii, un circuit logic combinational reprezinta un ansamblu (sistem) de functii logice elementare caracterizate de tripletul: F=(X,Y,f) unde X este multimea variabilelor de intrare si Y e multimea varibilelor de iesire din sistem .
Circuitele logice secventiale sunt acele circuite la care variabila sau variabilele de iesire la un anumit tact de functionare adica la un moment dat t depend atat de combinatiile de valori ale variabilelor de intrare, la acelasi moment t, cat si de starile elementelor interne, de memorie, ale circuitului.
1.1. Modelarea circuitelor logice combinationale
Un circuit digital este considerat combinational (CLC) daca, la orice moment, valoarea logica a iesirilor este determinata direct numai de valorile logice ale intrarilor. Sintetizatorul VHDL trateaza sistemele logice ale caror iesiri sunt modificate in momentele determinate de un front sau un palier al unui semnal ca fiind sisteme secventiale.
Recomandari generale
Modelul unui CLC se poate realiza cu urmatoarele constructii VHDL:
-Atribuiri concurente de semnal, inclusiv atribuiri conditionale si prin selectie;
-Structuri cu instantieri de componente de tip CLC;
-Procese fara comutari determinate de fronturi de semnal;
-Proceduri fara comutari determinate de fronturi de semnal;
-Functii.
Sintetizatorul ignora intarzierile precizate in specificatiile de atribuiri de semnale (clauze 'after') sau in specificatii 'wait for'.
Procesele care modeleaza circuite combinationale au urmatoarele particularitati:
-Daca procesele au lista de senzitivitati, atunci aceasta lista contine toate semnalele de intrare (care apar in dreapta simbolului de atribuire de semnal). Daca procesele nu au lista de senzitivitati, atunci trebuie sa aiba o singura clauza 'wait on'in care sa se specifice toate semnalele de intrare.
-Toate semnalele din dreapta simbolurilor de atribuiri de semnale trebuie sa apara in lista de senzitivitati a procesului sau in specificatia 'wait on'.
-Semnalelor din partea stanga a simbolurilor de atribuiri de semnale trebuie sa li se atribuire valori pentru toate conditiile.
-Semnalele din lista de senzitivitati sau din specificatia 'wait on'nu pot apare in partea stanga a simbolurilor de atribuiri de semnale.
-Procesele contin oricate atribuiri de semnale care descriu operatiile realizate de circuit la aparitia unei tranzactii asociate oricarei intrari.
-Sunt permise urmatoarele constructii:
-Atribuiri de semnale
-Atribuiri de variabile
-Specificatii conditionale ('if') sau de selectie ('case')
-Proceduri fara control temporal
1.1.1.Modelarea portilor logice
Sintetizatorul genereaza ecuatiile logice Booleene pentru portiunile de cod VHDL in care apar instantieri de porti logice sau operatori logici. Optimizatorul minimizeaza functiile logice si asociaza ecuatiilor rezultate porti din biblioteca tehnologiei.
Daca modelul VHDL este identic cu modelul unei componente aflate in biblioteca, atunci se va asocia acea componenta. De exemplu, codul care urmeaza este sintetizat sub forma unui multiplexor aflat in biblioteca de tehnologie:
process (a, b, sel)
begin
if (sel = '0') then
cout <= a ;
elsif (sel = '1') then
cout <= b ;
else
cout <= 'X' ;
end if ;
end process ;
In general, sintetizatorul nu poate asocia unei portiuni de cod VHDL o componenta de nivel inalt din biblioteca. Astfel, pentru codul care urmeaza se va asocia o structura de porti logice, desi codul descrie un semisumator de un bit aflat in biblioteca. Fortarea sintezei cu componente de nivel mai inalt se poate face prin optiuni de sinteza (impunerea unor componente preferentiale pentru sinteza).
Preview document
Conținut arhivă zip
- Reguli de Modelare in VHDL a Sistemelor Digitale.doc