0% au considerat acest document util (0 voturi)
30 vizualizări5 pagini

Tutorial 1 - Comparatoare

Acest document prezintă un tutorial despre proiectarea structurală a unui comparator de 4 biți folosind limbajul VHDL. Explică faptul că vor fi comparate două numere binare de câte 4 biți fiecare pentru a determina relația lor. Detaliază proiectarea circuitului comparator la nivel de porți logice și implementarea designului în VHDL, inclusiv concepte de bază precum semnale, entități, arhitecturi și simulare în ModelSim. Obiectivul este ca studenții să învețe să proiecteze circuite digitale prin descriere și.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
30 vizualizări5 pagini

Tutorial 1 - Comparatoare

Acest document prezintă un tutorial despre proiectarea structurală a unui comparator de 4 biți folosind limbajul VHDL. Explică faptul că vor fi comparate două numere binare de câte 4 biți fiecare pentru a determina relația lor. Detaliază proiectarea circuitului comparator la nivel de porți logice și implementarea designului în VHDL, inclusiv concepte de bază precum semnale, entități, arhitecturi și simulare în ModelSim. Obiectivul este ca studenții să învețe să proiecteze circuite digitale prin descriere și.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Tutorial 1 - Design structural al unui comparator

Electronică digitală I (2016498)


Universitatea Naț ională din Colombia
Bogotá, 2022
Introducere

VHDL este un limbaj de descriere a hardware-ului folosit pentru a proiecta circuite logice
programabil pe un dispozitiv FPGA. Ca un limbaj de programare, are sintaxa sa respectivă
pentru a implementa funcț ii ș i a efectua operaț ii precum atribuiri, condiț ionale sau cicluri, dar
a diferenț ă de acestea, prezintă mult mai multe limitări, deoarece toată descrierea care se face trebuie
a avea un sentiment fizic.

În acest prim tutorial vom realiza designul unui element comparator prin descriere
estructural, adică, definind clar conexiunile dintre semnalele de intrare ș i ieș ire ale
sistem prin intermediul porț ilor logice ș i altor dispozitive de logică fixă pe care le putem găsi de
forma comercial. Principala avantaj a acestui tip de descriere este că avem plină
cunoș tinț e despre cum să construieș ti un circuit fără a depinde de un dispozitiv de logică programabilă
ceea ce, în alte cuvinte, rezultă în dezvoltarea unui proiect cu costuri reduse.

Aș a cum s-a menț ionat, vom realiza designul unui comparator. Acest dispozitiv permite
compara două cantităț i binare pentru a determina relaț ia lor1ne spune dacă sunt egale sau care dintre ele
este mai mare. În continuare, în figura 1 se poate observa schema unui comparător de 4 biț i.

Figura 1. Schema unui comparator de 4 biț i. [1]

În schema din figura 1, ca intrări se au două numere binare de 4 biț i (A ș i B) ș i trei


ieș iri care indică dacă A este mai mare decât B, dacă sunt egale sau dacă A este mai mic decât B. Intern, ceea ce
acest dispozitiv compară bit cu bit, începând cu cei mai semnificativi (A3,B3), ș i revizuieș te
relaț ia lor. Dacă unul dintre ei este mai mare, acel număr va fi cel mai mare ș i va primi un 1 logic în
ieș ire corespunzătoare, dar dacă sunt egale va trece la următorul set de biț i ș i va face o nouă revizuire.
Ș i în final toț i biț ii sunt egali, ceea ce înseamnă că ambele numere sunt egale ș i se va stabili un 1
lógica la ieș ire = Dacă dori ț i să intra ț i în detalii suplimentare, se sugerează să revizui ț i sec ț iunea 6.4
(Comparatoare) din cartea Fundamentele sistemelor digitale, Floyd 9oeditare.
Obiective

✓ Proiectaț i un circuit comparator pentru a determina relaț ia dintre două numere.


✓ Cunoaș terea elementelor de bază ale limbajului de descriere a hardware-ului VHDL.
✓ Înț elegerea fundamentelor designului circuitelor prin descriere structurală.
Designul circuitului

Designul circuitului comparatorului se realizează în următorul mod:

1. Se elaborează un comparator pentru fiecare pereche de bi ț i pe baza următoarei tabele de adevăr.

Tabloul 1. Tabloul de adevăr al unui comparat de biț i.

2. Se definesc atunci următoarele expresii booleene.

(=) = ( = )= ̅̅̅̅̅̅̅̅̅̅ ⊕
(>) = ( > )
= ̅
(<) = ( < =) ̅

Obț inând circuitul următor

Figura 2. Circuit comparatoare de două biț i.

3. Pentru a stabili prioritatea de compara ț ie se consideră următoarele:


• Cele două numere sunt egale dacă toate bitii sunt egali. Sub formă de circuit logic
echivalează cu conectarea tuturor ieș irilor o poartă AND. În logica booleană
echivalează cu o înmulț ire între toate ieș irile .

