Dan NICULA
ELECTRONIC
˘
A DIGITAL
˘
A
Carte de ˆınat¸˘atur˘a 2.0
Editura Universit˘at¸ii TRANSILVANIA din Bra¸sov
ISBN 978-606-19-0563-8
2015
Lect¸ia 20
Subiecte de examen
20.1 Subiecte 2012 - 1
1.
ˆ
Intreb˘ari [2pct]
[0.2] Definit¸i not¸iunea de ”multiplexor 2:1”.
Solut¸ie
Multiplexorul 2:1 este un circuit logic combinat¸ional cu o intrare de select¸ie, dou˘a intr˘ari de date ¸si o ie¸sire.
Pe baza intr˘arii de select¸ie se decide care din cele dou˘a intr˘ari de date se transmite la ie¸sire.
Ecuat¸ia logic˘a a ie¸sirii multiplexorului 2:1 este:
Y = S · I
1
+ S · I
0
Simbolul multiplexorul 2:1 este:
[0.2] Definit¸i not¸iunea de ”bistabil D”.
Solut¸ie
Bistabilul D este un circuit logic secvent¸ial care prezina dou˘a st˘ari stabile. Comutarea bistabilului se face
doar ˆın momentele fronturilor active ale semnalului de ceas. La fiecare front activ al semnalului de ceas
bistabilul D santioneaz˘a intrarea ¸si ˆı¸si astreaz˘a starea an˘a la urm˘atorul front activ al semnalului de ceas.
Tabelul de determinare a st˘arii viitoare a bistabilului D ¸si simbolul acestuia sunt:
D Q
+
Act¸iune
0 0 copiaz˘a intrarea
1 1 copiaz˘a intrarea
[0.2] Definit¸i not¸iunea de ”timp de propagare a unei port¸i logice”.
Solut¸ie
Timpul de propagare a unei port¸i logice este intervalul de timp necesar propag˘arii unui semnal ˆıntre intrarea
¸si ie¸sirea unei port¸i logice. Timpul de propagare se asoar˘a la nivelul de 50% al semnalelor de intrare ¸si
de ie¸sire.
262 LECT¸ IA 20. Subiecte de examen
[0.2] Definit¸i not¸iunea de ”LFSR - Linear Feedback Shift Register”.
[0.2] Definit¸i not¸iunea de ”organigram˘a”.
[0.5] Justificat¸i valoarea de adev˘ar a expresiei:
A · B · C + A · B · C + A · B · D = A · C + A · B · C · D + A · B · C · D + A · B · D
[0.5] Reprezentat¸i operat¸ia prezentat˘a cu numere ˆın baza zece, cu operanzi reprezentat¸i ˆın complement fat¸˘a
de 2, pe 16 bit¸i.
2012 + (12) = 2000|
10
2. Circuite logice combinat¸ionale [2pct]
Se consider˘a funct¸ia:
F =
(6, 8, 11, 12, 14, 15) + d(2, 3)
[0.5] Minimizat¸i funct¸ia logic˘a ¸si implementat¸i-o cu port¸i NAND.
[0.5] Evaluat¸i ”costul” implement˘arii.
[0.5] Propunet¸i o solut¸ie de eliminare a hazardului combinat¸ional ¸si evaluat¸i costul suplimentar al acesteia.
[0.5] Implementat¸i funct¸ia cu MUX 8:1 ¸si un num˘ar minim de port¸i logice suplimentare.
3. Analiza circuitelor logice secvent¸iale [2pct]
Se consider˘a circuitul:
La fiecare front cresc˘ator de ceas, registrul acumulator pe 4 bit¸i acumuleaz˘a valoarea de pe intrare. Adic˘a, dac˘a
starea curena este Q ¸si pe intrare valoarea este D atunci starea viitoare va Q
+
= Q + D. Funct¸ionarea
acumulatorului este descris˘a de codul Verilog:
input[3:0] D; // intrarea de date (4 biti)
output[3:0] Q; // iesirea acumulatorului (4 biti)
always @(posedge ck or negedge reset)
if (!reset) Q <= 4’b0000; else // initializare (reset activ "0")
Q <= Q + D; // acumularea intrarii
[0.5] Explicat¸i ˆın limbaj natural funct¸ionarea circuitului.
[1.0] Reprezentat¸i grafic comportamentului circuitului.
20.1. Subiecte 2012 - 1 263
[0.5] Ce rol are condensatorul prezent ˆın schem˘a?
4. Sinteza circuitelor logice secvent¸iale [2pct]
Se consider˘a graful de tranzit¸ii:
[2.0] Implementat¸i automatul cu bistabile T ¸si port¸i NAND.
5. Proiectare sistem digital [1pct]
[1.0] Proiectat¸i un sistem secvent¸ial sincron cu o intrare X ¸si o ie¸sire Z. La fiecare front pozitiv al semnalului
X apare un puls pe ie¸sirea Z. La fiecare front negativ al semnalului X apare o secvent¸˘a de dou˘a pulsuri pe
ie¸sirea Z.
Formele de und˘a ¸si temporizarea sunt prezentate ˆın figur˘a.
6. Bonus [2pct]
Manualul de utilizare a automatului de cafea specific˘a urm˘atoarele:
Proiectat¸i un sistem digital secvent¸ial sincron, avˆand frecvent¸a de ceas de 100 MHz, care preia intrarea de la
butonul pornire/oprire ¸si genereaz˘a dou˘a impulsuri (cu at¸ime o perioad˘a de ceas) pentru ˆınceperea celor
dou˘a funct¸ii: automat ¸si decalcifiere.
264 LECT¸ IA 20. Subiecte de examen
20.2 Subiect 2012 - 2
1.
ˆ
Intreb˘ari [2pct]
[0.2] Definit¸i not¸iunea de ”demultiplexor 1:2”.
Solut¸ie
Demultiplexorul 1:2 este un circuit logic combinat¸ional cu o intrare de select¸ie, o intrare de date ¸si dou˘a
ie¸siri. Pe baza intr˘arii de select¸ie se decide pe care din cele dou˘a ie¸siri de date se transmite intrarea.
Ecuat¸iile logice ale ie¸sirilor demultiplexorului 1:2 sunt:
Y
1
= S · I
Y
0
= S · I
Simbolul demultiplexorul 1:2 este:
[0.2] Definit¸i not¸iunea de ”bistabil T”.
Solut¸ie
Bistabilul T este un circuit logic secvent¸ial care memoreaz˘a starea, activ pe frontul semnalului de ceas.
ˆ
In
momentul frontului activ al semnalului de ceas, dac˘a T = 1, bistabilul ˆı¸si complementeaz˘a starea, iar dac˘a
T = 0, bistabilul ˆı¸si astreaz˘a starea.
ˆ
In rest, pe o perioad˘a de semnal de ceas, an˘a la urm˘atorul front
activ al acestuia, bistabilul memoreaz˘a starea. Tabelul de determinare a st˘arii viitoare a bistabilului T ¸si
simbolul acestuia sunt:
T Q
+
Act¸iune
0 Q astreaz˘a starea
1 Q complementeaz˘a starea
[0.2] Definit¸i not¸iunea de ”memorie FIFO”.
Solut¸ie
Memoria FIFO (Engl. ”First In First Out”) este o form˘a de organizare a memoriei ar˘a adrese, accesul
la date acˆandu-se dup˘a regula ”prima dat˘a scris˘a este prima dat˘a citit˘a”. Memoriile FIFO sunt utilizate
pentru implementarea unor cozi de date. Organizarea memoriei FIFO const˘a ˆıntr-o memorie RAM ¸si
pointere pentru adrese de scriere ¸si citire implementate cu num˘ar˘atoare. Simbolul bloc al unei memorii
FIFO este:
Se remarc˘a prezent¸a unor ie¸siri care indic˘a starea memoriei:
full = memorie plin˘a, nu se mai accept˘a scrieri;
empty = memorie goal˘a, nu se mai accept˘a citiri.
[0.2] Definit¸i not¸iunea de ”poart˘a logic˘a ˆın 3 st˘ari”.
Solut¸ie
Poarta logic˘a ˆın 3 st˘ari prezint˘a, pe ang˘a cele dou˘a st˘ari binare (0 ¸si 1), o stare caracterizat˘a printr-o
impedant¸˘a de ie¸sire mare, ideal infinit˘a. Ie¸sirea p ort¸ii logice ˆın stare de ˆınalt˘a impedant¸˘a, simbolizat˘a HiZ
(Engl. ”High Z”) poate conectat˘a la ie¸sirea altei port¸i logice, ar˘a a afecta funct¸ionalitatea acesteia.
Poarta ˆın 3 st˘ari are dou˘a intr˘ari: o intrare de date ¸si o intrare de validare. Tabelul de funct¸ionare ¸si
simbolul unei port¸i ˆın 3 st˘ari sunt:
20.2. Subiect 2012 - 2 265
E I O
0 HiZ
1 0 0
1 1 1
[0.2] Definit¸i not¸iunea de ”automat Mealy”.
Solut¸ie
Automatul Mealy este un automat la care ie¸sirea depinde atˆat de starea curent˘a at ¸si de intr˘ari.
[0.5] Justificat¸i valoarea de adev˘ar a expresiei:
A · B · D + A · B · D + A · C · D = A · B · D + A · B · D + A · C · D
Solut¸ie
Se construiesc diagramele V-K asociate expresiilor din stˆanga ¸si din dreapta.
Se observ˘a a expresia este fals˘a:
(3, 5, 7, 13, 15) ̸=
(2, 5, 7, 13, 15)
[0.5] Reprezentat¸i operat¸ia prezentat˘a cu numere ˆın baza zece, cu operanzi reprezentat¸i ˆın complement fat¸˘a
de 2, pe 16 bit¸i.
(2012) + 12 = (2000)|
10
Solut¸ie
2012|
10
= 1024 + 512 + 256 + 128 + 64 + 16 + 8 + 4 = 111 1101 1100|
2
= 0000 0111 1101 1100|
2
2012|
10
= 1111 1000 0010 0100|
2
12|
10
= 0000 0000 0000 1100|
2
2000|
10
= 0000 0111 1101 0000|
2
2000|
10
= 1111 1000 0011 0000|
2
1111_1000_0010_0100+
0000_0000_0000_1100
-------------------
1111_1000_0011_0000
2. Circuite logice combinat¸ionale [2pct]
Se consider˘a funct¸ia:
F =
(2, 3, 6, 8, 10) + d(5, 7)
[0.5] Minimizat¸i funct¸ia logic˘a ¸si implementat¸i-o cu port¸i NAND.
[0.5] Evaluat¸i ”costul” implemenarii.
[0.5] Propunet¸i o solut¸ie de eliminare a hazardului combinat¸ional ¸si evaluat¸i costul suplimentar al acesteia.
[0.5] Implementat¸i funct¸ia cu MUX 8:1 ¸si un num˘ar minim de port¸i logice suplimentare.
Solut¸ie
Diagrama V-K:
266 LECT¸ IA 20. Subiecte de examen
Expresia minimizat˘a: F (A, B, C, D) = A · C + A · B · D
Necesar de port¸i logice:
2 NAND x 2 = 4 intr˘ari
1 NAND x 3 = 3 intr˘ari
3 NOT x 1 = 3 intr˘ari
Total: 6 port¸i (10 intr˘ari)
Implementarea funct¸iei prezina hazard combinat¸ional ce se poate elimina prin considerarea unei suprafet¸e su-
plimentare: B · C · D , necesitˆand suplimentar pentru implementare 1 poart˘a NAND x 3, ¸si ˆınc˘a o intrare.
Cost total al implement˘arii, ar˘a hazard combinat¸ional: 7 port¸i (14 intr˘ari).
Implementarea cu port¸i NAND este:
Din diagrama V-K urm˘atoare se deduc funct¸iile reziduu D:
20.2. Subiect 2012 - 2 267
Implementarea este:
3. Analiza circuitelor logice secvent¸iale [2pct]
Se consider˘a circuitul:
Num˘ar˘atorul presetabil comut˘a sincron cu frontul pozitiv al semnalului de ceas. Dac˘a LD = 1, atunci num˘ar˘atorul
se ˆıncarc˘a cu valoarea aflat˘a pe intrarea D. Dac˘a LD = 0, atunci num˘ar˘atorul se incrementeaz˘a, starea viitoare
fiind Q
+
= Q + 1. Funct¸ionarea num˘ar˘atorul presetabil este descris˘a ˆın Verilog astfel:
input[3:0] D; // intrarea de date presetate (4 biti)
output[3:0] Q; // iesirea numaratorului (4 biti)
always @(posedge ck or negedge reset)
if (!reset) Q <= 4’b0000; else // initializare (reset activ "0")
if (LD) Q <= D; else // se incarca noua stare
Q <= Q + 1; // se incrementeaza starea
[0.5] Explicat¸i ˆın limbaj natural funct¸ionarea circuitului.
[1.0] Reprezentat¸i grafic comportamentului circuitului.
[0.5] Ce rol are condensatorul prezent ˆın schem˘a?
Solut¸ie
Circuitul prezint˘a un num˘ar˘ator de 4 bit¸i, ˆın sens cresc˘ator, presetabil.
Din circuit, se deduce ecuat¸ia intr˘arii de ˆınc˘arcare a num˘ar˘atorului:
LD = Q
3
· Q
1
Deci, num˘ar˘atorul se ˆıncarc˘a dac˘a starea prezent˘a satisface condit¸ia LD = Q
3
· Q
1
= 1 adic˘a Q
3
= 1 si Q
1
= 1,
adic˘a starea respect˘a pattern-ul Q
3
Q
2
Q
1
Q
0
= 1X1X. Pattern-ul este respectat de st˘arile 10|
10
= 1010|
2
, 11|
10
=
1011|
2
, 14|
10
= 1110|
2
, 15|
10
= 1011|
2
.
Din circuit se deduc ecuat¸iile intr˘arilor de date:
D
3
= 0
D
2
= Q
3
· Q
1
268 LECT¸ IA 20. Subiecte de examen
D
1
= Q
3
· Q
1
D
0
= Q
3
· Q
1
Stare prezent˘a
ˆ
Inc˘arcare Intr˘ari Act¸iune Stare viitoare
Q[3 : 0] LD D[3 : 0] Q
+
[3 : 0]
0 0000 0 1 0001 Incrementare 1 0001
1 0001 0 1 0001 Incrementare 2 0010
2 0010 0 1 0001 Incrementare 3 0011
3 0011 0 1 0001 Incrementare 4 0100
4 0100 0 1 0001 Incrementare 5 0101
5 0101 0 1 0001 Incrementare 6 0110
6 0110 0 1 0001 Incrementare 7 0111
7 0111 0 1 0001 Incrementare 8 1000
8 1000 0 1 0001 Incrementare 9 1001
9 1001 0 1 0001 Incrementare 10 1010
10 1010 1 6 0110
ˆ
Inc˘arcare 6 0110
Se observ˘a mai sus ciclul de st˘ari 6, 7, 8, 9, 10, 6, ...
Se analizeaz˘a comportamentul din st˘arile neprezente ˆın ciclu
11 1011 1 6 0110
ˆ
Inc˘arcare 6 0110
12 1100 0 1 0001 Incrementare 13 1101
13 1101 0 1 0001 Incrementare 14 1110
14 1110 1 6 0110
ˆ
Inc˘arcare 6 0110
15 1111 1 6 0110
ˆ
Inc˘arcare 6 0110
Num˘ar˘atorul parcurge ˆın sens cresc˘ator st˘arile: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
La aparit¸ia st˘arii Q[3 : 0] = 1010|
2
= 10|
10
se activeaz˘a LD = 1 ¸si intr˘arile devin D[3 : 0] = 0110|
2
= 6|
10
Din st˘arile 10, 11, 14, 15 se pro duce o ˆınc˘arcare ¸si starea devine 6. Din st˘arile 12, 13 circuitul num˘ar˘a ˆın sens
cresc˘ator.
Rezult˘a graful de tranzit¸ii:
Condensatorul din schem˘a, ˆımpreun˘a cu rezistent¸a, formeaz˘a un circuit de generare a unui puls de reset asincron,
activ 0, la punerea sub tensiune a circuitului. Din punct de vedere digital, semnalul reset va avea init¸ial valoarea
logic˘a 0 (fiind activ) iar dup˘a un timp determinat de ˆınc˘arcarea condensatorului va ajunge la valoarea logic˘a 1,
deci se va dezactiva. Valorile RC detemin˘a constanta de timp a circuitului de integrare ¸si determin˘a at¸imea
pulsului de reset asincron.
4. Sinteza circuitelor logice secvent¸iale [2pct]
Se consider˘a graful de tranzit¸ii:
20.2. Subiect 2012 - 2 269
[2.0] Implementat¸i automatul cu bistabile T ¸si port¸i NAND.
Solut¸ie
Automat Mealy, o intrare X, o ie¸sire Y , 6 st˘ari, codificate cu minim 3 bit¸i (Q
2
Q
1
Q
0
).
Codurile st˘arilor a = 000, b = 001, c = 010, d = 011, e = 100, f = 101. Tabelul de tranzit¸ii este:
Intrare Stare prezena Stare viitoare Ie¸sire Stimuli T
X Q
+
2
Q
+
1
Q
+
0
D
2
D
1
D
0
Y T
2
T
1
T
0
- a 0 0 0 b 0 0 1 1 0 0 1
0 b 0 0 1 c 0 1 0 0 0 1 1
1 b 0 0 1 f 1 0 1 0 1 0 0
0 c 0 1 0 d 0 1 1 1 0 0 1
1 c 0 1 0 c 0 1 0 0 0 0 0
0 d 0 1 1 e 1 0 0 0 1 1 1
1 d 0 1 1 a 0 0 0 0 0 1 1
0 e 1 0 0 f 1 0 1 1 0 0 1
1 e 1 0 0 c 0 1 0 1 1 1 0
0 f 1 0 1 a 0 0 0 0 1 0 1
1 f 1 0 1 f 1 0 1 1 0 0 0
- - 1 1 0 - - - - - - - -
- - 1 1 1 - - - - - - - -
Diagramele V-K:
Y T
2
T
1
T
0
Expresii minimizate:
Y (X, Q
2
, Q
1
, Q
0
) = X · Q
2
+ X · Q
0
+ Q
1
· Q
0
T
2
(X, Q
2
, Q
1
, Q
0
) = X · Q
2
· Q
0
+ X · Q
2
· Q
0
+ X · Q
1
· Q
0
+ X · Q
2
· Q
1
· Q
0
T
1
(X, Q
2
, Q
1
, Q
0
) = X · Q
2
· Q
0
+ Q
1
· Q
0
+ X · Q
2
· Q
0
T
0
(X, Q
2
, Q
1
, Q
0
) = Q
1
· Q
0
+ X + Q
2
· Q
1
· Q
0
Implementare:
270 LECT¸ IA 20. Subiecte de examen
5. Proiectare sistem digital [1pct]
[1.0] Proiectat¸i un sistem secvent¸ial sincron cu o intrare X ¸si o ie¸sire Z. La fiecare front pozitiv al semnalului
X apare un puls pe ie¸sirea Z. La fiecare front negativ al semnalului X apare o secvent¸˘a de dou˘a pulsuri pe
ie¸sirea Z. Formele de und˘a ¸si temporizarea sunt prezentate ˆın figur˘a.
Solut¸ie
Rezolvarea problemei const˘a ˆın detectarea celor dou˘a fronturi (pozitiv ¸si negativ) ale semnalului X ¸si prelucrarea
pulsurilor pentru a genera secvent¸a cu forma ¸si temporizarea dorite.
X
d1
este X ˆıntˆarziat cu o perioad˘a, printr-un bistabil.
X
fp
este un puls care marcheaz˘a frontul pozitiv al semnalului X: X
fp
= X · X
d1
.
X
fp d1
¸si X
fp d2
sunt versiuni ˆınarziate cu 1 ¸si 2 perioade fat¸˘a de X
fp
, utilizate pentru a formata secvent¸a
20.2. Subiect 2012 - 2 271
necesar˘a a generat˘a la frontul pozitiv: X
puls f p
= X
fp d1
+ X
fp d2
.
X
fn
este un puls care marcheaz˘a frontul negativ al semnalului X: X
fn
= X · X
d1
.
X
fn d1
¸si X
fn d2
sunt versiuni ˆınarziate cu 1 ¸si 2 perioade fat¸˘a de X
fn
, utilizate pentru a formata secvent¸a
necesar˘a a generat˘a la frontul negativ: X
puls f n
= X
fn
+ X
fn d2
.
ˆ
In final Z = X
puls f p
+ X
puls f n
.
Circuitul rezultat este:
6. Bonus [2pct]
Un aparat de radio are un buton prin ap˘asare pentru select¸ia digital˘a a frecvent¸ei.
La o ap˘asare, frecvent¸a se incrementeaz˘a cu o unitate. Dac˘a butonul se t¸ine ap˘asat mai mult de 2 secunde,
frecvent¸a se incrementeaz˘a automat cu 10 unit˘at¸i pe secund˘a.
a se proiecteze un sistem secvent¸ial sincron cu frecvent¸a de 100 MHz care a genereze pulsurile de incre-
mentare pe baza semnalului provenit de la buton.
Solut¸ie
Modulul proiectat este un sistem sincron cu o intrare denumit˘a BUT ON ¸si o ie¸sire denumit˘a INCR F Q.
Perioada semnalului de ceas este T
CK
= 1/f
CK
= 1/100 MHz = 10 ns.
Ie¸sirea INCR F Q se activeaz˘a din dou˘a motive (SAU logic):
- la detectarea ap˘as˘arii butonului (front pozitiv la intr˘arii BUT ON ) ¸si
- periodic, la fiecare 100 ms, dac˘a butonul este t¸inut ap˘asat (BU T ON = 1).
Prima condit¸ie se monitorizeaz˘a cu un circuit detector de front pozitiv:
272 LECT¸ IA 20. Subiecte de examen
A doua condit¸ie se obt¸ine prin funct¸ia AND ˆıntre un semnal activ dac˘a butonul este t¸inut ap˘asat mai mult de
2 secunde (denumit BT N P USHED) ¸si un semnal care prezint˘a un puls cu at¸ime de o perioad˘a de ceas la
fiecare 100 ms (denumit ms100).
Semnalul BT N P USHED se obt¸ine la ie¸sirea unui bistabil RS care se seteaz˘a dac˘a BU T ON = 1 mai mult
de 2 secunde ¸si se reseteaz˘a la revenirea butonului (BUT ON comut˘a din 1 ˆın 0, BT N fn = 1). at timp
BT N PU SHED = 1 la ie¸sire se propag˘a un set de pulsuri de la un num˘ar˘ator cu perioad˘a de 100 ms.
Num˘ar˘atorul cu p erioad˘a de 100 ms contorizeaz˘a un num˘ar de p erioade egal cu raportul ˆıntre intervalul de timp
¸si perioada de ceas: 100 ms/10 ns = 10
7
= 10.000.000. Num˘arul de bit¸i necesari este 24 deoarece 2
24
= 16M >
10.000.000. Num˘ar˘atorul trebuie a aib˘a urm˘atoarele caracteristici:
- facilitate de presetare la valoarea 9.999.999 (num˘ararea se face ˆıntre 9.999.999 ¸si 0);
- semnalare printr-un puls a ajungerii la zero (acest puls va preseta num˘aratorul, astfel ˆıncˆat num˘ar˘atoarea a
fie reluat˘a);
- facilitate de validare doar dac˘a butonul este ap˘asat (BUT O N = 1).
Durata de 2 secunde se asoar˘a (cu un alt num˘ar˘ator) ca fiind 20 de pulsuri ale semnalului ms100. Num˘aratorul
are 5 bit¸i (2
5
> 20) ¸si urm˘atoarele caracteristici:
- num˘ar˘a ˆın sens descresc˘ator la fiecare puls cu perioada de 100 ms (ms100 = 1);
- se init¸ializeaz˘a cu 19 la ap˘asarea pe buton (num˘ararea va ˆıntre 19 ¸si 0);
- dac˘a ajunge la zero, activeaz˘a un indicator (pe baza aruia se seteaz˘a BT N P USHED = 1, semnificˆand
ap˘asarea pe buton ment¸inut˘a mai mult de 2 secunde).
20.2. Subiect 2012 - 2 273
Circuitul care implementeaz˘a modulul cerut este:
274 LECT¸ IA 20. Subiecte de examen
20.3 Subiect 2012 - 3
1.
ˆ
Intreb˘ari [2pct]
[0.2] Definit¸i not¸iunea de ”poart˘a logic˘a XOR”.
Solut¸ie
Poarta logic˘a XOR (sau exclusiv) are tabelul de funct¸ionare ¸si simbolul:
A B A B
0 0 0
0 1 1
1 0 1
1 1 0
Poarta XOR poate folosit˘a ca:
- circuit sumator de 2 bit¸i;
- circuit pentru determinarea inegalit˘at¸ii dintre doi bit¸i (sau imparitatea num˘arului de intr˘ari egale cu 1);
- inversor comandat.
[0.2] Definit¸i not¸iunea de ”latch D”.
Solut¸ie
Latch-ul D este un circuit care memoreaz˘a starea, activ pe palierul semnalului de ceas. Dac˘a CK = 1
latch-ul este transparent ¸si preia starea intr˘arii D. Dac˘a CK = 0 latch-ul memoreaz˘a starea.
[0.2] Definit¸i not¸iunea de ”fan-out”.
Solut¸ie
Fan-out-ul unei port¸i logice reprezint˘a num˘arul de port¸i logice de acela¸si tip care pot comandate de la
ie¸sirea unei port¸i logice. Se define¸ste ca raportul ˆıntre curentul de ie¸sire ¸si curentul de intrare al port¸ii
logice.
Fan-out ˆın starea H (High = 1 logic): F O
H
= I
OH
I
IH
Fan-out ˆın starea L (Low = 0 logic): F O
L
= I
OL
I
IL
Fan-out: F O = min(F O
H
, F O
L
)
[0.2] Definit¸i proprietatea fundamental˘a a codului Gray.
Solut¸ie
Codul Gray are proprietatea a dou˘a coduri al˘aturate difer˘a printr-un singur bit.
[0.2] Definit¸i not¸iunea de ”structur˘a pipeline”.
Solut¸ie
Structur˘a pipeline este o modalitate de organizare a unui sistem digital similar cu o ”linie de asamblare”.
Structura pipeline este format˘a din succesiuni de circuite combinat¸ionale ¸si registre. Scopul acestui tip de
organizare const˘a ˆın cre¸sterea frecvent¸ei de operare a sistemului prin mic¸sorarea num˘arului de nivele logice
dintre dou˘a registre.
[0.5] Justificat¸i valoarea de adev˘ar a expresiei:
A · C + A · B · C + A · B · D = A · C + A · B · C + B · C · D
Solut¸ie
Se construiesc diagramele V-K asociate expresiilor din stˆanga ¸si din dreapta.
20.3. Subiect 2012 - 3 275
Se observ˘a a expresia este fals˘a:
(0, 1, 2, 4, 5, 10, 11) ̸=
(0, 1, 2, 3, 4, 5, 10)
[0.5] Reprezentat¸i operat¸ia prezentat˘a cu numere ˆın baza zece, cu operanzi reprezentat¸i ˆın complement fat¸˘a
de 2, pe 16 bit¸i.
1004 (1008) = 2012|
10
Solut¸ie
1004|
10
= 512 + 256 + 128 + 64 + 32 + 8 + 4 = 11 1110 1100|
2
= 0000 0011 1110 1100|
2
1008|
10
= 512 + 256 + 128 + 64 + 32 + 16 = 11 1111 0000|
2
= 0000 0011 1111 0000|
2
1008|
10
= 1111 1100 0001 0000|
2
2012|
10
= 0000 0111 1101 1100|
2
0000_0011_1110_1100+ 0000_0011_1110_1100-
0000_0011_1111_0000 1111_1100_0001_0000
------------------- -------------------
0000_0111_1101_1100 0000_0111_1101_1100
2. Circuite logice combinat¸ionale [2pct]
Se consider˘a funct¸ia:
F =
(3, 6, 7, 8, 12, 14, 15) + d(0, 1, 4, 5)
[0.5] Minimizat¸i funct¸ia logic˘a ¸si implementat¸i-o cu port¸i NAND.
[0.5] Evaluat¸i ”costul” implemenarii.
[0.5] Propunet¸i o solut¸ie de eliminare a hazardului combinat¸ional ¸si evaluat¸i costul suplimentar al acesteia.
[0.5] Implementat¸i funct¸ia cu MUX 8:1 ¸si un num˘ar minim de port¸i logice suplimentare.
Solut¸ie
Diagrama V-K:
Expresia minimizat˘a: F (A, B, C, D) = B · C + C · D + A · D
Necesar de port¸i logice:
3 NAND x 2 = 6 intr˘ari
1 NAND x 3 = 3 intr˘ari
3 NOT x 1 = 3 intr˘ari
Total: 7 port¸i (12 intr˘ari)
Implementarea funct¸iei prezint˘a hazard combinat¸ional ce se poate elimina prin considerarea a dou˘a suprafet¸e
suplimentare: A · C ¸si B · D, necesitˆand suplimentar pentru implementare 2 port¸i NAND x 2 ¸si ˆınc˘a dou˘a intr˘ari.
Cost total al implement˘arii, ar˘a hazard combinat¸ional: 9 port¸i (18 intr˘ari).
276 LECT¸ IA 20. Subiecte de examen
Implementarea cu port¸i NAND este:
Din diagrama V-K urm˘atoare se deduc funct¸iile reziduu D:
Implementarea este:
3. Analiza circuitelor logice secvent¸iale [2pct]
Se consider˘a circuitul:
20.3. Subiect 2012 - 3 277
Num˘ar˘atorul presetabil comut˘a sincron cu frontul pozitiv al semnalului de ceas. Dac˘a LD = 1, atunci num˘ar˘atorul
se ˆıncarc˘a cu valoarea aflat˘a pe intrarea D. Dac˘a LD = 0, atunci num˘ar˘atorul se decrementeaz˘a, starea viitoare
fiind Q
+
= Q 1. Funct¸ionarea num˘ar˘atorul presetabil este descris˘a ˆın Verilog astfel:
input[3:0] D; // intrarea de date presetate (4 biti)
output[3:0] Q; // iesirea numaratorului (4 biti)
always @(posedge ck or negedge reset)
if (!reset) Q <= 4’b0000; else // initializare (reset activ "0")
if (LD) Q <= D; else // se incarca noua stare
Q <= Q - 1; // se decrementeaza starea
[0.5] Explicat¸i ˆın limbaj natural funct¸ionarea circuitului.
[1.0] Reprezentat¸i grafic comportamentului circuitului.
[0.5] Ce rol are condensatorul prezent ˆın schem˘a?
Solut¸ie
Circuitul prezint˘a un num˘ar˘ator de 4 bit¸i, ˆın sens descresc˘ator, presetabil. Intrarea de ˆınc˘arcare are ecuat¸ia:
LD = Q
3
· Q
2
, activ˘a and Q[3 : 0] = 10XX (adic˘a 8, 9, 10, 11|
10
).
Din circuit, se deduc ecuat¸iile intr˘arilor de presetare ale num˘ar˘atorului:
D
3
= Q
3
· Q
2
D
2
= Q
3
· Q
2
D
1
= Q
3
· Q
2
D
0
= Q
3
· Q
2
Num˘ar˘atorul va parcurge ˆın sens descresc˘ator st˘arile: 7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11.
La aparit¸ia st˘arii Q[3 : 0] = 1011|
2
= 11|
10
(prima din setul de st˘ari care respect˘a patternu-ul care determin˘a
presetarea num˘ar˘atorului, se activeaz˘a LD = 1 ¸si intr˘arile devin D[3 : 0] = 0101|
2
= 5|
10
Datele pot centralizate ˆıntr-un tabel:
278 LECT¸ IA 20. Subiecte de examen
Stare prezent˘a
ˆ
Inc˘arcare Intr˘ari Act¸iune Stare viitoare
Q[3 : 0] LD D[3 : 0] Q
+
[3 : 0]
0 0000 0 10 1010 Decrementare 15 1111
15 1111 0 10 1010 Decrementare 14 1110
14 1110 0 10 1010 Decrementare 13 1101
13 1101 0 10 1010 Decrementare 12 1100
12 1100 0 10 1010 Decrementare 11 1011
11 1011 1 5 0101
ˆ
Inc˘arcare 5 0101
5 0101 0 10 1010 Decrementare 4 0100
4 0100 0 10 1010 Decrementare 3 0011
3 0011 0 10 1010 Decrementare 2 0010
2 0010 0 10 1010 Decrementare 1 0001
1 0001 0 10 1010 Decrementare 0 0000
Se observ˘a mai sus ciclul de st˘ari 0, 15, 14, 13, 12, 11, 5, 4, 3, 2, 1, 0, ...
Se analizeaz˘a comportamentul din st˘arile neprezente ˆın ciclu
6 0110 0 10 1010 Decrementare 5 0101
7 0111 0 10 1010 Decrementare 6 0110
8 1000 1 5 0101
ˆ
Inc˘arcare 5 0101
9 1001 1 5 0101
ˆ
Inc˘arcare 5 0101
10 1010 1 5 0101
ˆ
Inc˘arcare 5 0101
Rezult˘a graful de tranzit¸ii:
Condensatorul din schem˘a, ˆımpreun˘a cu rezistent¸a, formeaz˘a un circuit de generare a unui puls de reset asincron,
activ 0, la punerea sub tensiune a circuitului. Din punct de vedere digital, semnalul reset va avea init¸ial valoarea
logic˘a 0 (fiind activ) iar dup˘a un timp determinat de ˆınc˘arcarea condensatorului va ajunge la valoarea logic˘a 1,
deci se va dezactiva. Valorile RC detemin˘a constanta de timp a circuitului de integrare ¸si determin˘a at¸imea
pulsului de reset asincron.
4. Sinteza circuitelor logice secvent¸iale [2pct]
Se consider˘a graful de tranzit¸ii:
[2.0] Implementat¸i automatul cu bistabile T ¸si port¸i NAND.
Solut¸ie
Automat Mealy, o intrare X, o ie¸sire Y , 6 st˘ari, codificate cu minim 3 bit¸i (Q
2
Q
1
Q
0
).
Codurile st˘arilor a = 000, b = 001, c = 010, d = 011, e = 100, f = 101. Tabelul de tranzit¸ii este:
20.3. Subiect 2012 - 3 279
Intrare Stare prezena Stare viitoare Ie¸sire Stimuli T
X Q
+
2
Q
+
1
Q
+
0
D
2
D
1
D
0
Y T
2
T
1
T
0
0 a 0 0 0 a 0 0 0 0 0 0 0
1 a 0 0 0 b 0 0 1 1 0 0 1
- b 0 0 1 c 0 1 0 0 0 1 1
0 c 0 1 0 d 0 1 1 1 0 0 1
1 c 0 1 0 a 0 0 0 0 0 1 0
- d 0 1 1 e 1 0 0 0 1 1 1
- e 1 0 0 f 1 0 1 1 0 0 1
- f 1 0 1 a 0 0 0 0 1 0 1
- - 1 1 0 - - - - - - - -
- - 1 1 1 - - - - - - - -
Diagramele V-K:
Y T
2
T
1
T
0
Expresii minimizate:
Y (X, Q
2
, Q
1
, Q
0
) = Q
2
· Q
0
+ X · Q
1
· Q
0
+ X · Q
1
· Q
0
T
2
(X, Q
2
, Q
1
, Q
0
) = Q
2
· Q
0
+ Q
1
· Q
0
T
1
(X, Q
2
, Q
1
, Q
0
) = X · Q
1
+ Q
2
· Q
0
T
0
(X, Q
2
, Q
1
, Q
0
) = Q
2
+ Q
0
+ X · Q
1
+ X · Q
1
Implementare:
280 LECT¸ IA 20. Subiecte de examen
5. Proiectare sistem digital [1pct]
[1.0]
Proiectat¸i un sistem secvent¸ial sincron cu o intrare X ¸si o ie¸sire Z. La fiecare front pozitiv al semnalului
X apar dou˘a pulsuri pe ie¸sirea Z. La fiecare front negativ al semnalului X apare un puls pe ie¸sirea Z. Formele
de und˘a ¸si temporizarea sunt prezentate ˆın figur˘a.
Solut¸ie
Rezolvarea problemei const˘a ˆın detectarea celor dou˘a fronturi (pozitiv ¸si negativ) ale semnalului X ¸si prelucrarea
pulsurilor pentru a genera secvent¸a cu forma ¸si temporizarea dorite.
X
d1
este X ˆıntˆarziat cu o perioad˘a, printr-un bistabil.
X
fp
este un puls care marcheaz˘a frontul pozitiv al semnalului X: X
fp
= X · X
d1
.
X
fp d1
¸si X
fp d2
sunt versiuni ˆınarziate cu 1 ¸si 2 perioade fat¸˘a de X
fp
, utilizate pentru a formata secvent¸a
necesar˘a a generat˘a la frontul pozitiv: X
puls f p
= X
fp
+ X
fp d2
.
X
fn
este un puls care marcheaz˘a frontul negativ al semnalului X: X
fn
= X · X
d1
.
X
fn d1
¸si X
puls f n
sunt versiuni ˆıntˆarziate cu 1 ¸si 2 perioade fat¸˘a de X
fn
.
ˆ
In final Z = X
puls f p
+ X
puls f n
.
Circuitul rezultat este:
20.3. Subiect 2012 - 3 281
6. Bonus [2pct]
Manualul de utilizare a sursei de tensiune neˆıntreruptibile APC Smart-UPS prezina panoul frontal ¸si moda-
litatea de pornire ¸si testare prin act¸ionarea aceluia¸si buton.
Proiectat¸i un sistem digital secvent¸ial sincron, avˆand frecvent¸a de ceas de 100 MHz, care preia intrarea de la
butonul Test ¸si genereaz˘a dou˘a impulsuri (cu at¸ime o perioad˘a de ceas) pentru ˆınceperea celor dou˘a funct¸ii:
pornire ¸si auto-testare.
Solut¸ie
Modulul proiectat este un sistem sincron cu o intrare denumit˘a BUT ON ¸si dou˘a ie¸siri denumite P ORN IRE ¸si
AUT O T EST ARE. Perioada semnalului de ceas este T
CK
= 1/f
CK
= 1/100 MHz = 10 ns.
Cele dou˘a ie¸siri prezint˘a ate un puls cu at¸imea egal˘a cu o perioad˘a a semnalului de ceas ˆın urm˘atoarele condit¸ii:
- P ORNIRE, ˆın momentul relax˘arii butonului (T EST comut˘a din 1 ˆın 0) dac˘a intervalul de timp de la ap˘asarea
butonului a fost mai mic decˆat ”cˆateva secunde”;
- AU T O T EST ARE, ˆın momentul relax˘arii butonului (T EST comut˘a din 1 ˆın 0) dac˘a intervalul de timp de
la ap˘asarea butonului a fost mai mare decˆat ”cˆateva secunde”.
Se consider˘a intervalul de timp a egal cu 2 secunde.
Cele 2 secunde trebuie asurate din momentul ap˘as˘arii butonului. Dup˘a scurgerea intervalului impus de 2 se-
cunde, se seteaz˘a un indicator P EST E2SEC. Dac˘a depistarea relax˘arii butonului se face and P EST E2SEC =
0, atunci se activeaz˘a P ORNIRE. Altfel, dac˘a depistarea relax˘arii butonului se face and P EST E2SEC = 1,
atunci se activeaz˘a AU T O T EST ARE. Este necesar un circuit demultiplexor 1:2, care a aib˘a conectat pe
select¸ie semnalul P EST E2SEC ¸si la intrarea de date pulsul care marcheaz˘a frontul negativ al intr˘arii T EST .
Circuitele care genereaz˘a pulsuri la fronturile semnalului de intrare T EST :
282 LECT¸ IA 20. Subiecte de examen
Semnalul P EST E2SEC se obt¸ine la ie¸sirea unui bistabil RS care se seteaz˘a dac˘a T EST = 1 mai mult de 2
secunde ¸si se reseteaz˘a la revenirea butonului (T EST comut˘a din 1 ˆın 0, BT N f n = 1).
Num˘ar˘atorul pentru asurarea intervalului de 2 secunde contorizeaz˘a un num˘ar de perioade egal cu raportul
ˆıntre intervalul de timp ¸si perioada de ceas: 2 sec/10 ns = 2 · 10
8
= 200.000.000. Num˘arul de bit¸i necesari este
28 deoarece 2
28
= 256M > 200.000.000. Num˘ar˘atorul trebuie a aib˘a urm˘atoarele caracteristici:
- facilitate de presetare la valoarea 199.999.999 (num˘ararea se face ˆıntre 199.999.999 ¸si 0);
- semnalare printr-un puls a ajungerii la zero (acest puls va opri num˘aratorul);
- facilitate de validare doar dac˘a butonul este ap˘asat (T EST = 1).
Circuitul care implementeaz˘a modulul cerut este:
20.3. Subiect 2012 - 3 283