luni, 7 februarie 2011

Capitolul I

1.    Importanţa Verilog


1.1.     Noţiuni generale

Mai întâi de toate vom examina două metode tradiţionale de descriere: descrierea logică cu expresii booleene şi una mai universală – asistată de calculator prin schemo-tehnică.
Ambele metode sunt utilizate pe larg în prezent însă au câteva neajunsuri, aceste neajunsuri sînt soluţionate cu limbajele de descriere hardware la nivel înalt.
În ziua de azi o descrierea a unui circuit digital include sute şi chiar mii de porţi logice, de aceea proiectanţii au nevoie de metode mai avansate decât cele schemo-tehnice sau ecuaţii booleene. În prezent cele mai cunoscute în acest domeniu sunt instrumentele pentru descrierea la nivel înalt Verilog HDL şi VHDL. În acest curs ne vom focaliza mai mult pe limbajul Verilog HDL



1.2.    Proiectarea până la Verilog.

1.2.1.    Descrierea cu ecuaţii booleene.

Este greu de descris un oarecare sistem digital fără a face cunoştinţa cu careva construcţii de bază de tipul poartă sau bistabil. O mare parte circuitelor digitale bazate pe porţi logice şi bistabile sînt descrise prin ecuaţii booleene. Au fost elaborate multe tehnici pentru optimizarea acestei metode, inclusiv minimizarea ecuaţiilor pentru utilizare mai efectivă a porţilor şi a bistabililor.
Descrierile booleene necesită ecuaţii pentru fiecare bistabil şi fiecare bloc de porţi. Aceasta duce la ceea că descrierea prin ecuaţii booleene să nu fie practice pentru descrierea sistemelor digitale care conţin sute de bistabili din cauza numărului mare de ecuaţii logice necesare.
Teoretic, orice sistem poate fi reprezentat cu ecuaţii booleene însă deseori nu este comod de a coordona cu mii de ecuaţii logice pe care le are o descriere în ziua de azi.
 
1.2.2.            Descrierea schemo-tehnică. 
Descrierea schemo-tehnică este o metodă ce extinde posibilităţile ecuaţiilor booleene şi acceptă nu numai porţi şi bistabile dar şi circuite întregi. Chiar şi aceste circuite pot fi compuse din porţi bistabile şi alte circuite organizându-se o structură ierarhică. Aceasta dă posibilitatea pentru descriere ierarhică să fie posibilă includerea a mai multor componente fără un mare efort. În majoritatea cazurilor  descrierea schemo-tehnică este mai mult acceptată de utilizatori decât descrierea prin ecuaţii booleene. Mulţi preferă o reprezentare grafică a unui sistem pentru că sînt văzute mai clar legăturile dintre blocurile-componente.
Aşa cum reprezentare schemo-tehnică este o reprezentare grafică, utilizarea este destul de populară. De mai mulţi ani schemo-tehnica era considerată o alegere optimală pentru descrierea sistemelor pînă cînd densitatea şi complexitatea noilor componente a făcut această metodă mai limitată şi consumatoare de timp.

