3.4. Pentru cei ce vor s˘a devin˘a profesioni¸sti 45
Figura 3.19 Circuitul comparator de 1 bit: simbol bloc ¸si structur˘a de port¸i logice.
3.4 Pentru cei ce vor s˘a devin˘a profesioni¸sti
1. S˘a se proiecteze un circuit logic care s˘a compare 2 bit¸i A ¸si B ¸si care s˘a t¸in˘a cont de rezultatul comparat¸iei unor
bit¸i de pondere superioar˘a.
Solut¸ie
ˆ
In cazul propag˘arii rezultatelor compar˘arii de la bit¸ii mai semnificativi, circuitul are 5 intr˘ari (intr˘arile comparate
A ¸si B ¸si intr˘arile cu rezultatele compar˘arii bit¸ilor superiori G
i
, E
i
, L
i
) ¸si 3 ie¸siri (rezultatele compar˘arii bit¸ilor
curent¸i sau propagarea rezultatelor compar˘arii bit¸ilor superiori G
o
, E
o
, L
o
).
Tabelul de funct¸ionare al acestui circuit este:
G
i
E
i
L
i
A B G
o
E
o
L
o
Observat¸ii
0 0 0 X X X X X caz imposibil la intrare
0 0 1 X X 0 0 1 deja s-a determinat c˘a A < B
0 1 0 0 0 0 1 0
0 1 0 0 1 0 0 1 prin compararea bit¸ilor superiori,
0 1 0 1 0 1 0 0 s-a determinat pˆan˘a acum c˘a A = B
0 1 0 1 1 0 1 0
0 1 1 X X X X X caz imposibil la intrare
1 0 0 X X 1 0 0 deja s-a determinat c˘a A > B
1 0 1 X X X X X caz imposibil la intrare
1 1 0 X X X X X caz imposibil la intrare
1 1 1 X X X X X caz imposibil la intrare
Din tabelul de adev˘ar se deduc ecuat¸iile:
G
o
= G
i
+ E
i
· A · B A > B dac˘a din compararea bit¸ilor mai semnificativi s-a dedus c˘a
A > B (G
i
= 1) sau dac˘a pˆan˘a la acest index a fost egalitate (E
i
= 1) ¸si A
i
> B
i
.
E
o
= E
i
· A ⊕ B A = B dac˘a din compararea bit¸ilor mai semnificativi s-a dedus
egalitatea (E
i
= 1) ¸si bit¸ii curent¸i sunt deasemenea egali A
i
= B
i
.
L
o
= L
i
+ E
i
· A · B A < B dac˘a din compararea bit¸ilor mai semnificativi s-a dedus c˘a
A < B (L
i
= 1) sau dac˘a pˆan˘a la acest index a fost egalitate (E
i
= 1) ¸si A
i
< B
i
.
Ecuat¸iile de mai sus se pot deduce prin observarea cazului cˆand o anumit˘a ie¸sire este activat˘a, la parcurgerea
bit¸ilor de la cel mai semnificativ (stˆanga) spre cel mai put¸in semnificativ (dreapta). Comparatorul de index i va
realiza urm˘atoarele funct¸ii:
- Num˘arul A este mai mare decˆat B (G
o
= 1) dac˘a ˆın urma compar˘arii bit¸ilor superiori s-a decis c˘a A > B
(G
i
= 1) sau dac˘a ˆın urma compar˘arii bit¸ilor superiori s-a decis c˘a A = B (E
i
= 1) ¸si A
i
> B
i
.
- Num˘arul A este egal cu B (E
o
= 1) dac˘a ˆın urma compar˘arii bit¸ilor superiori s-a decis c˘a A = B (E
i
= 1) ¸si
prin compararea bit¸ilor curent¸i se constat˘a c˘a A
i
= B
i
.
- Num˘arul A este mai mic decˆat B (L
o
= 1) dac˘a ˆın urma compar˘arii bit¸ilor superiori s-a decis c˘a A < B
(L
i
= 1) sau dac˘a ˆın urma compar˘arii bit¸ilor superiori s-a decis c˘a A = B (E
i
= 1) ¸si A
i
< B
i
.
Figura 3.20 prezint˘a simbolul bloc ¸si structura de port¸i logice a circuitului comparator cu propagarea rezultatelor
compar˘arii de la bit¸ii superiori.