( = )= 3 2 1 0
• Fiind un circuit combinational, toate bitii sunt comparaț i în acelaș i timp, prin
Aș adar, trebuie să stabilim un filtru pentru a da prioritate bitilor cei mai semnificativi.
• Si 3> 3atunci > ș i se atribuie 1 acestei ieș iri (acelaș i lucru pentru 3< 3 ). Si
nu, înseamnă că 3= 3ș i se acordă atenț ie comparaț iei de 2con 2 . De
forma logică poate fi interpretată ca

( > )= 3+ 3 2

• Aceasta se poate extinde către celelalte biț i, având în vedere că toate


comparările anterioare trebuie să rezulte în egalitate pentru a putea considera
inegalităț ile următoare, ceea ce se interpretează ca

( > )= 3+ 3 2+ 3 2 1+ 3 2 1 0

Pentru a oferi un pic mai multă claritate, ultimul termen al expresiei anterioare ne
zice că > ș i bitii 3, 2 ș i 1 sunt egali ș i dacă 0> 0 . Pentru a înț elege mai bine aceasta
se sugerează revizuirea capitolului 4 Algebra lui Booledel Floyd, 9aediț ie.

• Se analizează în mod similar pentru < .

Construcț ia circuitului în VHDL


Secț iunea anterioară a fost dezvoltată pentru a oferi înț elegere despre ceea ce se va programa ș i pentru a arăta
ca exemplu de un design structural. Pentru a dezvolta această practică, vă rugăm să descărcaț i
proiecttutorial comparador situat în folderul material ghiduri. (modifică)

Concepturi de bază:

- Semnal: Un semnal poate fi înț eles ca un cablu. Un cablu poate avea doar o valoare (0
1) într-un anumit moment de timp. Pentru a atribui un semnal se foloseș te simbolul <=
- Entitate:Dentro de aceasta se definesc semnalele de intrare, de ieș ire ș i parametrii opț ionali.
Semnalele de intrare nu pot fi alocate (adică nu pot fi pe partea stângă)
Semnalele de ieș ire nu pot fi operate sau atribuite semnalelor intermediare (nu
pot fi alături de dreapta a <=).
- Arhitectură: În aceasta se declară semnale intermediare, componente ș i se realizează
descrierea circuitului logic. Declaraț iile se fac înainte de cuvântul begin ș i
după ea se realizează descrierea.
Operatori logici de bază: Pentru a da prioritate operaț iunilor, folosiț i ( ).
oC <= AandB: C este 1 doar dacă A ș i B sunt 1.
oC <= AorB: C este 0 doar dacă A ș i B sunt 0.
oC <=notA: C este 1 dacă A este 0, ș i viceversa.
oC <= AxorB: C este 1 dacă A ș i B sunt diferite, dacă sunt egale este 0.
- Tipuri de date:
semnalul poate lua o valoare de 0 sau 1.
semnalul poate lua o stare de 0, 1, de impedan ț ă înaltă sau alte stări.
ostd_logic_vector: Este este un semnal sub formă de vector. Pentru a indica dimensiunea sa.
se usa (bdowntoa) sib > ao (b toa) si b < a. În primul caz, bitul mai
semnificativ se va găsi în partea stângă, iar în al doilea caz va fi în partea dreaptă.
- Componente: Se utilizează pentru a elabora circuitul într-o manieră modulară. Acestea permit să avem
un design organizat ș i evită repetarea codului. Pentru aceasta, mai întâi trebuie declarat
componente ș i apoi (după început) se creează mai multe instanț e ale aceluiaș i.

Pentru a înț elege mai bine aceste concepte, vă rugăm să completaț i codul situat în carpeta de
drive Digital I–Materiale clase/tutoriale/comparatoar.
Simularea în ModelSim

În continuare se prezintă un exemplu de simulare. În carpeta work (ortl_work) ne trebuie


apare apariț ia fiș ierelor proiectului. Dacă facem dublu clic pe o entitate, semnalele vor fi plasate
să aibă într-un cadru albastru închis.

Pentru a adăuga un semnal de intrare la simulare, facem clic dreapta pe el, mergem la
modificăm/aplicăm unda…(1) ș i dăm semnalului forma dorită. Pentru a adăuga un semnal intern
(intermedia) o de ieș ire doar selectăm add wave(2).
Pentru a începe simularea, facem clic pe una dintre opț iunile de Run(1). Pentru a o reinicia, se are
opț iuneaRestart(2). Putem modifica forma de reprezentare a datelor dând clic dreapta
despre care dorim în consola gri, mergem la Radix ș i alegem un tip de reprezentare (3).

În consola de culoare neagră veț i putea observa rezultatul simulării dumneavoastră (1). Dacă doriț i să creș teț i sau
reduceț i zoomul dând clic dreapta pe ea ș i selectaț i zoom în sau zoom înapoi.

Livrabil

- Realizaț i un videoclip de maximum 5 minute în care să explicaț i funcț ionarea programului.


ș i prezentaț i în mod clar simularea sa în ModelSim.

Important

▪ Practica trebuie să se desfăș oare în mod individual.


▪ Data limită pentru livrare: 7 aprilie 2022.

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