1.2.2.      Dezavantajele metodelor tradiţionale.
În ciuda uşurinţei în utilizare, metodele tradiţionale, descrierea cu ecuaţii booleene şi schemo-tehnică au careva neajunsuri. Cea mai importantă dintre care este că sistemul în acest caz este specificat ca o reţea de elemente interconectate şi nu oglindeşte pe deplin specificaţiile sistemului.
Specificaţiile unui sistem reprezintă comportamentul sistemului adică răspunsului sistemului  la un anumit set de circumstanţe.
Un alt neajuns a metodelor tradiţionale de descriere este coordonarea cu un sistem mai complex.
Descrierea cu sute de ecuaţii booleene este anevoioasă dar posibilă. Situaţii se complică în cazul mii ecuaţii logice. La fel este recunoscut că o descriere schemo-tehnică cu peste şase sute de porţi devine ininteligibilă.
Circuitele integrate actuale conţin milioane de porţi şi densitatea lor este încă în creştere, şi deci se cer noi metode de descriere.
Mersul descrierii unui sistem utilizând metodele tradiţionale:
1. La primul pas se face o descriere formală care se transformă în set de ecuaţii booleene după care o descriere schematică.
2. Transformarea ecuaţiilor booleene  într-o reţea de porţi şi bistabile este executată manual (cei mai experimentaţi transformă descrierea formală direct în schemo-tehnica). Descrierea schematică se face de obicei prin „desenare” folosind instrumente CAE (computer aided engineering) sau CAD (computer aided developement).
3. Descrierea schemo-tehnică serveşte ca bază pentru sinteză sau implementare. Dacă  nu vre-o platforma, implementarea se face manual, altfel, atunci când se utilizează un dispozitiv programabil, adică instrumentele de tip CAD, implementarea se execută automat.

1.2.3.    Limbaje de descriere hardware (HDL).

Unu din cele mai mare neajunsuri a metodelor tradiţionale de proiectare este transformarea manuală a descrierii sistemului într-un set de ecuaţii logice sau schematice. Acest pas poate fi eliminat utilizând un limbaj de descriere hardware. De exemplu majoritatea instrumentelor HDL permit o utilizare a automatelor finite pentru sisteme secvenţiale şi tabele de adevăr pentru module combinaţionale. Această reprezentare poate fi automat convertită într-un HDL şi mai târziu implementată utilizând instrumentele de sinteză.
HDL-urile şi-au găsit cea mai mare aplicaţie în dispozitivele  logice programabile (PLD) de deferită complexitate, de la cele mai simple PLD-uri până la cele mai complexe numite CPLD şi matrice de porţi programabile FPGA (filed programable gate array). Pentru acest scop, la momentul actual, se utilizează diferite limbaje. Cele mai populare fiind Abel, Palasm, Cupl utilizate pentru sisteme mai puţin complexe de tipul PLD, şi Verilog şi VHDL pentru sisteme mai complexe de tipul CPLD şi FPGA.

1.2.4.    Utilizarea diferitor nivele de descriere.
Odată ce circuitele devin tot mai complexe şi deosebesc două orientări de descriere:
-    forme generalizate de descriere;
-    automatizări a descrierilor de tipul descriere-comportamentală.
Există câteva nivele de descriere a sistemelor digitale, începând cu nivelul „placă de siliciu” până la nivelul „sistem”. Aceste nivele pot fi analizate din două puncte de vedere: structură şi comportament. În prezent tehnologiile sînt atât de sofisticate încât metodele tradiţionale de proiectare nu acoperă tot spectru de descriere la toate nivelele. Instrumentele automatizate de proiectare au apărut recent în ultimii ani şi acoperă chiar şi cele mai de jos nivele (placă de siliciu).
1.3.    Soluţii cu Verilog

1.3.1    De ce într-adevăr are nevoie proiectantul.

Metodele de proiectare descrise mai sus par a fi destul de complete. Totuşi majoritatea din ele participă nu mai la o mică parte la procesul de proiectare. Pentru a completa descrierea sistemului putem avea nevoie de o trecere de la un tip de descriere la altul sau de la un instrument la altul, trecând peste compatibilitate instrumentelor şi învăţarea a noilor medii.
Aceste descendenţe pot fi rezolvate cu o metodă de descriere universală care acoperă toate nivelele şi tipurile de descrieri. Verilog este una din aceste metode care permite descrierea la diferite nivele. Cu el se poate standardiza transferul de date între fazele de descriere şi simplifică documentarea.



1.3.2    Ce este Verilog HDL?

