Documente Academic
Documente Profesional
Documente Cultură
k
m m m
m m
X
1
X
2
X
3
Z
1
Z
2
Date de iesire
Date de intrare
F
E
S
Stare nala
Selector
Conectare
Control linii intrare
Control linii iesire
-
Figura 1: Reprezentarea unei componente la nivel de registru.
O linie de semnal poate reprezenta o magistrala care transfera simultan m (m > 1) bit i;
m este indicat explicit marcand sageata respectiva cu un slash si scriind lang a el num arul
m. Liniile de intrare/iesire sunt adesea separate n linii de date si linii de control. O
magistrala poate identicata printr-un nume care i precizeaza rolul; de exemplu tipul
de date transmise prin magistrala respectiva. Numele unei linii de control indica operat ia
determinata de aceasta (starea poate activa, de conectare sau init ializare). Daca nu se
precizeaza altceva, starea activa a unei magistrale apare cand liniile sale transmit valoarea
logica 1. Un cerc mic reprezent and inversiunea plasat la intrarea sau iesirea din bloc indica
0 ca stare activa si 1 stare inactiva; n acest caz, numele semnalului a carui stare activa
este 0 este barat deasupra.
Liniile de control de intrare se clasica n:
Magistrale de selectare: specica setul de operat ii realizat de unitatea respectiva;
Magistrale de conectare: specica timpul sau condit iile n care se efectueaza operat i-
ile selectate. Daca exista un timer, acesta este conectat la aceste linii.
. . .
?? ?? ?? ? ?
? ? ? ?
x
1
y
1
x
2
y
2
x
m
y
m X Y
m m
Z
z
m
z
2
z
1
(a) (b)
Figura 2: Reprezentarea operat iei NAND pe m bit i.
In cazul particular cand unul din operanzi se reduce la un bit, vom avea
X y = (x
1
y, x
2
y, . . . , x
m
y)
Exemplul 4.2 Pentru operat ia Z = X y (XOR) vom avea construct ia si respectiv
simbolul:
`
?
?
`
?
?
`
?
?
`
?
?
. . .
?
? ? ?
, ,
?
y
X
Z
z
m
z
2
z
1
x
1
x
2
x
m
y
m
m
(a) (b)
Figura 3.
Port ile pentru cuvinte sunt universale: pot implementa orice circuit logic combinat ional.
Analiza lor poate realizata folosind algebre booleene.
In pactica totusi, utilizarea lor
este limitata de relativa simplitate a operat iilor realizate si de variabilitatea dimensiunii
vectorilor folosit i.
Decodoare
Cel mai simplu circuit logic raspunde la ntrebarea:
Care este valoarea aplicata la intrare ?
P
P
P
- -
? -
x
0
y
0
y
1
(a)
x
0
-
P
P
P
-
P
P
P
-
? -
y
1
y
0
(b)
EDCD
-
? ?
x
0
y
0
y
1
(c)
EDCD
-
? ?
x
0
y
0
y
1
(d)
Figura 4: Decodicator elementar.
4.1. COMPONENTE LA NIVEL DE REGISTRU 5
Prin extensie paralela a circuitelor care realizeaza cele mai simple funct ii f(x
0
) = y
1
= x
0
(funct ia identica) si g(x
0
) = y
0
= x
0
(funct ia NOT) se obt ine un decodicator elementar
(EDCD). Daca este activa iesirea y
0
, atunci intrarea a avut valoarea 0; daca este activa
iesirea y
1
, intrarea a avut valoarea 1.
Pentru a izola iesirea de intrare, se foloseste un EDCD cu buer; aceasta se rea-
lizeaza extinzand serial circuitul anterior cu nca o complementare (Figura 4(b)).
In acest
fel, comportamentul de iesire al EDCD nu depinde de iesirea circuitului care asigura
intrarea.
Schemele (c) si (d) sunt reprezentarile simbolice ale celor doua decodicatoare.
Prin decodicare este realizata o reprezentare a semnalului de intrare. Aceasta este una
din principalele funct ii ale unui sistem digital.
Inainte de a genera un raspuns semnalului
primit, trebuie sa stim ce semnal s-a primit. Deci, prima problema care trebuie rezolvat a
este aceea de a construi un decodicator (DCD) cu n intrari (DCD
n
) pentru decodicarea
semnalelor codicate cu n bit i.
Denit ia 4.1 Un DCD
n
este un circuit combinat ional cu intrarea X formata din n bit i
x
n1
, . . . , x
0
si iesirea Y reprezentata prin m = 2
n
bit i y
m1
, . . . , y
0
. Fiecare iesire este
activata pentru o anumita congurat ie binara de intrare.
Structura unui DCD
n
se deneste recursiv. Astfel:
un DCD
1
este un EDCD reprezentat n Figura 4(b);
DCD
n
(n 2) se obt ine combin and un DCD
n1
cu un DCD
1
dupa regula din
Figura 5:
`` `` `
. . . . . .
P
P
!
!
, , P
P
!
!
- - -
? ?
? -
? ? ?
? ? ? ? ?
DCD
n1
-
-
?
-
?
-
?
?
-
? ?
x
n2
, . . . , x
0
x
n1
y
0
y
1
y
2
n1
1
y
2
n1 y
2
n
1
Figura 5: DCD
n
Singura dicultate n aceasta construct ie consta n numarul mare de nivele (adancimea)
ale structurii.
In plus, el cont ine pe aceste nivele 2
n
+ 2
n1
+ . . . + 2 = 2
n+1
2 port i
AND (nafar a de cele 2n invertoare). Adancimea (de ordin n) a structurii poate adusa
la o adancime de ordin 1, pe baza urmatoarei observat ii: intrarea n ecare AND este de
forma (a); folosind asociativitatea, cele doua componente AND pot nlocuite cu una
singura, av and trei intr ari, cum este n Figura 6:
6 PRELEGEREA 4. CONSTRUCT II LA NIVEL DE REGISTRU
`
`
`
??
?-
??
???
?
?
x
0
x
1
x
2
x
0
x
1
x
2
y
y
=
Figura 6.
Noul DCD va avea numai n 1 nivele. Procedeul se repeta de nc a n 1 ori; n nal
se obt ine un DCD
n
cu n intrari, 2n complement ari, 2
n
iesiri, dar numai 2
n
port i AND,
toate situate pe un singur nivel.
De exemplu, pentru n = 3 vom avea:
? ? ? ? ? ? ? ?
y
0
y
1
y
2
y
3
y
4
y
5
y
6
y
7
000 100 010 110 001 101 011 111
P
P
P
P
P
P
P
P
P
P
P
P
- - -
? -
- - -
? -
- - -
? -
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
x
0
x
1
x
2
1
0
1
0
1
0
Figura 7: DCD
3
Codicatoare
Denit ia 4.2 Un codicator este un circuit cu m intrari dintre care la ecare moment
numai una este activa; pentru ecare intrare el genereaza o congurat ie binara de lungime
p. El consta din p port i OR sau din p port i NAND, ecare poarta avand maxim m intrari.
In mod normal, intr arile unui codicator sunt de fapt iesirile unui decodicator; din acest
motiv, un codicator nu este denit independent.
Exemplul 4.3 Un sumator complet este un circuit combinat ional cu trei intrari (Figura
8). x
0
, x
1
sunt numerele (de un bit) care se aduna, iar x
2
este bitul suplimentar de
deplasare (de la nsumarea altor doi bit i precedent i). Sunt doua iesiri: S - valoarea sumei
binare dintre x
0
si x
1
, si C
+
- valoarea noii deplasari.
Pentru construct ie vom folosi:
- Un decodicator DCD
3
ale carui port i sunt complementate;
- Un codicator compus din doua port i NAND, ecare cu cate 4 intrari.
4.1. COMPONENTE LA NIVEL DE REGISTRU 7
DCD
3
? ?
-
6
-
6
-
6
x
2
x
1
x
0
x
2
x
1
x
0
y
0
y
1
y
2
y
3
y
4
y
5
y
6
y
7
C
+ S
Figura 8: Codicator pentru construct ia unui sumator complet.
Pentru a vedea cum lucreaza, vom t ine cont de urmatoarea tabela de decodicare:
y
0
y
1
y
2
y
3
y
4
y
5
y
6
y
7
x
0
0 1 0 1 0 1 0 1
x
1
0 0 1 1 0 0 1 1
x
2
0 0 0 0 1 1 1 1
``
-
?
-
?
? ?
? ?
x
0
y
1
y
0
E
(a)
X
X
X
X
X
X
``
X
X
X
- -
?
-
?
? ?
? ?
x
0
y
0
y
1
E
EDCD
(b)
EDMUX
?
-
? ?
E
x
0
y
0
y
1
(c)
Figura 9: Schema unui demultiplexor elementar.
Denit ia 4.3 Un demultiplexor cu n intrari (DMUX
n
) transfera semnalul de la intrarea
E la una din cele m = 2
n
iesiri y
m1
, . . . , y
0
, selectat de codul binar x
n1
, . . . , x
0
.
O prima solut ie pentru implementarea unui demultiplexor consta n generalizarea schemei
(b): anume, utilizarea unui decodicator cu n intr ari si m = 2
n
port i NAND, conectate
ca n Figura 10:
`` `
P
P
P
DCD
n
x
n1
, . . . , x
0
-
? ? ?
? ? ?
? ? ?
y
0
y
1
. . . y
m1
E
. . .
y
0
y
1
y
m1
Figura 10: Demultiplexor DMUX
n
.
Deoarece pe nivelul de iesire al unui decodicator se aa port i AND, un procedeu simi-
lar cu cel de la decodicatoare permite reconstruirea unui DMUX cu m port i NAND
controlate de n EDCD-uri.
Multiplexoare
Funct ia inversa unui DMUX este multiplexarea (MUX): un circuit care aduna ntr-un
singur loc informat ia din mai multe locuri. Ea este de asemenea si o funct ie de comunicare,
asigurand interconectarea dintre blocuri distincte ale unui sistem digital.
Un multiplexor elementar (EMUX) este un selector care conecteaza semnalul i
1
sau
i
0
n y, n funct ie de valoarea semnalului de selectare x
0
. Circuitul este prezentat mai
jos, unde un EDCD cu intrarea x
0
deschide numai una din cele doua AND-uri care se
nsumeaza apoi de poarta OR n y:
4.1. COMPONENTE LA NIVEL DE REGISTRU 9
`
` `
X
X
X
X
X
X
- -
?
-
? ? ?
?-
?
?
?
?
x
0
i
0
i
1
y
EMUX
i
1
i
0
x
0
y
? ?
-
?
Figura 11: Schema si reprezentarea unui multiplexor elementar (EMUX).
Denit ia generala a acestui circuit este:
Denit ia 4.4 Un multiplexor (MUX
n
) este un circuit combinat ional cu n bit i de control
x
n1
, . . . , x
0
care selecteaza la iesirea y numai o intrare din cele m = 2
n
posibilitat i
i
m1
, . . . , i
0
.
O implementare posibila foloseste un DCD legat serial cu o structura ANDOR, ca n
Figura 12:
DCD
n
`` `
`
-
6
-
??
-
??
-
??
? -
?
?-
?
?
?
?
x
n1
, . . . , x
0
y
0
y
1
y
m1
i
0
i
1
. . .
i
m1
y
Figura 12: Multiplexor (MUX
n
).
Iesirea din decodicator deschide numai o poarta AND care transfera la iesire intrarea
selectata. Acestui circuit i se poate aplica proprietatea de asociativitate ntre port ile
AND ale iesirilor din decodicator si port ile AND suplimentare (ca la DCD-uri).
Se poate da si o denit ie recursiva a unui multiplexor, de complexitate mult scazut a:
Denit ia 4.5 MUX
n
poate construit printr-o conectare seriala a unui EMUX cu
doua MUX
n1
conectate paralel; n plus, MUX
1
= EMUX.
10 PRELEGEREA 4. CONSTRUCT II LA NIVEL DE REGISTRU
MUX
n1
MUX
n1
EMUX
-
6
-
6
-
? ? ? ?
? -
?
?
?
-
?
x
n2
, . . . , x
0
i
0
. . .
i
m/21
i
m/2
. . .
i
m1
i
0
. . .
i
m/21 i
0
. . .
i
m/21
y y
x
n1
x
0
i
0
i
1
y
y
Figura 13: Construct ia recursiva a unui multiplexor MUX
n
.
Desi un multiplexor este (prin denit ie) un circuit de select ie, el poate utilizat si pentru
realizarea unor funct ii booleene. Sa consideram variabilele x
n1
. . . , x
0
ca variabile logice
(booleene) ale unei funct ii care are pe coloana din dreapta i
m1
, . . . , i
0
. Pentru intrarea
(selector) 00 . . . 0 se selecteaza valoarea lui i
0
, s.a.m.d., pan a la intrarea 11 . . . 1 care
selecteaza valoarea i
m1
. Deci MUX executa tabela de adevar a unei funct ii booleene.
Exemplul 4.4 Sa consideram funct ia de transport C
+
a unui sumator pe trei bit i (Ex-
emplul 4.3). Tabela sa de adevar este data de secvent a y
3
+ y
5
+ y
6
+ y
7
= 00010111.
Daca acest vector este aplicat intrarilor selectate si variabilelor A, B, C de select ie, atunci
y = C
+
:
DCD
3
y
7
y
6
y
5
y
4
y
3
y
2
y
1
y
0
x
0
x
1
x
2
-
6
-
6
-
6 x
0
x
1
x
2
-
?
-
?
-
?
-
?
-
?
-
?
-
?
-
?
?
? -
?
? -
?
? -
?
?-
?
?
?
?
?
?
?
?
?
? ? ? ? ? ? ? ?
0 0 0 1 0 1 1 1
y
4.1. COMPONENTE LA NIVEL DE REGISTRU 11
sau, mai succint,
MUX
3
-
? ? ? ?
? ? ? ?
-
-
-
?
0
1
i
0
i
1
i
2
i
3
i
4
i
5
i
6
i
7
x
2
x
1
x
0
x
2
x
1
x
0
y
C
+
Solut ia prezentata este nsa prea generala si risipitoare de resurse. Ea poate min-
imizata la un MUX
2
(vezi gura (a)) folosind una din variabile pe pozit ie de selector.
Ideea poate perfectata, ajungandu-se n nal la un EMUX care selecteaza cu x
2
doua
funct ii de doua variabile x
0
si x
1
(gura (b)):
-
-
? ?
-
? ?
MUX
2
?
x
2
x
1
0
x
0
1
i
0
i
1
i
2
i
3
x
1
x
0
y
C
+
``
EMUX
-
?
?
-
?
?
? ?
-
?
(a)
x
1
x
0
x
2
i
0
i
1
x
0
y
C
+
(b)
Pentru claricare, vom detalia cazul (a); acesta este o notat ie simplicata a circuitului:
DCD
2
y
3
y
2
y
1
y
0
x
0
x
1
`
-
6
-
6
-
?
-
?
-
?
-
? ? ? ? ?
? -
?
?-
?
?
?
?
?
?
x
1
x
2
0
x
0
x
0 1
C
+
Construct ia tabelei de valori conduce la un comportament identic cu circuitul dat init ial,
desi acesta are numai 4 port i ANDn loc de 8. Mai mult, deoarece prima si ultima poarta
sunt controlate de constante, acestea pot eliminate si se ajunge la circuitul:
12 PRELEGEREA 4. CONSTRUCT II LA NIVEL DE REGISTRU
DCD
2
y
0
y
1
y
2
y
3
x
0
x
1
-
6
-
6
-
-
?
-
? ? ?
?
?-
?
?
?
x
1
x
2
? -
x
0
?
C
+
Exemplul 4.4 sugereaza ideea ca un multiplexor poate o solut ie pentru toate funct iile
booleene.
Teorema 4.1 Orice funct ie booleeana de n (n 0) variabile poate implementa cu un
circuit combinat ional logic (CLC).
Demonstrat ie: Pentru n = 0 armat ia este banala.
Pentru n 1, orice funct ie booleana de n variabile se poate pune sub forma normala
f(x
n1
, . . . , x
0
) = x
n1
g(x
n2
, . . . , x
0
) +x
n1
h(x
n2
, . . . , x
0
).
Pentru g si h se poate aplica inductiv acelasi procedeu. Din combinarea acestor doua
circuite, legate serial cu un EMUX, se obt ine circuitul solicitat.
CLC
g
CLC
h
EMUX
-
?- ? -
? -
?
?
?
-
?
x
n2
, . . . , x
0
g(x
n2
, . . . , x
0
) h(x
n2
, . . . , x
0
)
x
n1
i
0
i
1
x
0
y