Sunteți pe pagina 1din 16

Analiza și sinteza dispozitivelor numerice

Conf.univ.dr.ing. Oniga Ștefan


UTCN Centrul
UTCN- C t lU Universitar
i it dde N
Nord
dBBaia
i MMare

2012 2013
2012-2013
Comparatoare digitale
• Indică relația
ț dintre două numere (egale,
( g mai mic, mai mare).
)
• Dintre cele 3 doar una poate fi adevărată

Comparator de 1 bit

fiA<B A B fi A<B feA=B fs A>B


A 0 0 0 1 0
CLC feA=B
0 1 1 0 0
B fsA>B 1 0 0 0 1
1 1 0 1 0

fe  A  B  A  B  A  B  A  B  A  B

fi  A  B

fs  A  B
Comparator pe 2 biți I
• Fie 2 numere:
A  A1  21  A0  20
B  B1  21  B0  20
• Două numere de 2 biți sunt egale dacă biții corespunzători sunt
egali

FA  B  A1  B1  A 0  B0  (A1B1  A1 B1 )(A 0 B0  A 0 B0 )

A0=1 1 A0=0 0
B0=1 1 B0=1 0
A1=0 1 A1=1 1
B1=0 B1=1
Comparator pe 2 biți II

• R l țiil care iindică


Relațiile di ă inegalitatea:
i lit t

• A < B este
t adevărată,
d ă tă d ă A1 < B1
dacă B1,
sau dacă A1 = B1 și A0 < B0

FA B  A1 B1  ( A1 B1  A1 B1 ) A0 B0

• A > B este adevărată, dacăA1 > B1,


sau dacă A1 = B1 și A0 > B0

FA  B  A1 B1  (A1B1  A1 B1 )A 0 B0
Comparator pe 2 biți III
FA  B  A1  B1  A 0  B0

FA  B  A1 B1  (A1B1  A1 B1 )A 0 B0

FA B  A1 B1  ( A1 B1  A1 B1 ) A0 B0
A1<B1
P1 P5 A<B

A1 A1=B1
B1 P8
A1>B1

P2
A=B
A0<B0 P7
P3
A0
A0=B0
B0 P9
A>B
A B
P4 A0>B0
P6
Comparatoare pe mai mulți biți
• Comparator
p p
pe 4 bițiț
– CI de tipul SN 7485
– Intrări
• Biții celor două numere de comparat (A0, A1, A2, A3 és B0, B1, B2, B3)
• Intrări de expandare Ai<Bi, Ai=Bi, Ai>Bi, la care se leagă

rezultatul comparării celor patru biți mai puțini semnificativi.


semnificativi
– Ieșiri, care arată care dintre relațiile (A<B, A=B, A>B)
este adevărată
adevărată.
– Extinderea serială a comparatoarelor:
Sumatoare
• Porturile unui sumator (adder)
− intrări
− cele două numere de adunat A și B
− transportul de la poziția mai puțin semnificativă (Cin-carry)
− ieșiri
− suma (S)
− transportul (Cout)

• Semisumatoare (half adder)


• Sumatoare complete (full adder) A
A
é
După modul de funcționare:
B
 S
