Sunteți pe pagina 1din 13

PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

II. Sumator pe un bit

II.1. Scopul lucrării

Lucrarea propune proiectarea unui sumator pe un bit.


Este prezentată introducerea teoretică şi se cere
implementarea sumatorului şi simularea funcţionării acestuia.

II.2. Descriere teoretică a lucrării

Un sumator pe M biţi are la intrare două numere pe M


biţi şi la ieşire o sumă de M biţi. De asemenea există o intrare
pentru transportul din rangul anterior (Carry In) şi încă o ieşire
pentru transportul spre rangul superior (Carry Out).
Schema sumatorului este prezentată mai jos :
Transport din
rangul anterior

M biţi intrare

M biţi ieşire

M biţi intrare

Fig 2.1. Sumatorul

În unităţile de calcul moderne sunt folosite circuite de


adunare şi scădere implementate paralel. La baza oricărei
structuri de adunare se află sumatorul complet pe un bit.
Construcţia acestuia începe de la construirea tabelului
de adevar pentru o operaţie de adunare.

21
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

Sumatorul complet pe un bit este conceput pentru


adunarea a două numere pe câte un bit fiecare returnând
drept rezultat un bit de sumă şi unul de transport. Acesta are
două intrări fiind cele două numere iar cea de-a treia fiind
transportul pe intrare conform figurii de mai jos:

Fig. 2.2. Schema bloc a sumatorului elementar

Pentru adunarea a două numere pe un bit fiecare ar fi


fost suficient numai intrarea a şi b.
Totuşi în unele situaţii. Pentru ca acest modul să poată
fi folosit în sumatoare extinse pe mai mulţi biţi poate fi necesar
ca să existe în plus, ca intrare, şi eventualul transport rezultat
dintr-un proces anterior.
În practică, pentru realizarea circuitelor de adunare a
doi operanzi pe mai mult de un bit, se folosesc mai multe
asemenea blocuri interconectate între ele.
Pentru proiectarea sumatorului de mai sus se foloseşte
urmatorul tabel de adevăr:

Ai Bi Ti Si Ti-1
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

22
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

O soluţie de implementare a circuitului folosind şi porţi


XOR (disponibile în structurile logice actuale) ar fi următoarea:

Fig. 2.3. Schema logică a sumatorului elementar

• întârzierea / poartă @ 12ns

• Þ timpul de răspuns al circuitului @ 24ns

Prin factorizare se pot obţine forme mai simple, realizabile cu


circuite mai puţine:

  
Si  Ai Bi Ti  Ti Bi Ti  Ai Bi Ti  Bi Ti 
Si  Ai  Bi  Ti   Ai  Bi  Ti   Ai   Bi  Ti 

Fig. 2.4. Schema logică a sumei

23
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

• Timpul de întârziere XOR @ 18ns Þ timpul de răspuns


al circuitului @ 36ns

• Se preferă forma cu un nr. minim de niveluri pentru că


în general se impune un timp cât mai mic de realizare
al sumei.

• Transportul pe un singur rang, Ti-1 :

Fig. 2.5. Schema logică a transportului

T i 1  Ai Bi T i  Ai Bi T i  Ai Bi T i  Ai Bi T i 
    
 Bi T i Ai  Ai  Ai T i Bi  Bi  Ai Bi T i  T i  
 Ai Bi  Ai T i  Bi T i

II.3. Implementarea practică a sumatorului elementar

La fel ca în cazul circuitului care determină drumul


optim vom prezenta toţi paşi necesari pentru a implementa
circuitul sumator elementar.
Pentru implementarea şi simularea circuitului fom folosi
Xilinx ISE 8.1i.

24
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

Pasul 1: Folosind File-New Project, vom crea un proiect nou


corespunzător acestui circuit.

Pasul 2: Denumim proiectului, iar la Top Level Source Type


selectăm Schematic.

25
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

Pasul 3: Verificam daca familia este XC9500 CPLDs.

Pasul 4: Apasam butonul New Source, pentru a crea un fişier


nou în proiect.

26
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

Pasul 5: Alegem din lista tipul de sursa-Schematic, dsenumim


fişierului şi trecem la pasul următor.

Pasul 6: Schema logică se realizează folosind din bara de


meniu Symbols-Add Symbols pentru a plasa porţile logice pe

27
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

placă, apoi Add Wires pentru a conecta porţile şi nu în ultimul


rând folosim IO Markers pentru a desena intrările, respectiv
ieşirea circuitului.

Pasul 7: Selectăm din meniul ferestrei Process-Implement Top


Module, pentru a implementa schema creată.

28
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

Pasul 8: Acest raport indică faptul că schema este corect


corectă din punct de vedere al funcţionalităţii.

Pasul 9: Alegem modul Behavioral Simulation pentru a simula


funcţionarea schemei implementatea la pasul anterior.

29
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

Pasul 10: În fereastra Processes, folosim Create New Source.

Pasul 11: Seletam din listă obţiunea Test Bench WaveForm,


urmând să denumim fişierului test.

30
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

Pasul 12: Verificăm dacă fişierul test este asociat fişierului


sursă, dupa care trecem la pasul următor.

Pasul 13: În fereastra deschisă selectăm Combinatorial,


deoarece circuitul implementat face parte din categoria
circuitelor combinaţionale

31
ERICA MANG, IOAN MANG, CONSTANTIN POPESCU

Pasul 14: În fişierul test asignăm valori intrărilor, conform


tabelului de adevăr.

Pasul 15: Folosind Model Sim vom obţine fişierul de simulare.

II.4. Teme propuse

32
PROIECTAREA LOGICĂ A CIRCUITELOR COMBINAŢIONALE. APLICAŢII.

Să se implementeze şi apoi simuleze cicuitul sumator


pe 4 biţi.

33

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