Deoarece termenul Verilog a fost utilizat mai sus de mai multe ori, deci e timpul să explicăm ce înseamnă el.
Verilog, sau Verilog HDL denumirea completă, este un limbaj de descriere a hardware elaborat în 1984-1985 de Philip Moorby care avea nevoie de o simplă, intuitivă şi efectivă cale de a descrie circuitele digitale pentru modelare, simulare şi analiză efectivă. Mai tîrziu limbajul a devenit proprietatea Gateway Design Automatition, care la rîndul său a fost cumpărată de Cadence Design Systems. Din 1990 Cadence a deschis limbajul pentru a fi utilizat liber, şi a fost supus standardizării ca limbaj de către IEEE  în 1995.
Verilog este o marcă înregistrată, proprietate a Cadence Design Systems Inc. şi formal toată informaţia prezentată în acest document se referă la Verilog HDL definit de standardul IEEE 1364.
Proprietăţile Verilog.
-    Fondal puternic. Elaborarea şi promovarea Verilog este susţinută din 1991 de către Open Verilog International (OVI) menită pentru promovarea acestui limbaj. Pînă 1990 Verilog a fost proprietate unei companii comerciale, care a întărit aplicarea lui în practică, însă şi a restricţionat popularitatea lui.
-    Suport industrial. Verilog a fost întotdeauna popular pentru proiectanţi in ASIC pentru că este uşor de învăţat şi permite o simulare rapidă şi o sinteză efectivă. Referîndu-ne la “EETimes” din 1993 pentru fondurile ASIC 85% a fost proiectate în Verilog. Această este estimat mai mult de un miliard de USD investiţi în Verilog în ultimii 10 ani.
-    Universalitate. Verilog permite ca procesele de proiectare să fie efectuate într-un singur mediu  de proiectare incluzînd cît proiectarea atît şi verificarea. Însă Verilog nu este cel mai potrivit pentru proiectele de complexitate la nivelul „System” şi asta este principalul său neajuns.
-    Extensibilitate. Standardul IEEE 1364 conţine definiţii pentru Verilog PLI  (Programing Language Interface),  interfaţa limbajului de programare, care permite extinderea capacităţilor  limbajului Verilog. Această este o colecţie de instrumente care permite accesul la datele dintr-un proiect Verilog.

1.3.3    Verilog şi VHDL.

Mai mulţi proiectanţi se întreabă care limbaj HDL să aleagă: Verilog sa VHDL? Nu este uşor de răspuns la această întrebare, deoarece ambele au anumite avantaje evidente, iar învingătorul definitiv va fi cunoscut peste ceva mai mulţi ani.
Verilog este uşor de înţeles şi realizat. De cîţiva ani a fost ales ca limbaj pentru aplicaţiile industriale care necesită şi simularea şi sinteză. Nu are, însă, construcţii necesare specificaţiilor la nivelul de proiectare „System”.
VHDL este mai complex, este mai greu de înţeles şi utilizat. Însă oferă o mai mare flexibilitate, care este de fapt şi avantaj şi dezavantaj deoarece duce la o abundenţă de permisiuni în stiluri de cod. Pînă cînd VHDL este cel mai bun în proiectarea celor mai sofisticate descrieri.
- Verilog HDL. Instrument întreţinut de OVI (www.ovi.org).
Caracteristici: Este bine acceptat în ASIC în particular în descrierea nivelelor inferioare (nivel de transfer registru RTL şi mai jos) din cauza simulării rapide, relativ simple, uşor la primul contact, în special pentru utilizatorii limbajului C. De mai mult timp are probleme cu proiectarea la nivelul „System”.
Popularitate: Mai mult în America de Nord, Asia – Japonia în special în industrie. Nu prea este popular în Europa.
- VHDL. Întreţinut de VHDL International (www.vhdl.org ).
Caracteristici: Relativ slab în proiectări la nivel jos („Silicon”) însă superior la cele de sus şi nivelul de proiectare „System”. Are un timp de simulare mare, însă perfect stabil, foarte flexibil, însă dificil şi caracter complex, popular în academie, apropiat limbajului ADA.
Popularitate: În Europa şi o parte semnificativă în SUA şi Canada nu este utilizat în Japonia, însă câştigător în lume.