(
• Sumatoare seriale
• Sumatoare paralele Cin Cout k

În funcție de codificarea operanzilor:


• Sumatoare binare
• Sumatoare BCD
Semisumatoare
Nu țin cont de transportul de la bitul mai puțin semnificativ
Se pot folosi doar în poziția bitului cel mai puțin semnificativ

A0 B0 S0 C0
0 0 0 0 S0  A 0  B0  A 0  B0  A  B
0 1 1 0
1 0 1 0 C0  A 0  B0
1 1 0 1

1
2

Sumatoare complete
Țin cont de transportul de la bitul mai puțin semnificativ
Ai Bi Ci-1 Si Ci
0 0 0 0 0
0
1
1
0
0
0
1
1
0
0
Si  A i  Bi  C i 1
1 1 0 0 1

C i  A i Bi  A i C i 1  Bi C i 1
0 0 1 1 0
0 1 1 0 1
1 0 1 0 1
1 1 1 1 1

Un sumator complet
p se p
poate obține
ț utilizând două semisumatoare:
½Σ ½Σ Ai Bi Ci-1
S'i Si
Ai A Σ A Σ
C'i C''
Bi B Cout B Cout
Ci Σ
Ci-1
Ci Si
Sumatoare pe mai mulți biți I
Se pot realiza utilizând sumatoare complete

Sumator pe 4 biți cu transport succesiv (Ripple carry adder): 7483

A4 B4 A3 B3 A2 B2 A1 B1

C0

A B Cin A B Cin A B Cin A B Cin

Cout  Cout  Cout  Cout 

C4
C3 C2 C1
S S3 S S

L t
Lent

Rezultatele Si și Ci se obțin doar după ce Ci-1 de la etajul precedent este disponibil


Sumatoare pe mai mulți biți II
Sumator pe 4 biți cu transport anticipat (Look
(Look-ahead
ahead carry adder)

C i  A i Bi  (A i  Bi )C i 1  (A i Bi  A i C i 1 )  Bi C i 1
Keletkező carry
Generate átvitel Terjedő átvitel
Propagate carry
Cgi Cpi

Ai ½Σ Si A
Sum
Bi
Ci
B

Cout
Ai-1
A1 Logică
g de
calcul Cin
Bi-1
transport
B1 succesiv
C0
Sumator paralel pe 4 biți
A4 B4 A3 B3 A2 B2 A1 B1

C in4 C in3 C in2


C in
Look-ahead carry adder
A B C in A B C in A B C in A B C in

C out  C out  C out  C out 

C out
C out3 C out2 C out 1
S um4 S um3 S um2 S um1
C g4 =A 4 B 4 C g3 =A 3 B 3 C g2 =A 2 B 2 C g1 =A 1 B 1
C p4 =A 4 +B 4 C p3 =A 3 +B 3 C p2 =A 2 +B 2 C p1 =A 1 +B 1
Cout1=Cg1+Cp1Cin1
Cin2=C
Cout1
Cout2= Cg2+Cp2Cin2= Cg2+Cp2Cout1= Cg2+Cp2(Cg1+Cp1Cin1)= Cg2+Cp2Cg1+ Cp2Cp1Cin1
Cout2=A2B2+(A2+B2) A1B1+(A2+B2) (A1+B1)Cin1
Cin3=C
Cout2
Cout3= Cg3+Cp3Cin3= Cg3+Cp3Cout2= Cg3+Cp3(Cg2+Cp2Cg1+Cp2Cp1Cin1)= Cg3+Cp3Cg2+
Cp3Cp2Cg1+ Cp3Cp2Cp1Cin1
Cin4=Cout3
Cout4=C
Cg4+CCp4Cin4=C
Cg4+C
Cp4Cout3= Cg4+C
Cp4(Cg3+C
Cp3Cg2+CCp3Cp2Cg1+C
Cp3Cp2Cp1Cin1) =
Cg4+Cp4Cg3+ Cp4Cp3Cg2 + Cp4Cp3Cp2Cg1+ Cp4Cp3Cp2Cp1Cin1
Sumator paralel pe 4 biți
Cout1=Cg1+Cp1Cin1
Cin2=Cout1
Cout2= Cg2+Cp2Cin2= Cg2+Cp2Cout1= Cg2+Cp2(Cg1+Cp1Cin1)= Cg2+Cp2Cg1+ Cp2Cp1Cin1
Cout2=A2B2+(A2+B2) A1B1+(A2+B2) (A1+B1)Cin1
Cin3=Cout2
Cout3= Cg3+Cp3Cin3= Cg3+Cp3Cout2= Cg3+Cp3((Cg2+Cp2Cg1+Cp2Cp1Cin1))= Cg3+Cp3Cg2+ Cp3Cp2Cg1+
Cp3Cp2Cp1Cin1
Cin4=Cout3
Cout4=Cg4+Cp4Cin4=Cg4+Cp4Cout3= Cg4+Cp4(Cg3+Cp3Cg2+Cp3Cp2Cg1+Cp3Cp2Cp1Cin1) = Cg4+Cp4Cg3+
Cp4Cp3Cg2 + Cp4Cp3Cp2Cg1+ Cp4Cp3Cp2Cp1Cin1
A4 B4 A2 B2 A1 B1
A3 B3

Cg 4 Cg 3 Cg 1
Cg 2
Cp 3 Cp 2 Cp 1
Cp 4

Cin

B
A

B
A
Co ut2
Sumator Cin Co ut1 Sumator Cin
B
A

B
A

S
Co ut3
Sumator Cin Sumator Cin
S

S
Co ut4

S2 S1
S3
S4
Detectorul şi generatorul de paritate
Coduri detectoare și corectoare de erori
Paritate pară Paritate impară

Cea mai simpla metodă: P BCD P BCD


0 0000 1 0000
- bit de paritate 1 0001 0 0001
- La emisie se formează un nou cuvânt de cod prin adăugarea unui 1 0010 0 0010
bit suplimentar la cei existenţi, a.î. numărul de cifre de „1” din 0 0011 1 0011
cuvântul nou format să fie par (sau impar). 1 0100 0 0100
0 0101 1 0101
- La recepţie se verifică paritatea sau imparitatea numărului de cifre 0 0110 1 0110
de „1” din cuvântul recepţionat 1 0111 0 0111
1 0100 0 0100
• paritate pară 0 1001 1 1001
• paritate impară
x y x XOR y
00 0
Dezavantaje: 01 1
– Nu pot corecta eroarile, doar le detectează 10 1
– Poate detecta doar un număr impar de erori. 11 0

x
Ușor de realizat cu: poartă XOR y
Detectoare de paritate
p

Detector de paritate pt. cuvinte de 4 biți A0 A1 A2 A3 Y1 Y2 Y3


0 0 0 0 0 0 0
A0 Y1
P1 0 0 0 1 0 1 1
A1 A0 0 0 1 0 0 1 1
Y3 Y
P3 A1 Y 0 0 1 1 0 0 0
P4
A2 Y2 A2 0 1 0 0 1 0 1
P2 0 1 0 1 1 1 0
A3 A3
0 1 1 0 1 1 0
P
0 1 1 1 1 0 1
P 1 0 0 0 1 0 1
P – Semnal de setare a tipului de paritate: 1 0 0 1 1 1 0
1 0 1 0 1 1 0
Y3 P Y 1 0 1 1 1 0 1
0 0 0 1 1 0 0 0 0 0
1 0 1 1 1 0 1 0 1 1
0 1 1 1 1 1 0 0 1 1
1 1 0 1 1 1 1 0 0 0

• P = 0 => Y = Y3 => generator de paritate pară

P = 1 =>
•P > Y = Y3 =>
> generator de paritate impară
Schemă de transmisie cu detectoare de paritate
p

Emițător – generator de paritate:


- Extinderea biților de date cu bitul de paritate => numărul de biți
de 1 în cuvântul extins este par.

Receptor – detector de paritate:


- Verificarea parității cuvântului extins recepționat

^
A0 A0
A1 A1 Y
Jel bitek A2 Y A2 Y
A3 P ^ A3 P
^
Paritás hiba jelző
0 0 Paritás bit 0

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