8.2 Pentru Cei Ce Vor Doar S A Promoveze Examenul: Lect IA 8. Codificatoare Si Decodificatoare
8.2 Pentru Cei Ce Vor Doar S A Promoveze Examenul: Lect IA 8. Codificatoare Si Decodificatoare
• În cazul ı̂n care decodificatorul are ieşirile negate (ieşiri active ı̂n stare 0), mintermii sunt generaţi negaţi. Din
acest motiv, pentru implementarea unei funcţii exprimate prin FCND ı̂n exteriorul decodificatorului trebuie
adăugată o poartă NAND.
• Pentru cazul ı̂n care funcţia ı̂nsumează un număr de mintermi mai mare decât jumătatea celor existenţi 2N −1 ,
se poate face sinteza funcţiei negate F , deoarece aceasta se poate exprima cu mai puţini mintermi, şi ulterior se
neagă ieşirea.
• Pentru cazul când decodificatorul are intrările active ı̂n 1, se poate exprima funcţia astfel ı̂ncât să necesite ı̂n
exterior o poartă NOR.
În concluzie, implementarea optimă a unei funcţii exprimate ı̂n FCND cu circuit decodificator se realizează astfel:
• Dacă decodificatorul are ieşirile active ı̂n 1, iar funcţia un număr de mintermi mai mic decât jumătate, colectarea
ı̂ntr-o poartă OR a mintermilor existenţi.
• Dacă decodificatorul are ieşirile active ı̂n 0, iar funcţia un număr de mintermi mai mic decât jumătate, colectarea
ı̂ntr-o poartă NAND a mintermilor existenţi.
• Dacă decodificatorul are ieşirile active ı̂n 1, iar funcţia un număr de mintermi mai mare decât jumătate, colectarea
ı̂ntr-o poartă NOR a mintermilor inexistenţi.
• Dacă decodificatorul are ieşirile active ı̂n 0, iar funcţia un număr de mintermi mai mare decât jumătate, colectarea
ı̂ntr-o poartă AND a mintermilor inexistenţi.
∑
Figura 8.2 Implementarea funcţiei F (A, B, C) = (0, 1, 3, 5, 7) cu circuit decodificator, pentru problema 1.
2. Care din următoarele funcţii este implementată pe circuitul din figura 8.3?
∑7
a) F (A, B, C) = 0 (0, 1, 3, 5, 6, 7)
∏7
b) F (A, B, C) = 0 (1, 2, 3, 5, 6, 7)
∑7
c) F (A, B, C) = 0 (1, 2, 3, 5, 6, 7)
∑7
d) F (A, B, C) = 0 (0, 1, 2, 4, 6, 7)
∑7
e) F (A, B, C) = 0 (1, 5)
102 LECŢIA 8. Codificatoare şi decodificatoare
Soluţie
Tabelul de adevăr al funcţiei este:
A B C w0 w1 w2 w3 w4 w5 w6 w7 F
0 0 0 0 1 1 1 1 1 0 0 0
0 0 1 1 1 1 1 1 1 1 1 1
0 1 0 1 0 1 1 1 1 0 1 1
0 1 1 1 1 0 1 1 1 0 1 1
1 0 0 1 1 1 0 1 1 0 0 0
1 0 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 0 1 1 0 1
1 1 1 1 1 1 1 1 0 1 0 1
w0 = A · B · C = m0 = M0
w1 = A · B · C = m2 = M2
w2 = A · B · C = m3 = M3
w3 = A · B · C = m4 = M4
w4 = A · B · C = m6 = M6
w5 = A · B · C = m7 = M7
w6 = w0 · w1 · w2 · w3 = M0 · M2 · M3 · M4
w7 = w0 · w3 · w4 · w5 = M0 · M4 · M6 · M7
F = w6 + w7 = M0 · M2 · M3 · M4 + M0 · M4 · M6 · M7 = M0 · M4 · (M2 · M3 + M6 · M7 ) = M0 · M4 · ((M2 + M6 ) ·
(M2 + M7 ) · (M3 + M6 ) · (M3 + M7 )) = M0 · M4
În prelucrările analitice s-a aplicat duala axiomei de distributivitate şi s-a ţinut cont că Mi + Mj = 1, ∀i ̸= j.
S-au notat m(A, B, C) şi M (A, B, C) mintermii şi maxtermii celor 3 variabile de intrare.
Din tabelul de∏adevăr şi ∑
din calcule analitice rezultă că funcţia implementată de circuit este:
F (A, B, C) = (0, 4) = (1, 2, 3, 5, 6, 7)
Deci, răspunsul corect este c).
3. Să se implementeze cu circuite DCD 4:16 un circuit logic combinaţional cu ieşiri multiple definit de funcţiile:
F1 = m0 + m3 + m5 + m7
F2 = m1 + m2 + m4 + m5 + m8 + m11 + m12 + m14 + m15
F3 = m3 + m4 + m6 + m12 + m14 + m15
F4 = m1 + m2 + m5 + m6 + m7 + m8 + m9 + m15
Soluţie
Pentru implementarea unui CLC cu ieşiri multiple se poate folosi un singur decodificator. Pentru fiecare ieşire
se utilizează câte o poartă OR care uneşte mintermii prezenţi ı̂n expresia unei funcţii.
4. Să se implementeze următoarele funcţii cu circuit decodificator de 4 biţi. Implementaţi aceleaşi funcţii utilizând
un decodificator de 3 biţi şi un multiplexor 2:1.
∑ ∑
a) Fa (A, B, C) = (0, 2, 5, 7) e) Fe (A, B, C, D) = ∑(2, 5, 7)
b) Fb (A, B, C, D) = ∑
Π(2, 3, 4, 7) f ) Ff (A, B, C, D) = ∑(3, 6, 9, 12, 14, 15)
c) Fc (A, B, C, D) = (0, 3, 5, 6, 9, 10, 11, 12, 13) g) Fg (A, B, C, D) = ∑(0, 1, 2, 3, 4, 15)
d) Fd (A, B, C, D) = Π(2, 3, 6, 7, 8, 9, 13, 14, 15) h) Fh (A, B, C, D) = (0, 1, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
Soluţie
Implementarea cu decodificator de 4 biţi a unei funcţii de 4 intrări se face fără minimizare, prin conectarea
intrărilor pe intrările decodificatorului şi conectarea ı̂ntr-o poartă OR a ieşirilor al căror index apare ı̂n expresia
FCD a funcţiei. În funcţie de numărul de mintermi care apar ı̂n reprezentarea FCD, se poate opta pentru
implementarea negatei funcţiei şi negarea adiţională la final, ca ı̂n figura 8.2.
Dacă funcţia are doar 3 intrări, se poate conecta o constantă pe cea mai prioritară intrare a decodificatorului.
O funcţie cu 4 intrări se poate rescrie sub forma:
F (A, B, C, D) = A · H(B, C, D) + A · G(B, C, D)
Funcţiile H(B, C, D) şi G(B, C, D) se pot obţine cu acelaşi decodificator (şi porţi OR individuale). Ieşirile
porţilor OR se vor conecta pe intrările de date ale unui multiplexor 2:1 a cărui selecţie este conectată la intrarea
A.