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 19
Proiectarea sistemelor digitale
19.1 Not¸iuni teoretice
Proiectarea sistemelor digitale complexe nu urmeaz˘a un anumit algoritm.
Categoric, sunt necesare toate cuno¸stint¸ele despre circuite logice combinat¸ionale ¸si secvent¸iale.
Este nevoie ¸si de o experient¸˘a care a confere o anumit˘a sigurant¸˘a ˆın andirea unor structuri potrivite pentru
rezolvarea problemelor.
ˆ
Ins˘a, mai este nevoie de ”ceva”.
Acel ”ceva” nu ˆıl poate da nici aceast˘a lect¸ie. Lect¸ia aceasta poate ˆıns˘a a verifice dac˘a acel ”ceva” exist˘a.
19.2 Pentru cei ce vor doar a promoveze examenul
Nu este necesar˘a parcurgerea acestui capitol.
19.3 Pentru cei ce vor a ˆınvet¸e
1. Proiectat¸i un circuit de secvent¸iere care comand˘a un semafor. Circuitul are trei ie¸siri active ˆın 1 logic: verde,
galben ¸si ro¸su. Secvent¸a de comand˘a este urm˘atoarea:
a) ro¸su aprins 14 secunde
b) ro¸su ¸si galben aprinse 3 secunde
c) verde aprins 12 secunde
d) galben aprins 4 secunde
Proiectat¸i circuitul utilizˆand un num˘ar˘ator cu presetare potrivit ¸si logic˘a adit¸ional˘a. Presupunet¸i a semnalul
de ceas are frecvent¸a de 1 Hz.
Solut¸ie
Semnalul de ceas are frecvent¸a de 1 Hz, deci perioada este de 1 secund˘a.
Se poate proiecta un automat sincron cu 14 +3+12+ 4 = 33 de st˘ari (6 bit¸i de stare) avˆand ie¸sirile conform
specificat¸iilor.
O alternativ˘a const˘a ˆın utilizarea unui num˘ar˘ator modulo 33 (cu 33 de st˘ari, 6 bit¸i de codificare a st˘arii) ¸si
generarea ie¸sirilor din circuite combinat¸ionale conform ecuat¸iilor:
250 LECT¸ IA 19. Proiectarea sistemelor digitale
ro¸su = (star e < 17)
galben = (stare [14 16]) sau (stare > 28)
verde = (stare [17 28])
Implementarea comparat¸iilor pentru ie¸siri necesit˘a circuite combinat¸ionale cu ate 6 intr˘ari.
O alt˘a alternativ˘a const˘a ˆın implementarea unui registru de deplasare de 33 de bit¸i, init¸ializat cu un singur
bit egal cu 1, care la fiecare tact ˆı¸si rote¸ste cont¸inutul. Bitul egal cu 1 desemneaz˘a starea curent˘a. Este, de
fapt, o implementare de automat cu codificarea st˘arilor ”one-hot”. Circuitul combinat¸ional al ie¸sirilor va
format din port¸i OR care au intr˘arile provenite de la bit¸ii asociat¸i st˘arilor specificate:
ro¸su = S
[0]
+ S
[1]
+ ... + S
[16]
galben = S
[14]
+ S
[15]
+ S
[16]
+ S
[29]
+ S
[30]
+ S
[31]
+ S
[32]
verde = S
[17]
+ S
[18]
+ ... + S
[27]
+ S
[28]
Se recomand˘a plasarea unui set de registre p e ie¸siri.
Acest tip de problem˘a poate abordat˘a ¸si sub forma unui automat care controleaz˘a secvent¸ele specificate
cu temporiz˘ari programabile. Temporizarea este implementat˘a cu un singur num˘ar˘ator presetabil, capabil
a numere durata cea mai lung˘a (14 secunde, 4 bit¸i). Figura 19.1 prezint˘a schema de principiu a circuitului
proiectat. Secvent¸ierea se realizeaz˘a cu un registru de rotire de 4 bit¸i activat and num˘ar˘atorul de tem-
porizare ajunge la 0. Tot atunci, num˘ar˘atorul se ˆıncarc˘a cu noua valoare a temporiz˘arii, determinat˘a de
secvent¸a curent˘a.
Figura 19.1 Schema de principiu a semaforului descris la problema 1, implementat cu un registru de deplasare asociat celor 4
secvent¸e ¸si un num˘ar˘ator presetabil pentru temporizare.
2. Proiectat¸i un circuit care a genereze secvent¸a periodic˘a prezentat˘a ˆın figura 19.17-a.
a) folosind un num˘ar˘ator ¸si un decodificator;
b) folosind bistabile D.
a) b)
Figura 19.2 a) Forme de und˘a referite de problema 2. b) Circuitul.
19.3. Pentru cei ce vor a ˆınvet¸e 251
Solut¸ie
Se observ˘a pe formele de und˘a o secvent¸˘a ciclic˘a de 3 st˘ari. Automatul se poate implementa cu 2 bistabile.
a) Implementarea cu num˘ar˘ator necesit˘a un num˘ar˘ator de 2 bit¸i care num˘ar˘a ˆıntre st˘arile 0 ¸si 2. Cei 2 bit¸i ai
num˘ar˘atorului se conecteaz˘a la intrarea unui decodificator 2:4. Ie¸sirile T
2
, T
1
, T
0
se obt¸in din ie¸sirile decodifica-
torului astfel:
T
0
= O
0
+ O
1
T
1
= O
1
T
2
= O
2
b) O alternativ˘a de implementare porne¸ste de la observat¸ia a T
1
se poate obt¸ine printr-un registru de 3 bit¸i,
init¸ializat cu 100, care se rote¸ste. Se observ˘a a T
2
se poate genera prin ˆıntˆarzierea semnalului T
1
cu un tact, iar
T
0
este semnalul negat al lui T
1
. Circuitul este prezentat ˆın figura 19.17-b.
3. Proiectat¸i au automat sincron cu o intrare X ¸si o ie¸sire Z. Ie¸sirea este activat˘a ˆın 1 logic pentru o perioad˘a de
ceas la aparit¸ia fiec˘arei secvent¸e seriale 0100, atˆata timp at nu a ap˘arut secvent¸a 1000. Ca exemplu, figura 19.3
prezina dou˘a cazuri de secvent¸e X ¸si Z (observat¸i pozit¸ia unde se activeaz˘a ie¸sirea Z). Modificat¸i circuitul astfel
ˆıncˆat sa reia detectarea secvent¸ei 0100 dup˘a primirea secvent¸ei 0111.
Figura 19.3 Forme de und˘a pentru automatul de detectare a unei secvent¸e condit¸ionat de aparit¸ia alteia, problema 3.
Solut¸ie
Detectarea aparit¸iei unei secvent¸e seriale se face prin ˆıntˆarzierea valorii de intrare prin bistabile ¸si colectarea
ie¸sirilor bistabilelor (valorile intr˘arii la momente de timp succesive) printr-o poart˘a AND cu intr˘ari negate sau
ne-negate (conform secvent¸ei). Un asemenea circuit detecteaz˘a aparit¸ia secvent¸ei 1000. La aparit¸ia acesteia
se seteaz˘a valoarea unui bistabil RS, avˆand semnificat¸ia ”secvent¸a 1000 a fost primit˘a”. Un circuit similar
detecteaz˘a aparit¸ia secvent¸ei 0100 ¸si condit¸ioneaz˘a semnalizarea pe ie¸sire de starea bistabilului RS. Circuitul
este prezentat ˆın figur˘a 19.4.
Figura 19.4 Automatul de detectare a unei secvent¸e condit¸ionat de aparit¸ia alteia, problema 3.
252 LECT¸ IA 19. Proiectarea sistemelor digitale
4.
ˆ
Intr-un sistem de comunicat¸ie serial˘a, un mesaj poate ˆıncepe fie cu secvent¸a 11 fie cu secvent¸a 1001. a se
realizeze un circuit secvet¸ial sincron pentru detectarea secvent¸elor de ˆınceput de mesaj. Intrarea se nume¸ste
DATA iar singura ie¸sire se nume¸ste G
˘
ASIT. and RESET = 1, automatul intr˘a ˆın starea init¸ial˘a ¸si G
˘
ASIT =
0. and RESET = 0, automatul este ˆın mod normal de operare. Circuitul semnalizeaz˘a cu G
˘
ASIT=1 dup˘a
detectarea primei secvent¸e 11 sau 1001. Ie¸sirea G
˘
ASIT revine la 0 doar dup˘a ce RESET devine 1 din nou.
Proiectat¸i un automat Moore care a implementeze circuitul de recunoa¸stere a secvent¸elor de ˆınceput. Deducet¸i
tabelul de tranzit¸ii al automatului ¸si precizat¸i semnificat¸ia fiec˘arei st˘ari. Nu se vor utiliza mai mult de 5 st˘ari.
Solut¸ie
Circuitul este realizat cu un registru de deplasare cu intrarea DATA care permite testarea succesiunii de 4 valori
ale intr˘arii. Circutele de detectare a secvent¸elor de ˆınceput de mesaj se realizeaz˘a cu port¸i AND. La detectarea
uneia din secvent¸e se seteaz˘a valoarea unui bistabil RS. Ie¸sirea G
˘
ASIT este conectat˘a la ie¸sirea acestui bistabil.
Intrarea de RESET este conectat˘a la intrarea de reset asincron a tuturor bistabilelor. Circuitul este prezentat
ˆın figura 19.5-a.
a)
b)
Figura 19.5 a) Automatul descris la problema 4. b) Graful de tranzt¸ii al automatului Moore.
Automatul Moore asociat are graful prezentat ˆın figura 19.5-b. St˘arile au urm˘atoarele semnificat¸ii:
S
0
- stare init¸ial˘a, nu s-a primit nimic din secvent¸a de intrare;
S
1
- s-a primit un 1;
S
2
- s-a primit o succesiune 10;
S
3
- s-a primit o succesiune 100;
S
4
- s-a primit o succesiune 11 sau 1001 ¸si se activeaz˘a ie¸sirea; aceast˘a stare nu se mai ar˘ase¸ste decˆat la activarea
reset-ului asincron.
5. Proiectat¸i un num˘ar˘ator modulo 5 sau modulo 12, utilizˆand un num˘ar˘ator de 4 bit¸i presetabil ¸si logic˘a adit¸ional˘a.
Valoarea este selectat˘a cu ajutorul unui bit de intrare.
Solut¸ie
Se opteaz˘a pentru num˘ararea ˆın sens descresc˘ator.
Pentru SEL = 1, se realizeaz˘a num˘ararea modulo 12, ˆıntre 11 ¸si 0.
19.3. Pentru cei ce vor a ˆınvet¸e 253
Pentru SEL = 0, se realizeaz˘a num˘ararea modulo 5, ˆıntre 4 ¸si 0. La atingerea st˘arii 0000, se activeaz˘a intrarea de
ˆınc˘arcare a num˘ar˘atorului presetabil. Valoarea cu care se ˆıncarc˘a num˘ar˘atorul este selectat˘a cu un multiplexor
pe baza intr˘arii SEL. Circuitul este prezentat ˆın figura 19.6.
Figura 19.6 Num˘ar˘ator modulo 12 sau modulo 5, problema 5.
6. Proiectat¸i un circuit de ˆıntˆarziere a unui semnal cu 1, 2, 3 sau 4 perioade de ceas. Durata ˆıntˆarzierii este selectat˘a
cu o intrare de 2 bit¸i.
Solut¸ie
Pentru selectarea duratei ˆıntˆarzierii se poate folosi un multiplexor 4:1 cu cei 2 bit¸i de intrare conectat¸i la intr˘arile
de select¸ie.
ˆ
Inazierile semnalul de intrare sunt realizate cu ajutorul a 4 bistabile D conectate ˆın serie ca ˆın figura
19.7-a. De observat a circuitul din figura 19.7-b prezina o temporizare similar˘a, ˆıns˘a ie¸sirea acestuia este direct
din registru (nu din circuit combinat¸ional). Varianta b) este recomandat˘a.
a) b)
Figura 19.7
ˆ
Inarzieri variabile pentru un semnal, problema 6.
7. Proiectat¸i un circuit secvent¸ial care a efectueze urm˘atoarele operat¸ii:
S
1
S
0
Q
+
[3:0]
Act¸iune
0 0 Q astreaz˘a starea
0 1 0000 Init¸ializeaz˘a starea
1 0 Q D
in
XOR ˆıntre starea curena ¸si intrarea de 4 bit¸i
1 1 Q + D
in
Adun˘a intrarea la starea curent˘a
Solut¸ie
Circuitul se bazez˘a pe un registru de 4 bit¸i peste care se ˆınchide o bucl˘a ce determin˘a starea viitoare a registrului,
conform tabelului, pe baza intr˘arilor de select¸ie. Figura 19.8 prezina circuitul propus.
8. Proiectat¸i un circuit de conversie a numerelor reprezentate ˆın complement fat¸˘a de 2. Num˘arul este ˆınc˘arcat ˆın
paralel ˆıntr-un registru ¸si apoi deplasat serial. La ie¸sire, num˘arul este convertit ¸si ˆınc˘arcat serial ˆıntr-un registru
de destinat¸ie de unde este preluat ˆın paralel ˆın momentul activ˘arii unui semnal.
254 LECT¸ IA 19. Proiectarea sistemelor digitale
Figura 19.8 Circuitul proiectat la problema 7.
9. Proiectat¸i un circuit secvent¸ial sincron care a converteasc˘a un num˘ar reprezentat ˆın complement fat¸˘a de 2 ˆın
num˘arul corespunz˘ator cu semn schimbat. Num˘arul este introdus la intrarea circuitului ate un bit pe tact,
ˆıncepˆand cu bitul cel mai put¸in semnificativ. Aparit¸ia num˘arului pe intrarea de date (Din) este marcat˘a prin
activarea intr˘arii de validare (En = 1).
ˆ
Intre dou˘a numere consecutive exist˘a o pauz˘a de minim un tact (perioad˘a
ˆın care En = 0). Num˘arul cu semn schimbat este prezentat secvent¸ial pe ie¸sirea Dout, ˆıncepˆand cu urm˘atorul
tact dup˘a primirea celui mai put¸in semnificativ bit (primul). Dout = 0 pe durata and En = 0. Se cer
organigrama ¸si schem˘a bloc a circuitului propus.
10. Proiectat¸i un circuit de verificare a protocolului cerere/confirmare. La aparit¸ia unei erori de protocol se seteaz˘a un
bit de eroare. Acesta se ment¸ine activ an˘a la activarea semnalului de reset asincron. Protocolul de comunicare
are urm˘atoarele reguli:
- Modulul client activeaz˘a o cerere prin setarea ie¸sirii Rq = 1 (Engl. ”Request”).
- Modulul server observ˘a cererea ¸si and o satisface informeaz˘a clientul prin Ack = 1 (Engl. ”Acknowledge”).
Ie¸sirea Ack este activ˘a un singur tact, ˆıntotdeauna ca efect al unei cereri.
- Imediat ce observ˘a confirmarea, mo dulul client inactiveaz˘a cererea Rq = 0.
Abaterile de la protocol sunt considerate ”erori de protocol” ¸si determin˘a activarea ERR = 1.
11. Protocolul USB implementeaz˘a o codare/decodare NRZI (Engl. ”Non-Return to Zero Inverted”) asupra datelor
seriale trimise ˆın pachete.
ˆ
In codarea NRZI, un ”1” este reprezentat de o ment¸inere a valorii logice, iar un ”0”
este reprezentat de o modificare a valorii logice. Un ¸sir de ”0” produce la ie¸sire un semnal care comut˘a la fiecare
tact. Un ¸sir de ”1” produce la ie¸sire un semnal constant (f˘ar˘a tranzit¸ii). Figura 19.9 prezint˘a un flux de date de
intrare ¸si codarea NRZI asociat˘a acestora.
a se proiecteze circuite de codare ¸si decodare NRZI.
Figura 19.9 Date codate NRZI (protocol USB).
Solut¸ie
Pe formele de und˘a din figura 19.9 se observ˘a a ie¸sirea N RZI react¸ioneaz˘a combinat¸ional la valoarea intr˘arii
DAT A. Din enunt¸ reiese a valoarea curent˘a a ie¸sirii N RZI depinde de valoarea curent˘a a intr˘arii DAT A ¸si de
valoarea anterioar˘a a N RZI. Valoarea anterioar˘a a N RZI, denumit˘a NRZI
del
se obt¸ine printr-un bistabil D.
19.3. Pentru cei ce vor a ˆınvet¸e 255
Conform enunt¸ului, se obt¸ine ecuat¸ia ie¸sirii:
NRZI = DAT A N RZI
del
Pentru decodare, se deduce ecuat¸ia:
DAT A = N RZI NRZI
del
Circuitele de codare ¸si de decodare a datelor NRZI sunt prezentate ˆın figura 19.10.
Figura 19.10 Circuite de codare ¸si decodare NRZI.
12. Pentru a asigura tranzit¸ii adecvate ale semnalului, protocolul USB realizeaz˘a o prelucrare a fluxului de date
seriale denumit˘a ”bit stuffing”. Algoritmul presupune inserarea unei valori ”0” dup˘a fiecare 6 valori consecutive
egale cu ”1”. La recept¸ie, bitul inserat suplimentar trebuie detectat ¸si desc˘arcat din fluxul de date seriale. Figura
19.11 prezina un flux de date de intrare procesat pe baza algoritmului ”bit stuffing” la transmitere ¸si la recept¸ie.
a se proiecteze circuite utilizate pentru ”bit stuffing” la transmisie ¸si la recept¸ie.
Figura 19.11 Data prelucrate ”bit stuffing” (protocol USB).
13. Proiectat¸i un automat care semnaleaz˘a pe ie¸sire existent¸a pe intrare a 3 sau mai mult¸i bit¸i secvent¸iali ¸si conse-
cutivi egali cu 1.
Solut¸ie
Dac˘a intrarea se ˆınarzie printr-un registru de deplasare de 3 bit¸i, la ie¸sirile bistabilelor se pot accesa simultan
valorile intr˘arii ˆın ultimile 3 tacte. Cu o poart˘a AND cu 3 intr˘ari se poate implementa condit¸ia impus˘a. Circuitul
este prezentat ˆın figura 19.12. Se remarc˘a faptul a pentru ˆıntˆarziere se pot folosi ¸si numai dou˘a bistabile, caz ˆın
care ar trebui folosit˘a valoarea intr˘arii.
ˆ
In acest caz, ie¸sirea ar activat˘a combinat¸ional (simultan cu al treilea
bit egal cu 1 la intrare). Bistabilul plasat pe ie¸sire are, de asemenea, rolul de a genera ie¸sirea circuitului din
registru.
Figura 19.12 Automat care depisteaz˘a o succesiune de 3 sau mai mult¸i bit¸i succesivi egali cu 1.
Dac˘a la poarta AND se pun inversoare pe anumite intr˘ari, se poate modifica secvent¸a depistat˘a. De exemplu,
prin inversarea logic˘a a intr˘arii din mijloc, se obt¸ine un circuit care semnaleaz˘a aparit¸ia pe intrare a succesiunii
de st˘ari 101.
256 LECT¸ IA 19. Proiectarea sistemelor digitale
14. Proiectat¸i un automat care semnaleaz˘a pe ie¸sire existent¸a pe cele dou˘a intr˘ari a 3 sau mai multe coincident¸e
secvent¸iale ¸si consecutive ale celor dou˘a intr˘ari.
Solut¸ie
Automatul se poate implementa ca ¸si cel din problema 13 cu ad˘augarea unei port¸i XNOR pe cele dou˘a intr˘ari.
Ideea se bazeaz˘a pe observat¸ia a poarta XOR cu dou˘a intr˘ari semnaleaz˘a la ie¸sire faptul a cele dou˘a intr˘ari sunt
diferite, iar poarta XNOR ˆı¸si activeaz˘a ie¸sirea ˆın 1 ˆın cazul egalit˘at¸ii celor dou˘a intr˘ari. Verificarea coincident¸ei
celor dou˘a intr˘ari este echivalent˘a cu verificarea ie¸sirii egale cu 1 pentru poarta XNOR.
15. Proiectat¸i un automat care semnaleaz˘a pe ie¸sire existent¸a pe intrare a 3 sau mai mult¸i bit¸i secvent¸iali ¸si conse-
cutivi egali.
Solut¸ie
Bit¸ii de intrare se ˆıntˆarzie prin bistabile D pentru a avea acces la 3 bit¸i succesivi. Se pune condit¸ia ca 3 bit¸i
consecutivi a fie tot¸i egali cu 1 sau tot¸i egali cu 0. Rezult˘a circuitul prezentat ˆın figura 19.13.
Figura 19.13 Circuit care semnaleaz˘a 3 sau mai mult¸i bit¸i consecutivi egali.
16. Proiectat¸i un automat care semnaleaz˘a pe ie¸sire prezent¸a a 5 concident¸e dintre datele primite pe cele dou˘a
intr˘ari.
17. Proiectat¸i un automat care determin˘a ¸si semnaleaz˘a pe ie¸sire valoarea majoritar˘a a valorilor primite pe in-
trare ˆın ultimele 3 perioade de ceas. Determinat¸i secvent¸a de ie¸sire ˆın cazul aplic˘arii la intrare a secvent¸ei
00111110001100101010100111.
18. Proiectat¸i un automat care semnaleaz˘a pe ie¸sire detectarea unui ¸sir de bit¸i aplicat¸i secvent¸ial pe intrare cu
valorile 10111. Pattern-ul semnalat se poate suprapune peste o instant¸˘a anterioar˘a. Figura 19.14 prezina un
exemplu de intrare X ¸si ie¸sirea Z asociat˘a.
Figura 19.14 Exemplu de forme de und˘a pentru automatul care depisteaz˘a secvent¸a 10111.
Rezolvat¸i aceea¸si problem˘a pentru secvent¸ele: 11011, 00111, 01011.
Propunet¸i un circuit care permite particularizarea ulterior a secvent¸ei depistate de lungime 5 bit¸i.
Propunet¸i un circuit care permite particularizarea ulterior a secvent¸ei depistate de lungime maxim˘a 5 bit¸i (poate
¸si mai scurt˘a).
19. Proiectat¸i un automat cu dou˘a intr˘ari ¸si o ie¸sire avˆand urm˘atoarea funct¸ionare:
- Pe una din intr˘ari se primesc grupuri de ate 4 bit¸i, cu bitul cel mai semnificativ primul.
- Pe a dou˘a intrare se primesc pulsuri de ate o singur˘a perioad˘a de ceas, nu mai dese decˆat un puls la 4 perioade
de ceas. A doua intrare marcheaz˘a momentul and pe prima intrare exist˘a primul bit din grupul de 4 bit¸i.
-
ˆ
Intre dou˘a grupuri de 4 bit¸i pot ¸si pauze. Pe durata pauzei, valorile primei intr˘ari sunt ignorate.
- Ie¸sirea este activat˘a dac˘a la finalul unei secvent¸e de 4 bit¸i valid˘a se constat˘a a secvent¸a nu reprezina cifre ˆın
format BCD (ˆıntre 0 ¸si 9).
19.4. Pentru cei ce vor a devin˘a profesioni¸sti 257
20. Proiectat¸i un circuit generator de 8 faze.
Solut¸ie
O solut¸ie este reprezentat˘a de un num˘ar˘ator de 3 bit¸i, urmat de un DCD 3:8. Cele 8 faze se obt¸in la ie¸sirile
decodificatorului. Pe aceste ie¸siri se pot ad˘auga bistabile. Frecvent¸a maxim˘a de lucru este determinat˘a de timpul
de propagare al decodificatorului.
O alternativ˘a mai bun˘a o constituie un registru de deplasare de 8 bit¸i ˆın inel init¸ializat cu valoarea 0000 0001. La
fiecare tact, cont¸inutul registrului se rote¸ste ¸si activeaz˘a o alt˘a faz˘a. Ie¸sirile sunt direct din bistabile iar circuit
combinat¸ional nu exist˘a.
21. Proiectat¸i o unitate aritmetic˘a pe N bit¸i care, p e baza intr˘arii de select¸ie S ¸si a intr˘arii de transp ort C
i
,
implementeaz˘a cele 4 funct¸ii din tabel:
S C
i
Funct¸ie
0 0 F = A + B (sum˘a)
0 1 F = A + 1 (increment)
1 0 F = A 1 (decrement)
1 1 F = A + B + 1 (diferent¸˘a)
19.4 Pentru cei ce vor a devin˘a profesioni¸sti
1. Implementat¸i cu circuit ROM automatul ”TAP Controller” (Engl. ”Test Access Port Controller”) al arui graf
de tranzit¸ii este prezentat ˆın figura 19.15.
Figura 19.15 Graf de tranzit¸ii pentru TAP Controller.
2. a se proiecteze un circuit secvent¸ial de negare a numerelor reprezentate ˆın complement fat¸˘a de 2, primite la
intrare secvent¸ial, cel mai put¸in semnificativ bit primul. Adic˘a, dac˘a la intrare se prime¸ste 5, la ie¸sire apare -5,
dac˘a se prime¸ste -6, la ie¸sire apare 6. O intrare suplimentar˘a se activeaz˘a simultan cu ultimul bit al datelor de
intrare (cel mai semnificativ). O ie¸sire suplimentar˘a se activeaz˘a simultan cu primul bit al rezultatului (cel mai
put¸in semnificativ). Datele seriale sunt prezentate la intrare ˆıntr-un flux continuu.
Exemplu:
258 LECT¸ IA 19. Proiectarea sistemelor digitale
- axa timpului este de la stˆanga la dreapta
- numerele sunt codificate ˆın complement fat¸˘a de 2, primul bit primit de sistem este cel mai put¸in semnificativ
(reprezentat ˆın partea stˆang˘a a axei temporale
- DataIn = 5|
10
= 00
0
101|
2
. Bit¸ii se vor primi unul ate unul, ˆın ordinea: 101000 (primul bit transmis, aflat
ˆın partea stˆang˘a a reprezent˘arii temporale, este cel mai put¸in semnificativ bit, aflat ˆın partea dreapt˘a a scrierii
binare).
- DataIn = 8|
10
= 1111
1
000|
2
. Bit¸ii se vor primi unul ate unul, ˆın ordinea: 00011111.
DataIn 10100000011111x
MarkerIn 00000100000001x
DataOut x11011100010000
MarkerOut 010000010000000
3. a se proiecteze un circuit digital sincron care a detecteze ap˘asarea unui buton. Circuitul genereaz˘a dou˘a
semnale:
1. butonPush: un puls la fiecare ap˘asare pe buton (l˘at¸imea unui puls este egal˘a cu o perioad˘a de ceas),
2. butonAutoRepeat: un tren de impulsuri pentru fiecare ap˘asare pe buton care dureaz˘a mai mult de o secund˘a
(l˘at¸imea unui puls este egal˘a cu o perioad˘a de ceas, intervalul ˆıntre dou˘a pulsuri succesive este de 100 ms).
Schema bloc a sistemului proiectat este prezentat˘a ˆın figura 19.16.
Figura 19.16 Schema blo c a circuitului de generare de pulsuri (problema 3).
Tabel cu descrierea porturilor:
Nume Port Direct¸ie Dimensiune Descriere port
ck IN 1 Semnal de ceas cu frecvent¸a de 50MHz.
reset IN 1 Semnal de reset asincron, activ pe 1.
buton IN 1 Intrare provenit˘a de la un buton cu ap˘asare, activ˘a 1. Se
consider˘a a intrarea este deja filtrat˘a ¸si toate zgomotele
mecanice eliminate.
butonPush OUT 1 Ie¸sire p e care apare un puls (l˘at¸ime o perioad˘a de ceas) la
fiecare ap˘asare pe buton.
butonAutoRepeat OUT 1 Ie¸sire pe care apar pulsuri repetitive (l˘at¸ime o perioad˘a de
ceas, interval ˆıntre dou˘a pulsuri de 100 ms) ˆın cazul ˆın care
butonul este t¸inut ap˘asat mai mult de 1 secund˘a.
Sistemul este sincron, avˆand semnalul de ceas ck (frecvent¸˘a de 50MHz ¸si factor de umplere 50%) ¸si semnalul
asincron de init¸ializare reset. Intrarea buton provine de la un buton cu act¸ionare manual˘a. Se consider˘a a
intrarea este deja filtrat˘a (buton = 1 semnific˘a ”buton ap˘asat”, buton = 0 semnific˘a ”buton relaxat”).
O ap˘asare pe buton nu poate mai scurt˘a decˆat 100 ms. La fiecare ap˘asare pe buton, indiferent de durata
acesteia, se genereaz˘a un puls pe ie¸sirea butonPush (l˘at¸ime o perioad˘a de tact).
Dac˘a ap˘asarea pe buton este mai lung˘a decˆat 1 secund˘a, circuitul genereaz˘a pe ie¸sirea butonAutoRepeat
un ¸sir repetitiv de impulsuri, cu cadent¸a de 10 pulsuri pe secund˘a (l˘at¸imea unui puls este o perioad˘a de tact,
intervalul ˆıntre dou˘a pulsuri este de 100 ms).
Forme de und˘a asociate sistemului de generare de pulsuri sunt prezentate ˆın figura 19.17.
19.4. Pentru cei ce vor a devin˘a profesioni¸sti 259
Figura 19.17 Forme de und˘a asociate sistemului de generare de pulsuri (problema 3).