Sunteți pe pagina 1din 104

Cuprins

Prefa!"

Familii logice 1.1 Considera!ii teoretice 1.1.1 Poarta TTL standard 1.1.2 Poarta logic" CMOS 1.1.3 Zgomote #i reflexii 1.2 Demonstra!ii practice 1.3 Probleme rezolvate

7 7 7 ## #4 #9 24

Sisteme combina!ionale 2.1 Considera!ii teoretice 2.1.1 Implementarea cu por!i logice 2.1.2 Implementarea cu multiplexoare/demultiplexoare 2.2 Demonstra!ii practice 2.3 Probleme rezolvate

3# 3# 3# 33 35 40

Circuite de impuls 3.1 Considera!ii teoretice 3.1.1 Circuite astabile 3.1.2 Circuite monostabile

45 45 45 48

3.1.3 Circuite bistabile 3.2 Demonstra!ii practice 3.3 Probleme rezolvate

49 50 54

Sisteme secven!iale 4.1 Considera!ii teoretice 4.1.1 Sisteme secven!iale asincrone 4.1.2 Sisteme secven!iale sincrone 4.1.3 Hazard 4.2 Demonstra!ii practice 4.3 Probleme rezolvate

59 59 59 62 63 64 69

Structuri programabile 5.1 Considera!ii teoretice 5.1.1 Memoria ROM 5.1.2 Memoria RAM 5.1.3 Structuri PLD 5.1.4 Structuri FPGA 5.2 Demonstra!ii practice 5.3 Probleme rezolvate

79 79 79 80 8# 83 84 88

Analiza $i sinteza automat" 6.1 Considera!ii teoretice 6.1.1 Analiza circuitelor prin simulare PSPICE 6.1.2 Sinteza circuitelor folosind limbajul VHDL 6.2 Demonstra!ii practice 6.3 Probleme rezolvate

9# 9# 9# 97 #0# #06

Bibliografie

#09

FAMILII LOGICE

Aplica!iile din acest capitol "i propun s# prezinte familiile de por!i logice TTL "i CMOS, s# fac# un studiu comparativ al parametrilor "i caracteristicilor unor por!i logice realizate n cele dou# tehnologii fundamentale "i s# analizeze sursele posibile de zgomote n sistemele reale cu circuite integrate numerice.

1.1 Considera!ii teoretice


1.1.1 Poarta TTL standard
Structura por!ii $I-NU (NAND) n tehnologie TTL standard este dat# n figura %.%. Dac# tensiunea pe cel pu!in una dintre intr#ri este nul#, tranzistorul T% are cel pu!in o jonc!iune polarizat# direct "i poten!ialul bazei lui T% este de circa 0,6V. n aceste condi!ii, tranzistorii T2 "i T3 sunt bloca!i, iar tranzistorul T4 conduce, rezultnd la ie"ire starea % logic. Tensiunea la ie"ire este VOH (Voltage Output High):

VOH = VCC VBE ( T 4 ) VF ( D%)


R%
4K

R2 %K6 T% T2 R3
%K

R4 %30 T4 D% T3

Vcc A. B

A B DA DB

A Vout B

Fig. %.% Structura por!ii "I-NU n tehnologie TTL standard

1 FAMILII LOGICE

Fig. %.2 Caracteristica de transfer a inversorului TTL standard

Fig. %.3 Consumul de curent de la sursa de alimentare Dac# tensiunile pe intr#ri sunt n % logic, jonc!iunea BC a tranzistorului T% conduce, polariznd baza tranzistorului T2. Intrarea n conduc!ie a lui T2 determin# "i conduc!ia lui T3, rezultnd la ie"ire 0 logic. Tensiunea la ie"ire este VOL (Voltage Output Low):

VOL = VCEsat ( T 3)
Caracteristica Vout = f (Vin ) se nume"te caracteristica de transfer de tensiune a por!ii "i are forma din figura %.2, pentru o anumit# tensiune de alimentare "i temperatur#. Tensiunea de intrare se aplic# simultan pe cele 2 intr#ri A "i B ale por!ii, care devine astfel un simplu inversor. Varia!ia consumului de curent de la sursa de alimentare se poate vedea pe caracteristica din figura %.3. Standardul TTL garanteaz# anumite valori de tensiune pentru cele patru nivele logice de ie"ire "i intrare n poarta logic#. Pentru o nc#rcare a ie"irii cu %0 intr#ri TTL standard (fan-out = %0), aceste nivele garantate sunt:

1.1 Considera!ii teoretice

- V IL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: VIL V IL max = 0,8 V - VIH , nivelul de tensiune necesar pentru a avea % logic la intrare: VIH VIH min = 2 V - VOL , nivelul de tensiune de la ie"ire n starea 0 logic: VOL VOL max = 0,4 V Caracteristica I in = f (Vin ) se nume"te caracteristic# de intrare "i este reprezentat# n figura %.4, pentru o anumit# tensiune de alimentare "i temperatur#. Caracteristica - VOH , nivelul de tensiune de la ie"ire n starea % logic: VOH VOH min = 2,4 V .

Vout = f ( I out ) se nume"te caracteristic# de ie"ire. Exist# dou# caracteristici de ie"ire, cte una pentru fiecare din cele dou# st#ri logice (figurile %.5 "i %.6). Figura %.7 prezint# o compara!ie ntre caracteristicile de transfer pentru diverse grupe ale familiei logice TTL. Se observ# asem#narea lor, deci putem spune c# toate grupele TTL se pot interconecta direct, cu observa!ia c# frecven!a de lucru trebuie s# fie mai mic# dect frecven!a maxim# a celor mai lente circuite din structur#.

Structura por!ii $I-NU cu colector n gol (open colector) este reprezentat# n figura %.8. n circuitul de ie"ire a tranzistorului cu colector n gol se conecteaz# rezisten!a RC . Aceast# modificare permite deplasarea nivelului semnalului logic de la ie"ire din TTL (circa 0 - 4V) n 0 - Vcc , unde Vcc poate fi o tensiune mai mare de 5V. Configura!ia cu colector n gol permite "i realizarea func!iei logice $I, prin conectarea direct# a ie"irilor, f#r# a mai utiliza alte por!i logice n acest scop. Circuitul astfel ob!inut se nume"te $I CABLAT, deoarece func!ia $I a fost ob!inut# numai prin cablarea mpreun# a ie"irilor.

Fig. %.4 Caracteristica de intrare

Fig. %.5 Caracteristica de ie#ire n $ logic

Fig. %.6 Caracteristica de ie#ire n 0 logic

Fig. %.7 Diverse grupe TTL

10
R%
4K %K6

1 FAMILII LOGICE

R2

Vcc RC T2 Vout T3

+ A B RC

A B DA D B

T% R3
%K

A.B

Fig. %.8 Structura por!ii "I-NU cu colector n gol


VCC RC
IIH IOH
IOL

VCC RC
I IL

. .

IOH

. . .

. . .

. .
I IL

IOH IIH

N n curen!ii n circuit pentru % logic

N n curen!ii n circuit pentru 0 logic

Fig. %.9 Calculul rezisten!ei RC Dezavantajul acestei structuri este dat de faptul c# rezisten!a de ie"ire este dat# de valoarea rezisten!ei RC , valoare mai mare dect rezisten!a de ie"ire a etajului n contratimp de la poarta standard. Valoarea rezisten!ei RC depinde de num#rul n al por!ilor cu colector n gol conectate n paralel "i de num#rul N al sarcinilor comandate. Din condi!ia de respectare a nivelelor standard de tensiune pentru fiecare dintre cele dou# nivele logice rezult# dou# valori pentru RC , iar valoarea rezisten!ei se alege n acest interval. pentru % logic:
VOH = VCC ( n I OH + N I IH ) RC VOH min , deci RC max =

VCC VOH min n I OH max + N I IH max


VCC VOL max I OL max N I IL max

pentru 0 logic:

VOL = VCC (I OL N I IL ) RC VOL max , deci RC min =

1.1 Considera!ii teoretice

11
1.1.2 Poarta logic" CMOS

iar caracteristica I (V+ ) = f (Vin ) este caracteristica de curent (n figura %.%0, I (V+ ) este notat cu I (VDD ) ; valoarea negativ# a curentului indic# faptul c# acesta este absorbit de la surs#). Sunt puse n eviden!# 5 regiuni pe parcursul varia!iei tensiunii de intrare n domeniul 0.. V+ : - n regiunea I, pentru Vin VTN , unde VTN este tensiunea prag pentru tranzistorul T% (nMOS), T% blocat "i T2 este n conduc!ie liniar#, iar Vout = V+ . Consumul de curent de la sursa de alimentare este practic nul, unul dintre tranzistoare fiind blocat; - n regiunea II, definit# pentru intervalul VTN < Vin Vout VTP , T% este saturat "i T2 r#mne n conduc!ie liniar#. VTP este tensiunea prag pentru tranzistorul T2 (pMOS) "i are o valoare negativ#; - n regiunea III, definit# pentru intervalul Vout VTP < Vin Vout + VTN , ambele tranzistoare sunt saturate, iar consumul de curent de la surs# este maxim. Regiunea IV ofer# o comportare identic# cu regiunea II, dar de data aceasta st#rile tranzistoarelor sunt inversate, adic# T% este n conduc!ie liniar#, iar T2 este n satura!ie, iar n regiunea V, tranzistorul T% r#mne n conduc!ie liniar#, iar T2 intr# n blocare.
V+= %5V

Configura!ia logic# fundamental# la circuitele CMOS (Complementary-symmetry MOS) este cea de inversor, configura!ie prezentat# n figura %.%0. Dac# la intrare se aplic# nivelul logic % (tensiunea V+), tranzistorul T% intr# n conduc!ie "i tranzistorul T2 se blocheaz#, iar la ie"ire nivelul logic este 0 (o tensiune practic nul#). La aplicarea unei tensiuni nule pe intrare se blocheaz# T% "i intr# n conduc!ie T2, ie"irea fiind n acest caz la nivelul logic % (tensiunea de alimentare V+). Caracteristica Vout = f (Vin ) se nume"te caracteristica de transfer de tensiune a por!ii,

Vin

T2 Vout T%

Fig. %.%0 Structura de inversor CMOS #i caracteristicile de transfer

12

1 FAMILII LOGICE

Datorit# faptului c# cele dou# tranzistoare din structur# au caracteristici aproape identice, pragul de basculare a st#rii logice este situat la jum#tatea excursiei semnalului logic de intrare "i la jum#tatea tensiunii de alimentare, frontul cresc#tor al semnalului de ie"ire este aproximativ egal cu cel descresc#tor, iar consumul static de curent este practic nul (familie logic# ideal#). Configura!ia unei por!i logice n tehnologie CMOS este direct legat# de func!ia logic# cerut#. Structura din figura %.%% este o poart# $I-NU cu 2 intr#ri, dar ie"irea din nodul 4 este trecut# prin alte dou# structuri inversoare ca cele din figura %.%0 pentru a ob!ine o caracteristic# ct mai apropiat# de una ideal# "i pentru a asigura simetria ie"irii fa!# de V+ "i fa!# de mas#. Ie"irea din nodul 7 al structurii este ie"irea por!ii logice, ie"ire care este disponibil# la unul dintre pinii circuitului integrat. Simul#rile s-au f#cut pentru o tensiune de alimentare de +%5V, dar, la circuitele CMOS din seria 4000, de care ne ocup#m la laborator, tensiunile de alimentare pot fi alese ntre +3V (tensiune impus# de existen!a obligatorie a zonelor I "i V din figura %.%0, "tiind c# VTN VTP %,5V ) "i +%8V, sau chiar +20V, n func!ie de structura circuitului respectiv.

Nivelele logice de ie"ire "i intrare garantate prin standard sunt: - V IL , nivelul de tensiune necesar pentru a avea 0 logic la intrare: VIL VIL max = 30% V+ - VIH , nivelul de tensiune necesar pentru a avea % logic la intrare: V IH V IH min = 70% V + - VOL , nivelul de tensiune de la ie"ire n starea 0 logic: VOL VOL max = 0,05 V - VOH , nivelul de tensiune de la ie"ire n starea % logic: VOH VOH min = V+ 0,05 V

V +

2 5

3 0

Fig. %.%% Structura por!ii "I-NU cu 2 intr%ri #i caracteristici de transfer

1.1 Considera!ii teoretice

13

Imunitatea la zgomot se define"te ca fiind tensiunea maxim# de zgomot prezent# la intrare, care nu comut# parazit poarta. Se observ# c# marginile de zgomot garantate sunt de 30% din valoarea tensiunii de alimentare, dar practic ele pot atinge 45% din valoarea tensiunii de alimentare ([Ardelean, %986]). Impedan!a de intrare de curent continuu este de circa %0%2 , deoarece intrarea inversorului este complet izolat# de substrat prin dielectricul capacitorului poart#-substrat, care are o grosime de circa %000 . Orice surs# de tensiuni electrostatice poate astfel genera o tensiune mare pe poart#, care s# produc# distrugerea ireversibil# a stratului izolator, prin str#pungere. Aceast# impedan!# mare este atenuat# n mare m#sur# de dispozitivele amplasate pentru protec!ia intr#rii (vezi figura %.%2) "i de elementele parazite proprii circuitului integrat "i montajului n care acesta se g#se"te. Cu toate acestea, valoarea impedan!ei de intrare dep#"e"te %0 M, fapt ce influen!eaz# favorabil posibilitatea comand#rii n curent continuu a unui num#r mare de intr#ri CMOS. Aici, practic nu sunt limite teoretice ale "fan-out"-ului, el fiind limitat de fapt numai de sarcina capacitiv# de circa 5pF pentru fiecare intrare CMOS. De remarcat un parametru de catalog care surprinde la prima vedere, deoarece curentul de intrare la un circuit CMOS este considerat de obicei nul:
I I DC input current = %0 mA

Este vorba de curentul maxim ce poate trece prin diodele din re!eaua de protec!ie, n orice sens, deoarece aceste diode se pot deschide fie n conduc!ie direct#, fie n conduc!ie invers#, prin efect Zener. Avem de-a face "i aici cu o valoare maxim# absolut#, ca "i tensiunea de alimentare de +%8V! Dep#"irea acestor valori are ca efect distrugerea cu mare probabilitate a structurii! Comportamentul ie"irii este preponderent rezistiv, un tranzistor MOS avnd o rezisten!# dren#-surs# mai mic# de %K n conduc!ie "i mai mare de %0M n blocare. Acest lucru determin# o sensibilitate crescut# la sarcini capacitive de ie"ire, sarcini ce influen!eaz# viteza de comutare "i puterea consumat# de circuit. Pe de alt# parte, limitarea curentului de satura!ie la tranzistoarele MOS asigur# protec!ia ie"irilor la scurtcircuite accidentale la mas# sau la V+ , cu condi!ia ca valoarea tensiunii de alimentare, durata scurtcircuitului "i num#rul de ie"iri aflate n scurtcircuit s# nu provoace distrugerea circuitului integrat prin ambalare termic#.
V+ D% Vin R T% D% D% Vout D2 D2 D2

T2

Fig. %.%2 Circuitul de protec!ie a intr%rii la seria CMOS 4000

14
1.1.3 Zgomote #i reflexii

1 FAMILII LOGICE

Zgomotele sunt semnale perturbatoare, nedorite, care pot afecta func!ionarea structurilor numerice. La aplicarea unui algoritm de sintez# a unei structuri numerice proiectantul folose"te modele teoretice n care ecua!iile boolene exprim# perfect func!iile dorite. La implementarea acestor ecua!ii cu circuite integrate reale se constat# c# por!ile logice au anumite limit#ri, iar firele de conexiune pot distorsiona forma semnalului transmis. Ne putem a"tepta n anumite condi!ii la o func!ionare incorect# a structurilor numerice, iar dac# aceasta este aleatoare, evenimentul este cu att mai grav. Structurile numerice implementate n tehnologia CMOS - 4000 se apropie de modelul ideal. Fiind circuite lente, ele sunt n mic# m#sur# afectate de zgomote "i reflexii. Familiile logice rapide pot produce ns# mari nepl#ceri, chiar "i n cazul unor conexiuni relativ scurte (de ordinul centimetrilor).
Zgomotul generat de reflexii pe liniile de transmisiune

Reflexiile se produc la capetele firelor sau traseelor de circuit imprimat n cazul neadapt#rii dintre impedan!a de ie"ire "i impedan!a liniei. Unui semnal care parcurge linia de transmisiune aceasta i se nf#!i"eaz# ca o impedan!# constant# numit# impedan!# caracteristic#. Dac# se neglijeaz# valorile rezisten!elor distribuite "i se noteaz# cu L inductan!a liniei pe unitatea de lungime "i cu C capacitatea ei pe unitatea de lungime, atunci impedan!a caracteristic# a liniei este ([Nicula, %994]):

Z0 =

L C

iar viteza de propagare a semnalului pe linia de transmisiune este:

v=

% LC

Consider#m acum circuitul din figura %.%3, care genereaz# la momentul de timp t = 0 o tranzi!ie de la 0 la V d , tranzi!ie care se propag# pe linie pn# la destina!ia cu impedan!a terminal# Z t . Vd , unde I d este curentul care circul# pe linie La propagarea pe linie Z 0 = Id datorit# tensiunii Vd . Tensiunea "i curentul parcurg linia ca o func!ie treapt#, a"a cum se vede n figura %.%3. Cnd tranzi!ia atinge destina!ia, aceasta se prezint# ca o impedan!# Z t . Dac# Z t = Z 0 atunci legea lui Ohm este n continuare satisf#cut# "i nu apar reflexii. Dac# ns# Z t Z 0 , tensiunea "i curentul trebuie s# se modifice pentru a asigura verificarea legii lui Ohm "i la bornele rezisten!ei terminale. Schimbarea are ca efect apari!ia unui semnal tranzitoriu numit reflexie care va str#bate linia n sens invers, de la destina!ie la surs#. Dac# Z t > Z 0 acest semnal se va aduna la cel original, iar dac# Z t < Z 0 se va sc#dea din acesta.

1.1 Considera!ii teoretice

15

Zs Vs sursa v Circuitul Vd Semnalul nainte de atingerea receptorului Vd Semnalul dup# reflexie (cazul Z t > Z 0) Vd Semnalul dup# reflexie (cazul Z t < Z 0) Vt distan!a Vt distan!a
distan!a

Z0

Zt destina!ia

Fig. %.%3 Reflexiile pe liniile de transmisiune Dac# folosim indicii d pentru semnalele directe, i pentru cele inverse "i t pentru cele tranzitorii, atunci putem scrie legile lui Kirchoff considernd rezisten!a terminal# ca un sistem nchis: I t = I d + I i "i Vt = Vd + Vi Conform legii lui Ohm: Z t =
Vt pe sarcin#, It Z0 = Vd V nainte de sarcin#, "i Z 0 = i Id Ii

dup# sarcin#. Prin rezolvarea sistemului format din ecua!iile de mai sus se deduce valoarea saltului de tensiune n func!ie de impedan!a caracteristic# "i cea de termina!ie:

Vi = Vd
Raportul K =

Zt Z0 Zt + Z0

Zt Z0 se nume"te coeficientul de reflexie a tensiunii "i m#soar# Zt + Z0 raportul dintre tensiunea undei reflectate "i tensiunea undei directe. Unda se va propaga n continuare de la sarcin# spre surs#, n sens invers. Cnd unda reflectat# atinge sursa se poate produce o nou# reflexie dac# Z 0 este diferit# de Z S . Reflexiile vor continua ntre surs# "i destina!ie ns# amplitudinea lor este atenuat# datorit# pierderilor prin rezisten!ele ohmice ale liniei, care au fost neglijate pn# acum. Efectul reflexiilor se materializeaz# prin apari!ia unor oscila!ii care nso!esc tranzi!iile ntre cele dou# nivele logice. Aceste oscila!ii pot fi cauza func!ion#rii necorespunz#toare a unui sistem numeric. Exist# o metod# grafic# care permite analiza reflexiilor pe linii, cunoscut# ca metoda diagramelor lui Bergeron. Ea folose"te caracteristicile de intrare "i ie"ire ale
.

16
A B

1 FAMILII LOGICE

Z 0 = %00
Fig. %.%4 Interconexiunea dintre 2 por!i TTL standard por!ilor studiate "i presupune cunoscut# impedan!a caracteristic# a liniei. Vom exemplifica metoda pentru dou# por!i TTL standard conectate printr-o linie cu impedan!a caracteristic# de %00 (pentru circuite imprimate Z 0 are valori cuprinse ntre 80 "i 200). Figura %.%5 prezint# caracteristicile de intrare "i cele de ie"ire pentru cele 2 st#ri logice ale unui circuit tipic din seria TTL standard. Prima diagram# este utilizat# pentru evaluarea tranzi!iei logice din 0 n %. Dreapta de pant# Z 0 ce reprezint# linia de transmisie va intersecta caracteristica de ie"ire n starea logic# %, punct care va determina la momentul de timp t 0 tensiunea de ie"ire a por!ii emi!#toare, tensiune de circa %,75 V. Din acest moment panta liniei de transmisie devine Z 0 "i de aceast# dat# va intersecta caracteristica de intrare. Pentru evaluarea tranzi!iei logice din % n 0 se folose"te a doua diagram#. Dreapta de pant# Z 0 va intersecta caracteristica de ie"ire n starea logic# 0 la circa 0,25V. Din acest punct, dreapta cu panta modificat# intersecteaz# caracteristica de intrare la circa -%,5V, valoarea tensiunii n punctul B, "i a"a mai departe pn# la amortizarea reflexiilor. Formele de und# rezultate n urma tranzi!iilor sunt reprezentate n figura %.%6, iar figura %.%7 arat# cteva forme de und# vizualizate pe osciloscop pentru por!ile TTL standard. S observ# c# poarta de ie"ire comut# normal, n ciuda reflexiilor existente pe linia de intrare, dar aceste reflexii pun n pericol func!ionarea corect# a circuitului. La ora actual#, pachetele CAD care permit analiza prin simulare a sistemelor numerice, cum ar fi, de exemplu, Protel 99 SE, permit "i simularea reflexiilor care apar pe linii.

Fig. %.%5 Diagramele Bergeron pentru cele dou% tranzi!ii posibile

1.1 Considera!ii teoretice


A
4 3 2 % 0

17
A
4 3 2 %

[V]

[V]

B [V]
4 3 2 % 0

B [V]
4 3 2 %

2 tranzi!ia din 0 n %

2 tranzi!ia din % n 0

Fig. %.%6 Formele de und% teoretice n punctele A #i B pentru cele 2 tranzi!ii

Fig. %.%7 Forme de und% reale vizualizate pe osciloscop Pentru reducerea efectului reflexiilor se recomand# utilizarea unor conexiuni ct mai scurte (reflexiile se produc pe durata frontului, iar palierele "i p#streaz# valorile logice), adaptarea liniei lungi pe rezisten!a caracteristic# prin plasarea unui divizor rezistiv n punctul B, sau prin folosirea unor por!i cu histerezis pentru m#rirea marginii de zgomot n curent continuu. Valorile rezisten!elor de adaptare ar putea fi cu pn# la un ordin de m#rime mai mari, sau, una dintre ele, ar putea lipsi complet. Se mai poate m#ri "i impedan!a de ie"ire a por!ii, prin amplasarea unei rezisten!e de zeci de ohmi ntre punctele A "i B ([Nicula, %994]).
+5V %50
A B

Z 0 = %00 470

Fig. %.%8 Adaptarea liniei pe impedan!a caracteristic% #i formele de und% reale

18

1 FAMILII LOGICE

Zgomotul generat de diafonia dintre liniile de transmisiune

Datorit# apropierii dintre dou# linii din circuit, semnalul existent pe una din ele poate influen!a nedorit semnalul de pe cealalt# linie. Acest cuplaj se face prin intermediul unor capacit#!i "i inductan!e mutuale. Dac# not#m cu Z M impedan!a mutual# dintre dou# linii "i pe una din ele avem o tranzi!ie de tensiune VOUT , atunci n cealalt# apare o tranzi!ie de tensiune:

V IN =

Z0 V = Z 0 + Z M OUT

% V Z M OUT %+ Z0

Pentru mic"orarea efectelor diafoniei trebuie m#rit# impedan!a mutual# Z M "i mic"orat# impedan!a caracteristic# Z 0 . Prima condi!ie se realizeaz# prin folosirea unor medii izolatoare ct mai bune "i evitarea men!inerii n paralel a unor trasee apropiate pe lungime mare. A doua condi!ie presupune al#turarea unor trasee de mas# (plan de mas#, fire de mas# ntre fire de semnale utile etc.).
Zgomotul generat de injec!ia de curent

Acest tip de zgomot se manifest# la por!ile cu mai multe intr#ri. Varia!ia curentului printr-un emitor al tranzistorului multiemitor de intrare ntr-o poart# TTL poate fi zgomot pentru celelalte intr#ri. Se produce de fapt un salt de curent, care produce un salt de tensiune pe intr#rile conectate la impedan!a caracteristic#. Dac# intrarea A a por!ii $I-NU din figura %.% este conectat# la mas# printr-o linie cu impedan!a caracteristic# de 200, iar intrarea B comut# din 0 n % logic, atunci n A apare un salt de curent de la 0,8mA la %,6mA, care va genera la intrarea A un salt de tensiune de 0,%6V. Acest zgomot este cu att mai mic cu ct curen!ii de intrare sunt mai mici "i amplitudinea lui este prea mic# pentru a produce modificarea parazit# a nivelului logic la intrare. El ar putea ns# interveni mpreun# cu alte zgomote ntr-o conjunctur# nefavorabil# care s# perturbe func!ionarea corect# a circuitului ([Nicula, %994]). Reducerea efectelor acestui zgomot se face prin folosirea unei leg#turi scurte, cu impedan!# caracteristic# mic# "i prin evitarea folosirii por!ilor cu mai multe intr#ri pe anumite linii de sistem.
Zgomotul generat de varia!ia curentului de alimentare

Sursa acestui zgomot o constituie inegalitatea dintre curen!ii absorbi!i de circuit n cele dou# st#ri logice 0 "i %. La comutarea rapid# a por!ilor din circuit apare o varia!ie a tensiunii de alimentare a circuitelor integrate, datorit# inductan!ei parazite a liniei de alimentare. Pe de alt# parte, la comutare apar pulsuri tranzitorii de curent datorit# capacit#!ilor parazite de la ie"irile por!ilor din circuit. Metodele de reducere a zgomotului constau n reducerea inductan!ei liniei de alimentare prin utilizarea unor plane de alimentare (trasee ct mai groase) "i n plasarea condensatoarelor ceramice de decuplare care filtreaz# pulsa!iile tranzitorii de nalt# frecven!# ce nu pot fi eliminate de condensatoarele electrolitice.

1.2 Demonstra!ii practice

19

Zgomotul generat de traseele de mas" Cauzele acestui zgomot sunt discontinuit!"ile de impedan"! a traseelor de mas! #i nchiderea curen"ilor spre mas! pe trasee incorecte. Aceste fluxuri de curent determin! c!deri de tensiune parazite care se suprapun peste semnalul util. Reducerea acestui zgomot se face printr-o maxim! separare a traseelor de alimentare pentru fiecare circuit de pe plac! #i existen"a unui plan de mas!. Zgomotul generat de interferen!e electromagnetice Sursele acestui zgomot pot fi: re"eaua de alimentare cu tensiune alternativ!, motoare, relee, ntrerup!toare sau alte dispozitive generatoare de cmp electromagnetic. Reducerea zgomotului se face prin ecranare sau filtre de re"ea.

1.2 Demonstra!ii practice


Se alimenteaz! panoul logic cu o tensiune de 5V de la o surs! de tensiune reglabil!. ATEN#IE LA RESPECTAREA POLARIT$#II %I LA VALOAREA INI#IAL$ A TENSIUNII! Datorit! diodei de protec"ie la alimentare invers!, se m!soar! cu un voltmetru tensiunea ntre pinii de alimentare indica"i de catalog (la circuitele de pe panou, ntre pinii $4 #i 7, a#a cum se arat! n figura $.$9). Se porne#te de la 0V #i se m!re#te tensiunea de la surs!, pn! ce valoarea m!surat! ajunge la +5V. Aceast! tensiune este tensiunea nominal" de alimentare pentru circuitele TTL. Valoarea limit" absolut" de catalog este de +7V la circuitele TTL #i de +$8V la circuitele CMOS seria 4000. Dep!#irea valorii limit! absolute va distruge cu o mare probabilitate circuitul integrat! Circuitele CMOS din seria 4000 nu au o tensiune nominal! precizat!. Tensiunea de alimentare trebuie s! fie sub valoarea limit! absolut! de circa +$8V #i mai mare de circa +3V, pentru a asigura o comutare stabil!. Tensiunile de alimentare folosite n lucrare pentru aceste circuite sunt de +5V, +$0V #i + $5V. Observa"iile de mai sus sunt valabile pentru toate panourile logice folosite #i n alte capitole, a#a c! nu vom mai reveni cu aceste indica"ii. Dac! un panou logic are cordon de alimentare la re"ea, atunci exist! o surs! de alimentare cu tensiune continu! ncorporat!, iar panoul NU MAI TREBUIE ALIMENTAT la o surs! de tensiune de laborator!
+ _

$4

$3

$2

$$

$0

+ V 5 V cc _
$ 2 3 4 5 6 7

Fig. $.$9 Stabilirea tensiunii corecte de alimentare a panoului logic

20

1 FAMILII LOGICE

1.2.1 Se realizeaz! montajul din figura $.20. La intrarea por"ii %I-NU, n tehnologie TTL standard (circuitul integrat CDB400, echivalent cu SN7400), cu intr!rile conectate mpreun!, se aplic! o tensiune continu!, variabil! ntre 0 #i 5V, iar valorile m!surate ale tensiunii de ie#ire se trec ntr-un tabel. Se reprezint! punct cu punct caracteristica static! de transfer Vout = f Vin . S! se compare cu caracteristica de transfer din figura $.2, ob"inut! prin simulare analogic! PSPICE. Se repet! m!sur!torile pentru o poart! %I-NU cu 2 intr!ri realizat! n tehnologie CMOS 4000 (circuitul integrat MMC40$$, echivalent cu CD40$$), avnd grij! ca tensiunea de intrare s! nu dep!#easc! tensiunea de alimentare. Se folosesc urm!toarele tensiuni de alimentare: VCC = +5V , VCC = +$0V #i VCC = +$5V . Se m!soar! nivelele logice #i se compar! cu valorile garantate prin standard. Caracteristica de transfer pentru VCC = +$5V se compar! cu caracteristica de transfer din figura $.$$, ob"inut! prin simulare analogic! PSPICE. Sarcina por"ii este considerat! rezisten"a de intrare a voltmetrului folosit pentru m!surare.
Vcc = +5V sarcin! + V Vout _

( )

+ Vin = 0..5V _

Fig. $.20 Montajul pentru trasarea punct cu punct a caracteristicii de transfer

1.2.2 Se realizeaz! montajul din figura $.2$ pentru poarta TTL standard. La intrarea por"ii %I-NU cu intr!rile conectate mpreun! se aplic! un semnal sinusoidal cu amplitudinea de circa 4V #i frecven"a de circa $00Hz. Se scoate baza de timp a osciloscopului #i pe ecranul tubului catodic apare caracteristica de transfer. M!sura"i nivelele logice de ie#ire #i intrare garantate prin standard. Modifica"i sarcina por"ii prin ad!ugarea circuitului care simuleaz! $0 intr!ri TTL standard (vezi figura $.24) #i reface"i m!sur!torile. Comenta"i modificarea caracteristicii cu frecven"a semnalului de intrare #i explica"i ce se ntmpl! dac! una dintre intr!rile por"ii este l!sat! n aer. Se repet! montajul pentru poarta CMOS 4000. Analiza"i modificarea caracteristicii cu modificarea tensiunii de alimentare #i stabili"i tensiunea minim! de alimentare. Scurtcircuita"i pe rnd ie#irea por"ii la mas! #i apoi la VCC #i observa"i ce se ntmpl!.
generator
R int

Vcc = +5V sarcin! Vout Y X

Vin

Fig. $.2$ Montajul pentru vizualizarea caracteristicii de transfer

1.2 Demonstra!ii practice

21

1.2.3 Se m!soar! n cazurile cele mai defavorabile curen"ii de intrare pentru cele dou! nivele logice la poarta TTL standard, folosind montajele din figura $.22. Testarea n cazul cel mai defavorabil este realizat! pentru toate circuitele, pentru a garanta func"ionarea n toate condi"iile posibile. VCC are valoarea maxim! admis! (+5,25V la seria 74SN) pentru a maximiza curentul I IL . Cu excep"ia intr!rii supuse test!rii, celelalte intr!ri nefolosite sunt conectate la $ logic pentru a maximiza orice contribu"ie a acestor intr!ri asupra curentului de intrare I IL . Acest $ logic este de 4,5V, valoare n general superioar! lui VOH . Compara"i rezultatele ob"inute prin m!surare cu cele din figura $.4, ob"inute prin simulare PSPICE. Valorile ob"inute trebuie s! fie n concordan"! cu datele de catalog:

I IL I ILMAX = $,6mA
DAC$ AMPERMETRUL ESTE ANALOGIC POLARITATE %I LA DOMENIUL DE M$SUR$ !

I IH I IHMAX = 40A
(TIP MAVO-35), ATEN#IE LA

Vcc = +5,25V VIL = 0,4V _ mA + +4,5V I IL

I IH _ VIH= 2,4V + mA

Vcc = +5,25V

Fig. $.22 Montajele pentru m!surarea curentului de intrare la poarta TTL

1.2.4 Folosind montajul din figura $.23 se traseaz! caracteristicile de ie#ire ale por"ii TTL standard. Dac! ampermetrul este analogic (tip MAVO-35), aten"ie la polaritate #i la domeniul de m!sur!! Compara"i rezultatele cu cele din figurile $.5 #i $.6, ob"inute prin simulare analogic! PSPICE.

Vcc = +5V I out _ mA +

(-) + (+) V V out _

5K

$00

Fig. $.23 Montajul pentru trasarea caracteristicilor de ie"ire la poarta TTL

1.2.5 Se m!soar! timpii de propagare prin poarta TTL cu ajutorul montajului din figura $.24. Generatorul furnizeaz! la intrare impulsuri TTL cu frecven"a de c"iva MHz. Circuitul de ie#ire ( C L = $5 pF ) simuleaz! nc!rcarea por"ii cu o sarcin! echivalent! cu $0 intr!ri TTL standard. Se m!soar! timpii de propagare #i pentru C L = 220 pF #i se compar! rezultatele. Dac! performan"ele osciloscopului nu sunt satisf!c!toare pentru efectuarea m!sur!torii, se poate ncerca nserierea mai multor por"i identice #i medierea rezultatelor astfel ob"inute. Se repet! m!sur!toarea pentru poarta CMOS, folosind la intrare impulsuri de amplitudine 5V. Sarcina por"ii este dat! acum numai de condensatorul C L , iar intr!rile sunt
.

22
in
50% 50%

1 FAMILII LOGICE
generator TTL R int

Vcc = +5V
+2,4V in out 400

t pHL t pLH
50% 50%

CL

out

Fig. $.24 Definirea timpilor de propagare "i montajul pentru m!surarea lor la poarta TTL conectate mpreun!. Pe un osciloscop cu 2 canale se vizualizeaz! att semnalul de intrare ct #i semnalul de la ie#irea por"ii logice. Prin suprapunerea celor dou! semnale se m!soar! cei doi timpi de propagare t PHL #i t PLH . Se verific! egalitatea aproximativ! a celor doi timpi de propagare la poarta CMOS. Studia"i varia"ia timpilor de propagare cu modificarea tensiunii de alimentare #i cu modificarea sarcinii de la ie#irea por"ii CMOS #i compara"i valorile m!surate cu datele de catalog. V
.

1.2.6 Se realizeaz! montajul din figura $.25, folosind al doilea circuit integrat de pe panoul logic TTL. Se calculeaz! limitele de varia"ie admise pentru valoarea rezisten"ei de colector #i se verific! dac! rezisten"a de pe panou se ncadreaz! ntre aceste limite. Se verific! conexiunea "%I cablat" folosind tabelul de adev!r al func"iei binare Y, precum #i excursia tensiunii la ie#ire.

Vcc = +5V RC A B C
Fig. $.25 Montajul pentru verificarea conexiunii "#I cablat"
V

Y = A B C

. .

1.2.7 Se realizeaz! montajul din figura $.26. Se vizualizeaz! formele de und! la ie#irea por"ii CMOS (tensiunea de ie#ire) #i pe rezisten"a nseriat! n circuitul de alimentare (curentul consumat de circuitul integrat). Intr!rile celorlalte por"i logice din circuitul integrat se conecteaz! la nivele logice stabile, 0 sau $. Astfel consumul de curent al circuitului integrat este dat n exclusivitate de poarta care comut!. Comenta"i imaginea de pe ecranul tubului catodic. Ce se ntmpl! dac! se m!re#te tensiunea de alimentare? Dar dac! se m!re#te frecven"a impulsurilor aplicate la intrare? Acest comportament se ntlne#te la orice structur! CMOS, nu neap!rat numai la seria 4000. %i procesoarele Pentium au un comportament similar. Acest consum de curent pe poart! la comutare, determin! o cre#tere accentuat! a disipa"iei termice odat! cu cre#terea frecven"elor de lucru. Care este solu"ia adoptat! n ultimul timp pentru rezolvarea acestei probleme? (vezi problema $.3.5)

1.2 Demonstra!ii practice


generator impulsuri R int

23
VDD = +5V
sarcin!

Vin

Y$
R

Y2

Fig. $.26 Montaj pentru estimarea consumului circuitului integrat care con$ine poarta CMOS din seria 4000 V 1.2.8 Se realizeaz! circuitul din figura $.$4 folosind dou! por"i TTL standard #i un cablu de conexiune lung (de circa 2 m). Se introduce pe intrarea primei por"i un semnal TTL cu o frecven"! de circa 5 MHz. Se vizualizeaz! semnalele n punctele A #i B cnd conductorul AB este scurt #i atunci cnd are o lungime de circa $m. Desena"i semnalele vizualizate #i explica"i forma lor. M!sura"i ntrzierea semnalului pe linia lung! AB. V
.

1.2.9 Se dubleaz! circuitul din figura $.$4 #i cele dou! linii lungi se apropie pe o lungime ct mai mare una de alta. Se aplic! un semnal TTL pe intrarea unui circuit #i se vizualizeaz! pe linia celuilalt circuit semnalul indus datorit! diafoniei. V
.

1.2.10 Se realizeaz! montajul din figura $.27 pentru vizualizarea zgomotului datorat injec"iei de curent. Se aplic! semnal TTL pe linia A, iar linia B se conecteaz! la mas! prin intermediul unui conductor lung. Urm!ri"i apari"ia pulsurilor de tensiune n punctul B sincron cu semnalul din punctul A #i m!sura"i durata #i amplitudinea lor.

A B

Fig. $.27 Circuit pentru eviden$ierea zgomotului datorat injec$iei de curent la TTL V 1.2.11 Se conecteaz! toate por"ile circuitului integrat TTL la sursa de semnal TTL, pentru o comutare sincron! a lor. Se conecteaz! n serie cu sursa de alimentare un fir cu inductan"! mare (se bobineaz! ni#te spire pe un tor de ferit!). Linia de alimentare poate fi astfel asimilat! unei linii lungi de transport al tensiunii. Se vizualizeaz! varia"ia tensiunii de alimentare pe pinul Vcc al circuitului integrat. M!sura"i durata #i amplitudinea varia"iilor #i desena"i formele de und!. Repeta"i m!sur!torile dup! cuplarea unui condensator de decuplare ntre Vcc #i GND. V
.

1.2.12 S! se imagineze #i s! se experimenteze un montaj pentru vizualizarea zgomotelor datorate formei traseelor de mas!.
.

1.3 Probleme rezolvate


Rmin L =

25

VCC VOLMAX 5V 0,4V = = #,437 K I OLMAX 8 I ILMAX #6mA 8 #,6mA Se alege pentru rezisten"a R o valoare standardizat! cuprins! n intervalul [#,437K ..3,846K]. Nu am luat aici n considerare varia"iile admisibile ale tensiunii de alimentare. In aceast! situa"ie, ar trebui s! lu!m n calcul valoarea care minimizeaz! R MAXH , adic! VCC min , respectiv valoarea care maximizeaz! Rmin L , adic! VCCMAX .

c) M L = VOLMAX VILMAX = 0,4V 0,8V = 0,4V


.

1.3.3 Se nlocuiesc cele 8 inversoare ale circuitului din figura #.29 cu un num!r necunoscut N de por"i %I-NU cu cte 2 intr!ri conectate mpreun!, n tehnologie TTL standard. S! se calculeze N, dac! se $tie c! R = #K $i marginea de zgomot n # logic trebuie s! fie mai mare de #V.
Rezolvare: R (2 I OHMAX + 2 N H I IHMAX ) VCC VIH min M H , adic! VCC V IH min M H 2 R I OHMAX 5V 2V #V 2 #K 0,#mA NH = = 22,5 2 R I IHMAX 2 #K 0,04mA Curentul de intrare n poart! pentru starea logic! # este suma curen"ilor de pe fiecare intrare. Dac! variaz! $i VCC , atunci se ia n calcul VCC min . - pentru starea logic! 0: - pentru starea logic! #:

R ( I OLMAX N L I ILMAX ) VCC VOLMAX VCC + VOLMAX + R I OLMAX 5V + 0,4V + #K #6mA NL = = 7,#2 R I ILMAX #K #,6mA Curentul de intrare n poart! pentru starea logic! 0 este acela$i, indiferent de num!rul de intr!ri ale por"ii. Dac! variaz! $i VCC , atunci se ia n calcul VCCMAX . Deci r!spunsul este N = 7.
.

1.3.4 Care este marginea de zgomot asigurat! de conexiunea din figur!? Por"ile sunt TTL standard, dar poarta comandat! este un inversor cu histerezis.
V out VOHmin

Fig. #.30

Circuitul $i caracteristica de transfer a inversorului cu histerezis


VOLmax V TV T+ V in

Rezolvare: Inversorul cu histerezis are pragul VT cuprins ntre 0,6V $i #,#V, iar pragul VT + este cuprins ntre #,5V $i 2V, conform datelor de catalog. - pentru starea logic! #: M H V H min VT max = 2,4V #,#V = #,3V , - pentru starea logic! 0: M L VT + min VOL max = #,5V 0,4V = #,#V . Marginile de zgomot la o conexiune ntre dou! por"i TTL standard sunt de numai 0,4V!
.

26

1 FAMILII LOGICE

1.3.5 Se consider! inversorul CMOS din figura #.#0 alimentat la tensiunea V+ = +5V . Tranzistorul T# suport! un curent de dren! I D# = #mA , iar T2 un curent I D 2 = #,5mA . Tensiunea de prag a circuitului este VT = 2,5V , iar capacitatea de ie$ire este Cout = 20 pF . a) S! se calculeze timpii de propagare pentru ambele tranzi"ii $tiind c! sarcina inversorului este format! din #0 intr!ri CMOS, fiecare de 5 pF, iar capacitatea traseelor exterioare circuitului integrat este de 30 pF. b) Calcula"i consumul de putere dinamic $i static $i ar!ta"i care sunt modalit!"ile de reducere a consumului de putere din surs!, $tiind c! frecven"a de comuta"ie a por"ii este de #MHz, iar fronturile semnalului de ie$ire sunt egale cu #00ns.
Rezolvare: a) Capacitatea total! de sarcin! este: C = Cout + N Cin + Ctrasee = 20 pF + #0 5 pF + 30 pF = #00 pF Pentru tranzi"ia ie$irii LOW-HIGH se deschide T2 $i se blocheaz! T#, iar timpul de propagare este: C VT #00 pF 2,5V t PLH = = = #67ns #.5mA I D2 Pentru tranzi"ia ie$irii HIGH-LOW se deschide T# $i se blocheaz! T2, iar timpul de propagare este: C (V+ VT ) #00 pF (5V 2,5V ) t PHL = = = 250ns #mA I D# b) Puterea disipat! n regim dinamic este puterea necesar! pentru nc!rcarea $i desc!rcarea periodic! a capacit!"ii de sarcin! de la ie$ire:
Pd = V+
V+ 0V IM 0A tr T tf

C V+ = C V+2 f = #00 pF 52 V 2 #MHz = 2,5mW T

Fig. #.3# Aproximarea formelor de und" la comutare Puterea disipat! n regim static este puterea disipat! n timpul comut!rii. Figura #.3# indic! o reprezentare simplificat! a tensiunii de ie$ire $i a curentului consumat pe durata unei perioade.
T

u( t ) i ( t ) dt T

Ps =

V+ I M t r + t f 5V 0,5mA #00ns + #00ns = #25W 4 T 4 #000ns

Valoarea exact! a lui I M este mai greu de apreciat. Avnd ns! n vedere datele problemei, valoarea de 0,5mA este pe deplin acoperitoare.

1.3 Probleme rezolvate

27

Ambele componente ale puterii disipate se reduc odat! cu mic$orarea tensiunii de alimentare $i a frecven"ei de comuta"ie. Capacitatea de sarcin! contribuie $i ea la expresia puterii n regim dinamic.
.

1.3.6 Dac! pe o intrare CMOS apar tensiuni mai mari dect V + (notat de obicei cu V DD ) sau mai mici dect poten"ialul masei (notat de obicei cu VSS ) exist! pericolul distrugerii diodelor din circuitul de protec"ie al intr!rii prin dep!$irea valorii maxime admise a curentului prin diode. S! se realizeze un circuit extern de protec"ie $i s! se dimensioneze elementele de circuit.
Rezolvare: Se introduce o rezisten"! serie Rext la intrare care limiteaz! curentul la valoarea maxim! I MAX = #0mA . Se stabilesc valorile maxime ale tensiunilor la intrare: + V MAX > VDD $i V MAX < VSS Dimensionarea rezisten"ei se face urm!rind schema de protec"ie a intr!rii din figura #.#2: Rext
+ V MAX VDD V F , I MAX V MAX VF

Rext

I MAX

VF este c!derea de tensiune n conduc"ie direct! pe diode. Se alege pentru Rext o valoare care acoper! ambele inegalit!"i. O intrare CMOS nu se las! niciodat! "n aer". Pentru eliminarea eventualelor sarcini statice induse, se recomand! conectarea unei rezisten"e de circa #00K la mas! sau la V+ , dup! caz.
.

1.3.7 S! se arate cum se poate face cuplajul CMOS - TTL.


Rezolvare: Verific!m pentru nceput dac! o ie$ire CMOS poate comanda o intrare TTL standard, din punctul de vedere al tensiunilor $i al curen"ilor: VOLMAX ( CMOS ) < V ILMAX ( TTL ) , adic! 0,05V < 0,8V

VOH min( CMOS ) > V IH min( TTL ) , adic! 4,95V > 2V


Din punctul de vedere al tensiunilor inegalit!"ile sunt satisf!cute f!r! probleme, iar la curen"i:

I OLMAX ( CMOS ) > I ILMAX ( TTL ) , adic! 2mA > #,6mA I OHMAX ( CMOS ) > I IHMAX ( TTL ) , adic! 2mA > 40A
Rela"ia subliniat! indic! faptul c! o ie$ire CMOS poate comanda o intrare TTL standard, dar nu dou! sau mai multe, deoarece nu ar mai putea asigura curentul de intrare pe 0 logic. Verific!m n continuare dac! o ie$ire TTL poate comanda o intrare CMOS:

VOLMAX ( TTL ) < V ILMAX ( CMOS ) , adic! 0,4V < 30% 5V = #,5V VOH min( TTL ) > V IH min( CMOS ) , adic! 2,4V > 70% 5V = 3,5V I OLMAX ( TTL ) > I ILMAX ( CMOS ) , adic! #6mA > #00nA I OHMAX ( TTL ) > I IHMAX ( CMOS ) , adic! 400A > #00nA
Rela"ia subliniat! nu este respectat!, deci conexiunea direct! TTL-CMOS nu este corect"! Pentru a ridica tensiunea la ie$irea por"ii TTL aflate n # logic se conecteaz! o rezisten"! ntre ie$irea por"ii TTL $i tensiunea de alimentare.

28
Pentru dimensionarea rezisten"ei: Rmin L = VCC VOLMAX ( TTL ) I OLMAX = 5V 0,4V = 0,287 K #6mA

1 FAMILII LOGICE

Se alege o valoare mai mare, dar apropiat! de R min L , pentru c! R MAXH este mai greu de calculat. Dac! consideram $i varia"ia tensiunii de alimentare, foloseam VCCMAX n calculul lui Rmin L , n scopul maximiz!rii lui Rmin L .
.

1.3.8 Datorit! lipsei circuitelor integrate TTL standard care trebuiau s! echipeze un produs de serie, acesta este realizat cu circuite integrate LSTTL. Garanta"i o func"ionare corect! a circuitului? Dar dac! lucrurile ar fi stat exact invers?
Rezolvare: Nu se poate garanta o func"ionare corect! a circuitului pentru c! circuitele LSTTL sunt mai rapide $i deci sunt mai sensibile la zgomotele care se propag! pe traseul de mas!. Este posibil! deci o func"ionare defectuoas! a circuitului. Dac! n loc de LSTTL se monteaz! TTL standard nu mai avem probleme de zgomot, dar probabil c! sistemul nu va func"iona din cauza frecven"ei prea mari, la care circuitele TTL standard nu fac fa"!.
.

1.3.9 Un BUS cu impedan"a caracteristic! Z 0 = 75 este adaptat ca n figura #.32. %tiind c! pe acest BUS pot fi cuplate cel mult #6 intr!ri TTL standard $i c! se impune n # logic o margine de zgomot de cel pu"in 0,6V, s! se calculeze: a) valorile rezisten"elor R# $i R2. b) curentul I OLMAX al circuitului ce comand! BUS-ul.
+V cc R# *
I OH

+V cc
IR #

R# R2

R2

....
N

IR 2

Fig. #.32 Circuitul de adaptare a liniei de magistral"


Rezolvare: a) Din condi"ia de # logic pe linie:

R# R2 = 2 Z 0

VCC = R# I R# + V IH min + M H
2 I R# = I OH + N I IH + 2 I R 2 V IH min + M H I R2 = R2

Necunoscutele sunt I R# , I R 2 , R# $i R2 . Se rezolv! sistemul $i se ob"ine: R# 226 $i R2 446

1.3 Probleme rezolvate

29

F!cnd anumite simplific!ri prin neglijarea lui I IH $i I OH ob"inem rezultate apropiate cu un efort de calcul mult mai mic. b) I OLMAX 2 I R# L + N I ILMAX 2 I R 2 L , indicele L indic! starea logic! 0 n nodul studiat. Rezult! I OLMAX 64,5mA , o valoare prea mare pentru un circuit integrat. Solu"ii ns! exist!: se poate accepta o margine de zgomot mai mic!, de cel pu"in 0,4V, ca la TTL, sau se pot alege circuite de cuplare la BUS care au curen"i de intrare mai mici. %i aici se poate neglija I R 2 L . Marginea de zgomot n 0 logic este de 0,4V $i nu poate fi m!rit! de proiectant. V
.

1.3.10 Un BUS cu impedan"a caracteristic! Z 0 = #50 este adaptat ca n figur!. Pe BUS sunt cupla"i receptori care au caracteristic! de transfer cu histerezis (vezi figura #.33) $i curen"i de intrare neglijabili. %tiind c! circuitul care comand! BUS-ul are I OLMAX = 24mA , VOLMAX = 0,4V $i I OH 0 , se cere: a) s! se dimensioneze rezisten"ele R# $i R2. b) s! se calculeze marginea de zgomot garantat! n ambele st!ri logice.
+V cc R# * Vo VT- = 0,9V VT+ = #,7V Vi VTVT+

....

R2

Fig. #.33 Circuitul de adaptare $i caracteristica de transfer a por!ilor cu histerezis


Rezolvare:

R# R2 = Z 0 . Neglijnd curentul prin R2 n starea 0 logic, ob"inem: VCC VOLMAX 5V 0,4V = 200 . Alegem o valoare standard R# = 220 . Din prima R# 24mA I OLMAX ecua"ie rezult! R2 = 470 . R2 470 VCC = 5V = 3,4V b) - n starea # logic: V H = R# + R2 220 + 470 Receptorii vor comuta cnd Vi scade sub valoarea lui VT = 0,9V , deci:
a)

M H V H VT = 3,4V 0,9V = 2,5V


- n starea 0 logic: V L = VOLMAX = 0,4V . Comutarea se face pentru VT + = #,7V :

M L VT + V L = #,7V 0,4V = #,3V


1.3.11 Explica"i n ce situa"ie un circuit integrat CMOS din seria 4000 poate s! func"ioneze n lipsa tensiunii de alimentare. Care sunt riscurile unei astfel de situa"ii $i ce m!suri de prevenire recomanda"i ?
Rezolvare: De$i este greu de crezut, un circuit integrat CMOS din seria 4000 poate func"iona n lipsa tensiunii de alimentare, cu condi"ia ca cel pu"in una din intr!rile lui s! fie pe # logic. Este clar c! #

30

1 FAMILII LOGICE

logic nseamn! tensiunea de alimentare, dioda respectiv! din re"eaua de protec"ie a intr!rii intr! n conduc"ie, iar pe linia de alimentare din circuit apare o tensiune V+ V F , adic! cu circa 0,6V mai mic! dect tensiunea de alimentare a sistemului. Dac! curentul consumat de partea nealimentat! dep!$e$te ns! valoarea de #0mA $i nu exist! o limitare a acestui curent pe intrarea de # logic (ie$irea unei por"i CMOS poate asigura aceast! limitare), atunci structura este periclitat!. Prevenirea se face numai prin asigurarea unei aliment!ri corecte a circuitelor integrate din sistem.
.

1.3.12 Tensiunea de prag a inversoarelor din figura #.34 este de 2,5V. S! se calculeze tensiunea de basculare a circuitului echivalent trigger Schmitt $i s! se reprezinte tensiunea la ie$ire dac! pe intrare se aplic! semnalul din figur!.
Vin R# 2K R2 #0K Vout Vin +4V 0 t

Fig. #.34 Trigger Schmitt neinversor realizat cu por!i CMOS $i semnalul de intrare
Rezolvare: Comutarea ie$irii din 0 se va face la o valoare a tensiunii de intrare

V# :

VT =

R2 R 2 V# , deci V# = # + # VT = # + 2,5V = 3V R# + R2 R2 #0

Comutarea ie$irii din # se va face la o valoare a tensiunii de intrare

V2 :

VT =

R2 R# V2 + V DD , V DD fiind tensiunea de alimentare de 5V. R# + R 2 R# + R 2

Rezult!: V 2 = # +

R# R 2 2 VT # V DD = # + 2,5V 5V = 2V . R2 R2 #0 #0

Func"ionarea circuitului n condi"iile cerute de problem! este reprezentat! n figura #.35.

Vin
+4V
V# V2

0 Vout
+5V

Fig. #.35 Func!ionarea circuitului n condi!iile cerute de problem"

SISTEME COMBINA!IONALE

Aplica!iile din acest capitol "i propun s# prezinte metodele de analiz# "i sintez# folosite la implementarea func!iilor binare cu por!i logice, dar "i cu unele circuite integrate pe scar# medie (MSI), cum ar fi multiplexoarele "i demultiplexoarele.

2." Considera#ii teoretice


2."." Implementarea cu por#i logice
Structurile numerice combina!ionale sau circuitele logice combina!ionale (CLC) implementeaz# func!ii binare. O func!ie binar# de n variabile binare independente este o aplica!ie

Num#rul maxim de elemente ale mul!imii {0,$} este 2 n , dar nu este absolut necesar ca func!ia s# fie definit# pentru toate aceste combina!ii de variabile. Num#rul maxim de func!ii binare de n variabile este:
n

{0,$}n = {( x$x2 ... xn ) x$ {0,$}, x2 {0,$}, ... , xn {0,$}} .

f : { 0,$} { 0,$} ,
n

unde

domeniul

de

defini!ie

este

mul!imea

2n

N=
i=0

2 i C2 n = 2

Analiza unui circuit combina!ional are ca scop determinarea func!iei logice intrareie"ire. Aceasta se poate exprima fie n limbaj natural, fie algebric prin expresii logice, fie prin tabele de adev#r, fie prin diagrame Veitch-Karnaugh. Sinteza unui circuit combina!ional urm#re"te determinarea schemei logice, pornind de la unul dintre modurile de reprezentare enumerate mai sus.

32

2 SISTEME COMBINA!IONALE

Orice func!ie binar# poate fi implementat# numai cu por!i %I-NU. Se spune c# operatorul logic %I-NU formeaz# un set complet de operatori. Panoul logic con!ine 3 tipuri de circuite integrate realizate n tehnologie TTL standard: por!i inversoare, por!i %I-NU cu 2 intr#ri "i por!i %I-NU cu 3 intr#ri. Pentru a g#si circuitul optim care implementeaz# func!ia c#utat# este necesar# opera!ia de minimizare a func!iei binare, n urma c#reia rezult# o expresie algebric# ct mai simpl#, care permite construc!ia circuitului folosind un num#r minim de por!i. Exist# numeroase tehnici de minimizare: pentru calculul manual se prefer# utilizarea diagramelor Veitch-Karnaugh, iar pentru calculul automat metode tabelare cum ar fi metoda Quine-McCluskey sau metoda Espresso. Vom prezenta n continuare un exemplu de minimizare a func!iei binare f, reprezentat# prin tabelul de adev#r din figura 2.$, folosind diagramele Veitch-Karnaugh: - func!ia dat# are 4 variabile, deci diagrama Veitch-Karnaugh are 2 4 compartimente, fiecare corespunznd uneia dintre cele $6 valori ale func!iei. Fiecare compartiment este adresat de o anumit# combina!ie a variabilelor A, B, C "i D. Dup# completarea compartimentelor cu valorile func!iei din tabelul de adev#r, se grupeaz# compartimentele vecine (difer# valoarea unei singure variabile) care con!in $ logic, astfel nct fiecare grupare s# con!in# un num#r de 2 i compartimente, unde i = 0,$,2,3 sau 4. Fiecare grupare este definit# de un produs de variabile, sub form# direct# sau negat#, iar expresia func!iei se ob!ine prin aplicarea func!iei SAU acestor produse logice. Pentru exemplul considerat:

f ( A, B, C, D) = B D + C D + A C = B D C D A C
S-a folosit o teorem# fundamental# a algebrei boolene cunoscut# sub numele de "Legile lui DeMorgan" care permite transformarea opera!iilor binare SAU n %I "i invers. Ea permite implementarea func!iilor binare numai cu por!i %I-NU:

X + Y = X Y , sau rela!ia dual#: X Y = X + Y


A 0 0 0 0 0 0 0 0 $ $ $ $ $ $ $ $ B 0 0 0 0 $ $ $ $ 0 0 0 0 $ $ $ $ C 0 0 $ $ 0 0 $ $ 0 0 $ $ 0 0 $ $ D 0 $ 0 $ 0 $ 0 $ 0 $ 0 $ 0 $ 0 $ f $ $ $ 0 0 $ 0 0 $ $ $ 0 $ $ 0 0

A C

CD

AB

00

0$

$$

$0

$ $ 0 $
B

0 $ 0 0
B

$ $ 0 0

$ $ 0 $
B

D D D

00 0$

$ $ $

0 $ 0 0

$ $ 0 0

$ $ 0 $

$$ 0 $0

Veitch

Karnaugh

Fig. 2.$ Exemplu de folosire a diagramelor Veitch-Karnaugh

2." Considera#ii teoretice


A C D B f A A $ A A $=A A A A=A

33

Fig. 2.2 Schema logic! cu num!r minim de por"i #I-NU Inversoarele se pot ob!ine din por!i %I-NU prin conectarea mpreun# a intr#rilor (legile de idempoten!#) sau prin conectarea celorlate intr#ri la $ logic (elementul neutru pentru opera!ia binar# %I).

2.".2 Implementarea cu multiplexoare/demultiplexoare


Func!iile binare pot fi implementate cu ajutorul unor structuri combina!ionale MSI, f#r# a mai fi necesar# minimizarea lor. Una dintre aceste structuri este decodificatorul(DCD). Decodificatorul este un circuit integrat pe scar# medie, care identific# un cod de intrare prin activarea unei singure linii de ie"ire. Dac# circuitul are n variabile binare de intrare, atunci num#rul liniilor de ie"ire este 2 n . Figura 2.3 arat# structura circuitului TTL pentru n = 2.
A B A 0 0 $ $ P0 P$ P2 P3 B 0 $ 2 3 0 0 $ $ $ $ $ 0 $ $ 0 $ $ 0 $ $ $ $ $ 0 A B
2 2
$ 0

DCD
0 $ 2 3

P0 P$ P2 P3

Fig. 2.3 Structura, tabelul de adev!r $i reprezentarea decodificatorului TTL pentru n=2
Demultiplexorul(DMUX) este un circuit construit pe structura decodificatorului, care permite transmiterea datelor de pe o singur# cale de intrare pe una din cele 2 n c#i de ie"ire. Selec!ia liniilor de ie"ire se face prin aplicarea unui cod binar pe n linii de intrare, care devin acum intr#ri de selec!ie. Structura demultiplexorului TTL pentru n = 2 este prezentat# n figura 2.4.
A B I
ENABLE

A B

2 2

$ 0

DMUX
0 $ 2 3

I
ENABLE

prin conectarea la 0 permite accesul datelor de pe intrare

)
P0 .I P$ .I P2 .I P3 .I

Fig. 2.4 Structura $i reprezentarea demultiplexorului TTL pentru n=2

34

2 SISTEME COMBINA!IONALE

Multiplexorul(MUX) realizeaz# func!ia invers# demultiplexorului, adic# permite transmiterea datelor de la una din cele 2 n c#i de intrare la o singur# cale de ie"ire. Selec!ia unei anumite intr#ri de date se face prin aplicarea unui cod binar pe n linii de intrare, linii care sunt intr#rile de selec!ie. Structura multiplexorului TTL pentru n = 2 este prezentat# n figura 2.5.
I0 A B E A B
2 2
$ 0

I$

I2

I3 I0 I$ I2 I3
0 $ 2 3

MUX

W W W

Fig. 2.5 Structura $i reprezentarea multiplexorului TTL pentru n=2 n descrierile de mai sus, s-a precizat c# aceste structuri corespund tehnologiei TTL. n tehnologia CMOS s-ar putea repeta aceste structuri, dar s-au descoperit alte structuri mai eficiente, bazate pe poarta de transmisie CMOS. Circuitele pot fi asimilate cu ni"te comutatoare programabile. Aceste comutatoare sunt bidirec!ionale, deci acela"i circuit poate fi utilizat fie ca multiplexor, fie ca demultiplexor, iar semnalele transmise pot fi "i analogice. Schema simplificat# a unui MUX/DMUX cu 3 intr#ri de selec!ie n tehnologie CMOS, care selecteaz# intrarea/ie"irea cu num#rul 5, este dat# n figura 2.6. Aceste structuri combina!ionale MSI implementeaz# to!i termenii produs fundamentali ai unei func!ii cu num#r de variabile mai mic sau egal cu num#rul de intr#ri de selec!ie n. Din acest motiv, implementarea func!iilor binare nu necesit# opera!ii de minimizare, ci numai alegerea corect# a conexiunilor. Dac# num#rul de variabile ale func!iei este mai mic sau egal cu num#rul de intr#ri de selec!ie n, atunci implementarea se face direct, iar n caz contrar mai sunt necesare o serie de transform#ri algebrice pentru a g#si o alt# structur# adi!ional#, format# de obicei din por!i, care s# completeze lipsa intr#rilor de selec!ie de la MUX sau DMUX.
intrare / ie"ire
0 $ 2 3 4 5 6 7
2 $ 0

A=$ B=0 C=$

2 2

ie"ire / intrare

MUX / DMUX

Fig. 2.6 Implementarea func"iei cu demultiplexor $i cu multiplexor CMOS

2.2 Demonstraii practice

35

Dac ne propunem s implementm cu MUX i apoi cu DMUX funcia binar f = P0 + P1 + P2 + P6 + P7 , cele dou soluii TTL sunt prezentate n figura 2.7.
A B C
2 2 2
2

1 0

DMUX
0 1 2 3 4 5 6 7

I E A B C

1
2 2 2
2

1 0

MUX
W f

Fig. 2.7 Implementarea funciei cu demultiplexor i cu multiplexor Implementarea cu MUX este imediat. Intrrile corespunztoare indicilor termenilor Pi din suma logic se conecteaz la 1 logic, iar celelalte intrri la 0 logic. Pentru implementarea cu DMUX ne intereseaz termenii Pi , deci scriem funcia sub forma

f = P0 P1 P2 P6 P7 . Ieirile corespunztoare indicilor termenilor Pi se conecteaz la


intrrile unei pori I-NU. Dac demultiplexorul este o structur CMOS, atunci la fiecare dintre ieirile 0, , 7 se conecteaz cte o rezisten la V+ . n caz contrar, ieirile care nu sunt selectate rmn n aer (stare de nalt impedan).

2.2 Demonstraii practice


Consideraiile asupra alimentrii panoului logic, formulate n capitolul anterior, rmn valabile pentru toate aplicaiile practice din aceast lucrare. Circuitele integrate MSI au deja o complexitate mai mare dect porile logice i utilizarea lor la implementarea unor scheme electrice nu se mai poate face fr consultarea foii de catalog. Panoul logic conine pori logice, dou circuite integrate MSI realizate n tehnologie TTL standard i un circuit integrat n tehnologie CMOS seria 4000. Circuitul SN 74150 este un multiplexor TTL cu 4 intrri de selecie, deci cu 16 ci de intrare, iar circuitul SN 74155 este un circuit TTL cu funcie dubl: fie un demultiplexor cu 3 intrri de selecie, fie dou demultiplexoare cu cte 2 intrri de selecie. Circuitul MMC 4097 este un circuit CMOS care conine dou multiplexoare/demultiplexoare cu cte 3 intrri de selecie. Foile de catalog furnizeaz informaia complet pentru utilizarea corect a acestor circuite integrate. Chiar dac circuitele sunt fabricate de alt productor, ele trebuie s respecte standardul elaborat de firma TEXAS INSTRUMENTS pentru circuitele TTL, respectiv RCA, pentru circuitele CMOS. Fragmente din foile de catalog, care conin numai informaiile strict necesare pentru utilizarea acestor circuite integrate sunt prezentate n figurile 2.8, 2.9 i respectiv 2.10. n cazul structurilor combinaionale, aceste informaii strict necesare sunt cele care permit realizarea conexiunilor conform schemei logice, adic configuraia pinilor i tabelul de adevr.

36

2 SISTEME COMBINAIONALE

Fig. 2.8 Configuraia pinilor i tabelul de adevr pentru circuitul SN 74150

Fig. 2.9 Configuraia pinilor i tabelul de adevr pentru circuitul SN 74155 Observm c pinul ENABLE din descrierea teoretic de mai sus se numete aici STROBE i are rolul de a permite accesul datelor la ieire. El trebuie conectat la mas (0 logic), dup cum rezult din tabelele de adevr. O alt deosebire important const n notarea variabilelor aplicate pe intrrile de selecie. La sinteza structurilor combinaionale cu pori logice, sau la prezentarea teoretic de mai sus, s-a notat cu A variabila mai semnificativ, iar cea mai puin semnificativ cu B, C sau D, funcie de numrul total de variabile. Convenia adoptat de firma TEXAS INSTRUMENTS, dup cum observm din tabelele de adevr, este exact invers: C sau D este intrarea de selecie mai semnificativ, iar A este intrarea de selecie cea mai puin semnificativ. n fond este vorba de o simpl convenie de care trebuie ns s inem seam pentru folosirea corect a circuitelor. Iat de ce, printre altele, este obligatorie consultarea foii de catalog atunci cnd proiectm diverse structuri folosind circuite integrate numerice! Circuitul integrat MMC 4097(dac este de fabricaie romneasc, sau pur i simplu 4097, precedat de alte caractere, dac este fabricat de alt firm) are un pin numit INHIBIT, cu aciune contrar pinului ENABLE. Este activ pe 1 logic, avnd rolul de a bloca accesul datelor
.

2.2 Demonstraii practice

37

Fig. 2.10 Configuraia pinilor i tabelul de adevr pentru circuitul MMC 4097 la ieire. El trebuie conectat la mas (0 logic), dup cum rezult din tabelele de adevr. Convenia de alocare a ponderilor pentru variabilele de selecie se pstreaz la fel ca la TTL: C este intrarea mai semnificativ, iar A este intrarea cea mai puin semnificativ. 2.2.1 Se face analiza schemei logice din figura 2.11, reprezentnd cele 4 funcii binare prin expresii algebrice, tabele de adevr i diagrame temporale. Se verific experimental rezultatele obinute n urma analizei teoretice a circuitului.
A B f0 f1 f2 f3

Fig. 2.11 Schema logic a unui decodificator realizat cu pori 2.2.2 Se implementeaz cu numr minim de pori I-NU funcia binar reprezentat prin tabelul de adevr din figura 2.12 (x este 0 sau 1, dup cum ne convine). Se realizeaz montajul din figur i se face verificarea sintezei prin analiza circuitului folosind tabelul de adevr. Schema logic obinut este unic?
A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f 0 1 x x x 1 1 1 0 1 0 0 0 1 0 x

A C

0 1 x x
B

x 1 1 1
B

0 1 x 0

0 D 1 0 0
B D D

A f C D f=C D+A C= C D A C

. . .

Fig. 2.12 Sinteza funciei binare reprezentat prin tabelul de adevr

38

2 SISTEME COMBINAIONALE

2.2.3 Se consider funcia binar definit de tabelul de adevr din figura 2.13. Se implementeaz folosind circuitul integrat SN 74155 ca demultiplexor cu 8 ci de ieire i se verific funcionarea circuitului obinut folosind tabelul de adevr. Se repet implementarea funciei cu circuitul MMC4097 i se verific din nou funcionarea corect a montajului.
C 0 0 0 0 1 1 1 1 B A 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 f 1 0 0 0 1 1 0 1
C B A
1C B A 0 1 2C 1G

SN 74155
2 3 4 5 6

2G 7

Fig. 2.13 Implementarea unei func ii binare cu circuitul SN 74155 2.2.4 Un juriu format din 4 persoane decide asupra reuitei unui concurent prin majoritate de voturi, semnalizate prin aprinderea unui element de afiaj. Se implementeaz funcia care comand aprinderea LED-ului, reprezentat prin tabelul de adevr din figura 2.14, folosind circuitul integrat SN 74150. Se verific funcionarea corect a montajului (n schemele logice cu multiplexoare am folosit pentru intrri notaia I i ; n foaia de catalog a circuitului 74150 de la TEXAS INSTRUMENTS, ele sunt notate cu Ei , iar complementarea lor la ieire indic c este disponibil ieirea W ; informaia din catalog trebuie adaptat la cunotinele noastre i este posibil ca n cataloagele altor firme s ntlnim alte notaii).
D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 f 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1

1 0 D C B A
D I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 I10 I11 I12 I13 I14 I15 C B A

SN 74150
W

Fig. 2.14 Implementarea funciei de vot majoritar cu circuitul SN 74150


2.2.5 Se repet implementarea funciei de la punctul 2.2.4, folosind de aceast dat circuitul integrat SN 74155 ca demultiplexor cu 8 ci de ieire i se verific funcionarea circuitului obinut folosind tabelul de adevr dat n figura 2.14. S se arate cum s-a fcut sinteza schemei logice prezentate n figura 2.15.

40

2 SISTEME COMBINA"IONALE

2.3 Probleme rezolvate


2.3.1 S! se proiecteze un circuit logic combina"ional de tip "cheie electronic!" cu 3 intr!ri #i o singur! ie#ire. Fiecare intrare reprezint! starea unui contact: dac! contactul este deschis, acesta furnizeaz! $ logic pe intrarea respectiv!. n starea ini"ial! toate contactele sunt deschise #i ie#irea circuitului este n $ logic, adic! alarma este dezactivat!. Dac! nchiderea contactelor (care pot ac"iona, de exemplu, ni#te z!voare electromagnetice) se face ntr-o anumit! ordine prestabilit!, atunci ie#irea r!mne n $ logic #i alarma nu este declan#at!. Dac! ordinea de nchidere a contactelor nu este respectat!, ie#irea trece n 0 logic #i se afi#eaz! starea de alarm! prin aprinderea unui LED. Cte combina"ii posibile exist!? Dar pentru 5 contacte? Explica"i cum trebuie s! fie contactele #i de ce.
Rezolvare: S! presupunem c! ordinea prestabilit! de nchidere a contactelor este B, C, A. Tabelul de adev!r pentru implementarea func"iei de alarmare, minimizarea func"iei cu ajutorul diagramei Veitch #i schema logic! ob"inut! sunt date n figura 2.$7.
A 0 0 0 0 $ $ $ $ B 0 0 $ $ 0 0 $ $ C 0 $ 0 $ 0 $ 0 $ f $ 0 0 0 $ $ 0 $
A
A C C A

$ 0
B

0 0
B

0 $

$ $
B

B C f=B C+A C= B C

. . A .C

Fig. 2.$7 Sinteza func!iei binare de alarmare Pentru 3 contacte exist! 3! = 6 combina"ii posibile, iar pentru 5 contacte avem $20 de combina"ii distincte. Se folosesc ntrerup!toare cu men"inere, deoarece este necesar! memorarea st!rilor contactelor la fiecare pas. n lipsa acestor memorii mecanice, sunt necesare memorii electronice, adic! circuite secven"iale, deci problema nu este rezolvabil! prin metodele prezentate pn! acum n lucrare. V
.

2.3.2 S! se proiecteze un circuit de decodificare pentru afi#ajul cu 7 segmente din figura 2.$8, care s! permit! afi#area a 4 st!ri distincte, prin literele O, L, H #i E. Cele 4 st!ri distincte sunt date de toate combina"iile posibile realizate cu 2 variabile de intrare, A #i B. Segmentele elementului de afi#aj sunt aprinse pentru 0 logic #i stinse pentru $ logic.
a f e d g b c

Fig. 2.$8 Nota!ii folosite pentru cele 7 segmente ale elementului de afi"aj
Rezolvare: Pentru fiecare segment de afi#aj se genereaz! cte o func"ie binar! conform cerin"elor problemei. Rezult! tabelul de adev!r din figura 2.$9. Prin minimizare se ob"in ecua"iile circuitului.

2.3 Probleme rezolvate


A B a b c d e f g 0 0 $ $ 0 0 0 0 0 0 0 $ $ $ $ $ 0 0 0 $ 0 $ 0 0 $ 0 0 0 $ 0 $ $ 0 0 0 0
a = A B + A B= A B A B B

41
Simbol
A g a b c d e f g =A

b=c= B d= A B e=f=0

. . .

Fig. 2.$9 Sinteza circuitului de decodificare pentru afi"ajul cu 7 segmente

2.3.3 O companie face angaj!ri de personal pentru diferite compartimente. Candida"ii trebuie s! ndeplineasc! cel pu"in una dintre urm!toarele 5 condi"ii: - a: b!rbat, nec!s!torit, cu studii superioare - b: nec!s!torit(!), cu studii superioare, vrsta sub 30 de ani - c: femeie, nec!s!torit!, f!r! studii superioare - d: b!rbat, vrsta sub 30 de ani - e: nec!s!torit(!), vrsta peste 30 de ani S! se proiecteze un circuit pentru selec"ia candida"ilor.
Rezolvare: Se pune problema s! g!sim o func"ie binar! f, de mai multe variabile, pentru selec"ia candida"ilor. Dac! f = $ se consider! candidat acceptat, iar dac! f = 0, atunci avem de-a face cu un candidat respins. Stabilim pentru nceput care sunt variabilele func"iei: A - vrsta (A = $ dac! vrsta este sub 30 de ani, #i A = 0 n caz contrar) B - sexul (B = $ dac! este b!rb!tesc #i B = 0 dac! este femeiesc) C - starea civil! (C = $ dac! este nec!s!torit(!) #i C = 0 dac! este c!s!torit(!)) D - studii (D = $ dac! are studii superioare #i D = 0 dac! nu are studii) Aceste variabile binare rezult! din datele problemei, iar proiectantul este liber s! aleag! modul n care se atribuie valorile logice acestor variabile. Candidatul este acceptat dac! cel pu"in una dintre condi"iile cerute este ndeplinit!, adic!:
f = a + b + c + d + e , unde

a = BCD, b = ACD, c = BCD, d = AB, e = AC Expresia algebric! a func"iei c!utate este f = BCD + ACD + BCD + AB + AC , dar aceast! form! a func"iei nu este minim!. Pentru o minimizare rapid! #i eficient! se trec termenii produs ntr-o diagram! Veitch. Solu"ia problemei este dat! n figura 2.20.
A C A

0 0 $ $
B

0 0 $ $
B

$ $ $ $

0 D 0 $
B D

A B C f

$ D

f = C + A B= C A B

. .

Fig. 2.20 Sinteza func!iei binare f(A,B,C,D)

42

2 SISTEME COMBINA"IONALE

2.3.4 S! se fac! sinteza func"iei de vot majoritar, reprezentat! prin tabelul de adev!r din figura 2.$4, cu ajutorul unui demultiplexor cu 8 c!i de ie#ire.
Rezolvare:

Func"ia poate fi scris! n forma canonic! disjunctiv! sub forma: f = P7 + P$$ + P$3 + P$4 + P$5 . Observ!m ns! c! num!rul de variabile ale func"iei este mai mare dect num!rul intr!rilor de selec"ie ale demultiplexorului. Din acest motiv vom face o serie de transform!ri algebrice care s! pun! n eviden"! mintermenii unei func"ii de 3 variabile, mintermeni care sunt disponibili la ie#irile demultiplexorului. Cea de-a patra variabil! va fi introdus! ntr-o logic! combina"ional! suplimentar!, realizat! de obicei cu por"i logice.
= A( DCB + DC B + DCB + DCB) + ADCB = A( P3' + P5' + P6' + P7' ) + A P7' = f = P7 + P$$ + P$3 + P$4 + P$5 = DCBA + DC BA + DCBA + DCBA + DCBA =

= A( P3' + P5' + P6' ) + P7' = A P3' P5' P6' + P7' = A P3' P5' P6' P7'

Expresia algebric! ob"inut! permite implementarea func"iei f, conform schemei din figura 2.$5. Este evident c! oricare alte 3 variabile puteau fi aplicate pe intr!rile de selec"ie ale demultiplexorului, cu condi"ia refacerii calculelor de mai sus.
.

2.3.5 S! se proiecteze un convertor de cod din cod binar n cod Gray pentru numere reprezentate pe 3 bi"i, folosind: a) un decodificator cu 3 intr!ri de selec"ie. b) multiplexoare cu cte 2 intr!ri de selec"ie. c) un num!r minim de circuite.
Rezolvare: Dou! reprezent!ri succesive n cod Gray difer! printr-un singur bit. Tabelul din figura 2.2$ indic! coresponden"a cod binar - cod Gray, iar schema logic! al!turat! prezint! solu"ia de la punctul a. Pentru sinteza schemelor logice n probleme, propunem ca variabila A s! fie aplicat! pe intrarea de selec"ie cea mai semnificativ!. La problema 2.3.4 am p!strat conven"ia din catalog, pentru c! schema logic! ob"inut! este implementat! cu circuitul SN 74$55, a#a cum se vede n figura 2.$5.
A 0 0 0 0 $ $ $ $ B C 0 0 $ $ 0 0 $ $ 0 $ 0 $ 0 $ 0 $ AG BG CG 0 0 0 0 $ $ $ $ 0 0 $ $ $ $ 0 0 0 $ $ 0 0 $ $ 0
A B C
2 2 2
2 $ 0

DCD
0 $ 2 3 4 5 6 7

AG

BG

CG

Fig. 2.2$ Convertor de cod binar - Gray cu decodificator "i por!i b) Se pot folosi multiplexoare cu cte 2 intr!ri de selec"ie prin transform!rile:

BG = ABC + ABC + ABC + ABC = ( AB + AB ) C + ( AB + AB ) C = P$' + P2'


CG = ABC + ABC + ABC + ABC = ( P0' + P2' ) C + ( P$' + P3' ) C

AG = ABC + ABC + ABC + ABC = ( AB + AB ) C + ( AB + AB ) C = P2' + P3'

2.3 Probleme rezolvate


0 A B
2 2
$ 0

43
$ 0 A B
2 2
$ 0

C $
0 $ W 2 3 E

$ W

3 E

MUX
AG

MUX
BG

A B

2 2

$ 0

$ W

3 E

MUX
CG

Fig. 2.22 Convertor de cod binar - Gray cu multiplexoare Schema logic! din figura 2.22 prezint! o solu"ie a problemei. Sunt posibile #i alte solu"ii, func"ie de alegerea variabilelor care se aplic! pe intr!rile de selec"ie. c) Implementarea cea mai simpl! este cu por"i logice. Prin minimizare cu ajutorul diagramei Veitch-Karnaugh rezult! urm!toarele rela"ii: AG = A , BG = AB + AB = A B , CG = BC + BC = B C . Deci sunt necesare numai dou! por"i logice SAU-EXCLUSIV.
.

2.3.6 S! se implementeze un sumator complet de $ bit, folosind: a) multiplexoare cu 4 c!i de intrare; b) demultiplexor cu 4 c!i de ie#ire #i por"i; Compara"i cele dou! solu"ii din punct de vedere al num!rului de circuite integrate #i al timpului de propagare.
Rezolvare: Sumatorul de $ bit are dou! intr!ri pentru operanzi, notate aici cu A #i B, #i nc! o intrare pentru transportul de la sumatorul de rang inferior, notat! aici cu C$. Circuitul are dou! ie#iri, suma, notat! cu S, #i transportul, notat! cu C. Tabelul de adev!r este dat n figura 2.23.
' ' ' ' S=P $ +P 2 +P 4 +P 7 = C$ ( A B + AB ) + C$ ( A B + AB) = C$ (P $ +P 2 ) + C$ (P 0 +P 3) ' ' C = P3 + P5 + P6 + P7 = C$ AB + C$ (AB + AB + AB) = P3' + C$ (P $ +P 2)

Schemele logice care se ob"in cu aceste ecua"ii sunt date tot n figura 2.23.
C -$ A B 0 0 0 0 $ $ $ $ 0 0 $ $ 0 0 $ $ 0 $ 0 $ 0 $ 0 $ C S 0 0 0 $ 0 $ $ $ 0 $ $ 0 $ 0 0 $
C -$ A B
2 2
$ 0

$
0 $ W 2 3 E

C -$ A B
2 2
$ 0

$ W

3 E

MUX
C

MUX
S

Fig. 2.23 Sumator complet de # bit implementat cu multiplexoare b) Pentru implementarea cu demultiplexor, se fac urm!toarele transform!ri (punem n eviden"! termeni produs Pi ):
' ' ' ' ' C = P3' + C$ (P $ +P 2)= P 3 C$ P $ P 2 ' ' ' ' ' ' ' ' S = C$ (P $ +P 2 ) + C$ (P 0 +P 3 ) = C$ P $ P 2 C$ P 0 P 3

'

44
A B
2
$ 0

2 SISTEME COMBINA"IONALE

DMUX
0 $ 2 3

I E

C -$

Fig. 2.24 Sumator complet de # bit implementat cu decodificator "i por!i $I-NU Dac! se compar! schemele logice astfel ob"inute, observ!m c! implementarea cu demultiplexor este mult prea costisitoare, att din punct de vedere al num!rului de circuite integrate, ct #i al timpului de propagare. Implementarea cu multiplexoare este mai rezonabil!, dar cea mai simpl! solu"ie se ob"ine prin minimizarea func"iilor #i implementare cu por"i. Aceast! solu"ie a fost V prezentat! n curs.
.

2.3.7 Un circuit logic combina"ional are 4 intr!ri, 2 ie#iri #i func"ioneaz! astfel nct: - dac! F = 00 , atunci Q = I ; - dac! F = 0$ , atunci Q = I + $ (mod 4) ; - dac! F = $0 , atunci Q = I $ (mod 4) ; - dac! F = $$, atunci Q = I , unde F, Q #i I sunt cuvinte de cte doi bi"i. a) S! se scrie func"iile logice Q$ #i Q0 asociate ie#irilor circuitului. b) S! se implementeze circuitul anterior descris.
Rezolvare: a) Se poate folosi tabelul de adev!r pentru fiecare dintre func"iile cerute, dar #i o metod! mai rapid! care presupune scrierea direct! a func"iei pornind de la o formulare convenabil! n limbaj natural. Este evident c! pentru F$ = 0 #i F0 = 0 , Q$ = I $ #i Q0 = I 0 . Pentru F$ = 0 #i F0 = $ , se impune ca intrarea s! fie I $ = 0 #i I 0 = $ , sau exact invers, I $ = $ #i I 0 = 0 , deoarece numerele 0$ #i $0 genereaz! prin incrementare bitul cel mai semnificativ, Q$ = $ . Se pot folosi #i diagramele Veitch Karnaugh de dou! variabile, I $ #i I 0 , pentru fiecare combina"ie F$ , F0 . Expresiile cerute n problem! devin:

Q$ = F$ F0 I$ + F$ F0 (I$ I 0 ) + F$ F0 I$ I 0 + F$ F0 I$ Q0 = F$ F0 I 0 + F$ F0 I 0 + F$ F0 I 0 + F$ F0 I 0
b) Probabil c! implementarea cea mai simpl! se poate face folosind dou! multiplexoare cu cte 2 intr!ri de selec"ie ( F$ #i F0 ) #i por"i (dou! inversoare, o poart! SAU-EXCLUSIV #i o poart! SAU-EXCLUSIV NEGAT). L!s!m n seama cititorului g!sirea altor solu"ii posibile.
.

CIRCUITE DE IMPULS

Aplica!iile din acest capitol "i propun s# prezinte circuite secven!iale regenerative, care genereaz# "i prelucreaz# impulsuri. Este vorba de clasa circuitelor multivibratoare, care con!ine circuite astabile, monostabile sau bistabile, realizate cu por!i logice sau cu circuite integrate specializate.

3.1 Considera!ii teoretice


3.1.1 Circuite astabile
Circuitele astabile sunt circuite basculante care nu au nici o stare stabil#. Ele au numai dou# st#ri cvasistabile, iar trecerea de la o stare la alta se face f#r# comand# din exterior. Circuitul este de fapt un oscilator care genereaz# semnal numeric. Cvasistabilitatea nu se refer# la nivelele logice ale semnalului generat, ele sunt 0 logic sau $ logic "i sunt perfect stabile pe o anumit# durat# de timp. Cvasistabilitatea se refer# la faptul c# nici unul dintre nivelele logice 0 sau $ nu poate fi men!inut la ie"ire un interval de timp orict de mare. De aici rezult# "i denumirea circuitului. Durata "i frecven!a impulsurilor generate de circuitul astabil depind de parametrii acestuia, de obicei determina!i de re!ele RC. Pentru o stabilitate ridicat# a frecven!ei se utilizeaz# cristale de cuar!. Circuitele astabile pot func!iona "i n regim de sincronizare declan"at# sau comandat#. n primul caz, la fiecare impuls de declan"are astabilul porne"te cu faz# fix# a oscila!iilor. n al doilea caz, se genereaz# impulsuri att timp ct la intrare exist# un semnal de comand# activ pe unul dintre cele dou# nivele logice. Circuitele astabile se pot implementa cu componente discrete, cu por!i logice sau cu circuite integrate specializate. Nu vom discuta n acest capitol implement#rile cu tranzistoare, iar folosirea circuitelor integrate specializate va fi discutat# n sec!iunea urm#toare a acestui capitol.

46
Vout
V$ R C V2 Vout

3 CIRCUITE DE IMPULS

0V V$ VT 0V

Fig. 3.$ Circuit astabil cu por!i CMOS O schem# simpl# de circuit astabil cu por!i CMOS este prezentat# n figura 3.$. Vom neglija ntrzierea semnalelor prin por!i "i vom presupune c# nivelul de tensiune la ie"ire se schimb# instantaneu cnd tensiunea de intrare atinge valoarea de prag VT. Dac# V$ atinge valoarea lui VT, inversoarele comut# "i ie"irea Vout trece n $ logic. Acest salt de tensiune este transmis prin condensator "i V$ devine VT + V+, unde V+ este tensiunea de alimentare a circuitului. De fapt, tensiunea nu poate fi chiar att de mare, pentru c# intervine limitarea din re!eaua de protec!ie a intr#rii, dar deocamdat# s# neglij#m "i acest lucru. Condensatorul ncepe s# se descarce prin rezisten!a R, iar cnd tensiunea pe el atinge din nou valoarea VT por!ile comut# din nou. Se produce un nou salt de tensiune pe intrarea V$, de la VT la VT - V+, cu aceea"i observa!ie de mai sus. Condensatorul se ncarc# acum, iar cnd V$ atinge din nou valoarea lui VT, ntregul ciclu se reia. Circuitul nu are o stare stabil#. Salturile de tensiune ntre nivele se produc cu o periodicitate determinat# de elemente pasive R, C "i de pragul de tensiune VT. Pentru VT = V+/2 factorul de umplere este , iar frecven!a este dat# de rela!ia: f = acest circuit se pot genera impulsuri cu o frecven!# stabil# de pn# la $MHz. Pentru ob!inerea unor frecven!e stabile n timp (ceasuri electronice, calculatoare etc.) se folosesc astabile cu cristal de cuar!. Din punct de vedere electric, cristalul ofer# o impedan!# cu propriet#!i de circuit rezonant cu factor de calitate foarte mare. n figura 3.2 se prezint# simbolul conven!ional pentru cristalul de cuar!, circuitul electric echivalent "i varia!ia reactan!ei cu frecven!a (dac# se neglijeaz# rezisten!a r). Se constat# existen!a unei rezonan!e serie la frecven!a S = $ , "i a unei
LC

$ . Cu 2,2 R C

rezonan!e paralel la frecven!a P =

$ C C0 L C + C0

X L C0

X>0 (inductiv) fp fs X<0 (capacitiv)

Fig. 3.2 Cristalul de cuar!, circuitul echivalent "i dependen!a reactan!ei de frecven!#

3.1 Considera!ii teoretice


Rf
out

47

R CT

Q CS CS

R CT

Fig. 3.3 Re!eaua de reac!ie $ "i oscilator CMOS cu cuar! Oscilatoarele cu rezonan!# serie sunt proiectate s# oscileze la frecven!a de rezonan!# serie. Cele cu rezonan!# paralel oscileaz# la frecven!e cuprinse ntre cele dou# frecven!e de rezonan!# serie "i paralel, n func!ie de valoarea nc#rc#rii capacitive a cuar!ului. Circuitele cu rezonan!# paralel au performan!e mai bune cnd lucreaz# cu amplificatoare cu impedan!# mare de intrare, deci ele sunt cele mai r#spndite pentru oscilatoarele cu cuar! care utilizeaz# amplificatoare CMOS. Figura 3.3 ilustreaz# configura!ia adecvat# pentru o re!ea de reac!ie a unui oscilator cu rezonan!# paralel, re!ea care asigur# un defazaj de $800, iar schema practic# de oscilator mai con!ine un inversor CMOS pe post de amplificator care realizeaz# un defazaj de $800, polarizat prin rezisten!a R f , pentru a ndeplini condi!ia Vout = Vin = V+ / 2 . Valoarea acestei rezisten!e este suficient de mare pentru a preveni nc#rcarea re!elei de reac!ie, dar mic# n compara!ie cu rezisten!a de intrare a amplificatorului inversor. Principalul dezavantaj al oscilatoarelor cu por!i CMOS seria 4000 l constituie frecven!a redus# a semnalelor generate. La frecven!e ce dep#"esc 4MHz stabilitatea func!ion#rii circuitului pune mari probleme. Pentru frecven!e de ordinul zecilor de MHz se folosesc circuite cu por!i TTL. Figura 3.4 prezint# schema complet# a unui oscilator cu cuar! "i por!i TTL. Abaterea de frecven!# este de ordinul $0 6...$0 7 "i poate atinge valori de $0 8...$0 9 dac# cuar!ul este introdus ntr-o incint# termostatat# ([Nicula, $994]).
Q

R$
820

R2 C
$n 820 out

7404

7404

7404

Fig. 3.4 Oscilator cu cuar! "i por!i TTL

48
3.1.2 Circuite monostabile

3 CIRCUITE DE IMPULS

Circuitele monostabile sunt circuite basculante cu o singur# stare stabil# "i cu o stare cvasistabil#. Trecerea n starea cvasistabil# se realizeaz# sub ac!iunea unei comenzi exterioare, iar revenirea se face dup# un anumit timp, dependent numai de parametrii circuitului "i nu de semnalele externe de comand#. Durata st#rii cvasistabile este dat# de circuitul extern de temporizare format dintr-un grup RC. Stabilitatea acestei durate este una din cerin!ele principale impuse unui monostabil. Un circuit monostabil poate fi f#cut s# func!ioneze "i n regim de redeclan"are (retriggerable), cnd procesul cvasista!ionar poate fi renceput chiar n timpul desf#"ur#rii ciclului de temporizare. Circuitele monostabile se pot implementa cu componente discrete, cu por!i logice sau cu circuite integrate specializate. Nu vom discuta n acest capitol implement#rile cu tranzistoare, iar folosirea circuitelor integrate specializate va fi discutat# n sec!iunea urm#toare a acestui capitol. O schem# simpl# de circuit monostabil cu por!i CMOS este prezentat# n figura 3.5. Pulsul de declan"are aplicat pe intrarea por!ii SAU-NU va determina comutarea ie"irii por!ii din $ n 0 logic. Condensatorul C, nenc#rcat, transmite impulsul spre poarta inversoare, care comut# "i ea, iar Vout devine $ logic. Ie"irea Vout se aplic# prin reac!ie celeilalte intr#ri n poarta SAU-NU, care poate substitui impulsul ini!iator (bucla s-a nchis). Durata minim# a impulsului de ini!iere trebuie s# fie egal# cu suma timpilor de propagare prin cele dou# por!i. Tensiunea pe condensator cre"te cu o constant# de timp RC "i atunci cnd atinge valoarea de prag VT , inversorul comut# , iar tensiunea la ie"ire revine la 0 logic. Dac# tensiunea de prag este cam jum#tate din tensiunea de alimentare, atunci durata temporiz#rii este de circa 0,69 R C , valoare ce rezult# din rezolvarea ecua!iei de nc#rcare a unui condensator ntre dou# limite de tensiune cunoscute. Stabilitatea acestui circuit este destul de bun# pentru c# tensiunile de prag la circuitele CMOS nu sunt influen!ate de temperatur#. Dup# cum indic# "i rela!ia de mai sus, durata pulsului poate fi modificat# prin reglarea valorilor rezisten!ei (R) "i a condensatorului (C). Este ns# evident c# o structur# de circuit integrat specializat ofer# performan!e superioare n privin!a stabilit#!ii duratei pulsului "i a parametrilor formelor de und# de la ie"ire. Vin 0V V+ V$ R 0V C Vin Vout V2 V2 V$ 0V
Vout 0V

Fig. 3.5 Circuit monostabil cu por!i CMOS

3.1 Considera!ii teoretice

49
3.1.3 Circuite bistabile

Circuitele bistabile sunt circuite basculante care au dou# st#ri stabile. Trecerea de la o stare la alta se face cu ajutorul unor semnale de comand# aplicate din exterior. n general, bistabilele au dou# ie"iri complementare notate cu Q "i Q. Ele pot bascula asincron, imediat ce primesc comanda la intrare, sau sincron cu un impuls de ceas care condi!ioneaz# bascularea. Un exemplu de bistabil asincron n sensul defini!iei de mai sus este circuitul din figura 3.6. St#rile logice la ie"iri sunt complementare "i comut# la fiecare ac!ionare a comutatorului cu 2 pozi!ii de la intrare. Dac# comutatorul nu mai este ac!ionat, durata fiec#rei st#ri logice, 0 sau $, este nelimitat#, cu condi!ia ca circuitul s# r#mn# alimentat pe toat# durata experimentului.
Q

Fig. 3.6 Latch pentru filtrarea impulsurilor parazite pe contacte Circuitul se mai nume"te LATCH, sau element de memorare, "i probabil c# aplica!ia principal# a acestui circuit este filtrarea impulsurilor parazite care apar la comutarea contactelor mecanice. Bistabilele cu ceas, sau bistabilele sincrone, sunt structuri mai complexe, uneori cu mai multe etaje comandate de semnalul de ceas, semnal furnizat de cele mai multe ori de un astabil. Modificarea st#rii la ie"iri se face pe fronturile semnalului de ceas. Pentru ca tranzi!iile efectuate de bistabile s# fie corecte, pe intr#rile lor se aplic# semnale de comand# sintetizate pe baza tabelelor de tranzi!ie corespunz#toare tipurilor de bistabile utilizate. Figura 3.7 reprezint# tabelele pentru bistabilul de tip D. Cele dou# tabele sunt perfect echivalente. Primul tabel se nume"te de obicei tabel de adev#r, datorit# asem#n#rii cu un tabel de adev#r pentru circuite combina!ionale: intr#rile sunt n coloanele din stnga, iar ie"irea Q+ este n dreapta. Aici avem o singur# intrare de date, notat# cu D. Nota!ia Q indic# starea actual# a ie"irii Q, iar Q+ indic# valoarea viitoare a ie"irii Q, dup# apari!ia frontului de ceas care comut# bistabilul. Ie"irea Q este ignorat#, ea fiind mereu complementul lui Q. Tabelul tranzi!iilor con!ine n stnga coloanele Q "i Q+, iar n dreapta valorile D ale intr#rii care ar genera tranzi!ia respectiv# din Q n Q+.

D Q+ 0 0 $ $ tabel de adev#r

Q+ D

0 0 0 0 $ $ $ 0 0 $ $ $ tabel de tranzi!ie

Fig. 3.7 Tabele de tranzi!ie pentru bistabilul de tip D

50
J K Q+ 0 0 Q 0 $ 0 $ 0 $ $ $ Q tabel de adev#r Q

3 CIRCUITE DE IMPULS

Q+ J K 0 0 0 x 0 $ $ x $ 0 x $ $ $ x 0 tabel de tranzi!ie

Fig. 3.8 Tabele de tranzi!ie pentru bistabilul de tip JK Figura 3.8 reprezint# tabelele pentru bistabilul de tip JK. De data aceasta exist# dou# intr#ri separate de date, notate cu J "i K, iar func!ionarea acestui bistabil este mai complex#. El nu mai este un simplu element de memorie ca bistabilul de tip D, fiind capabil de complementarea st#rii prezente, oricare ar fi ea, prin aplicarea lui $ logic pe cele dou# intr#ri: Q+ = Q. Simbolul x are semnifica!ia cunoscut#: dont care. Aceste dou# tipuri de bistabile sunt implementate n structurile integrate care con!in bistabile separate. Bistabilele de tip SR au fost mai pu!in utilizate datorit# restric!iei impuse intr#rilor, iar bistabilele de tip T sunt utilizate numai n circuite care realizeaz# func!ia de num#rare.

3.2 Demonstra!ii practice


Considera!iile asupra aliment#rii panoului logic, formulate n primul capitol, r#mn valabile "i aici. Pentru circuitele integrate specializate care sunt folosite n aceast# aplica!ie avem din nou nevoie de foile de catalog. Panoul logic con!ine por!i logice, trei circuite integrate CMOS "i un circuit integrat TTL. Primul circuit integrat folosit n aplica!ie este MMC 4047, un circuit cu func!ie de astabil sau monostabil, dup# cum este conectat. Configura!ia pinilor "i tabelul de func!ionare sunt prezentate n figura 3.9.

Fig. 3.9 Configura!ia pinilor "i tabelul de func!ionare pentru circuitul MMC 4047

3.2 Demonstra!ii practice

5"

Fig. 3.#0 Configura!ia pinilor "i rela!ia de calcul al frecven!ei pentru circuitul SN 74S124 Circuitul integrat SN 74S"24 con"ine dou! oscilatoare controlate n tensiune identice, realizate n tehnologie Schottky TTL. O aplica"ie frecvent! a circuitului este realizarea unei bucle cu calare de faz!(PLL Phase Locked Loop), care permite implementarea sintetizoarelor de frecven"!, a demodulatoarelor etc. Noi am folosit aici numai oscilatorul comandat n tensiune(VCO Voltage Controlled Oscillator) pentru a verifica modul n care se face controlul frecven"ei astabilului comandat. Cele dou! circuite CMOS care con"in bistabile integrate sunt frecvent utilizate de proiectan"ii care lucreaz! la acest nivel de integrare. Circuitul MMC 40"3 con"ine 2 bistabile de tip D, iar circuitul MMC 4027 con"ine dou! bistabile de tip JK. Informa"ia esen"ial! preluat! din foile de catalog este prezentat! n figurile 3.## $i respectiv 3.#2.

Fig. 3.## Configura!ia pinilor "i tabelele de tranzi!ie pentru circuitul MMC 4013

Fig. 3.#2 Configura!ia pinilor "i tabelele de tranzi!ie pentru circuitul MMC 4027

52

3 CIRCUITE DE IMPULS

3.2." Se realizeaz! circuitul din figura 3.#, folosind o rezisten"! de #0K% $i un condensator de #nF. Compara"i formele de und! cu cele din figur! $i justifica"i eventualele diferen"e, dac! acestea exist!. Varia"i tensiunea de alimentare $i observa"i dac! se produc modific!ri. Calcula"i frecven"a de oscila"ie cu formula dat! la pagina 46 $i m!sura"i frecven"a real! a oscila"iei. Care este eroarea $i explica"i care sunt cauzele acestei diferen"e. Modifica"i valorile componentelor RC $i vizualiza"i formele de und!.
.

3.2.2 Se realizeaz! circuitul din figura 3.4. Vizualiza"i $i desena"i formele de und! la intr!rile $i ie$irile tuturor inversoarelor din circuit. Care este frecven"a semnalului la ie$ire? Compara"i aceast! valoare cu cea nscris! pe capsula cristalului de cuar". Care este rolul por"ii inversoare de la ie$ire? Este ea absolut necesar!?
.

3.2.3 Se realizeaz! circuitul din figura 3.5, folosind o rezisten"! de #0K% $i un condensator de #nF. Declan$a"i circuitul cu un impuls de circa #s $i compara"i formele de und! n noduri cu cele date n figur!. Modifica"i tensiunea de alimentare n limitele permise $i observa"i dac! se produc modific!ri. Calcula"i l!"imea pulsului de ie$ire cu formula dat! la pagina 48 $i m!sura"i durata real! a lui. Care este eroarea $i explica"i care sunt cauzele acestei diferen"e. Modifica"i valorile componentelor RC $i vizualiza"i formele de und!.
.

3.2.4 Se realizeaz! un circuit astabil folosind circuitul integrat MMC 4047 $i informa"iile din catalog, date n figura 3.9. Verifica"i func"ionarea circuitului n toate modurile de lucru. M!sura"i perioada oscila"iei $i verifica"i formula dat! n catalog ( TQ 4,4 R C ). Care este eroarea $i explica"i care sunt cauzele acestei diferen"e. Folosi"i $i alte componente RC de pe panoul logic. Pentru modul de lucru de astabil cu func"ionare continu! (prima linie din tabel) se folose$te schema din figura 3.#3.
.

C
# 3

R
2

#
don't care

5 6 4 8

E A0 T#

R-C

R O Q Q

#3 #0 ##

E A# T0

MMC 4047
I RT
#2

ie$iri

MR
9

Fig. 3.#3 Circuitul MMC 4047 conectat ca astabil cu func!ionare continu# 3.2.5 Se realizeaz! un circuit monostabil folosind circuitul integrat MMC 4047 $i informa"iile din catalog, date n figura 3.9. Verifica"i func"ionarea circuitului n toate modurile de lucru. M!sura"i durata st!rii cvasistabile $i verifica"i formula dat! n catalog ( TQ 2,48 R C ). Se folosesc diverse rezisten"e $i condensatoare de pe panoul logic. Pentru modul de lucru de monostabil cu declan$are pe front cresc!tor se folose$te schema din figura 3.#4. Realiza"i o schem! de monostabil retriggerabil $i verifica"i func"ionarea circuitului. Pentru generarea fronturilor de comand! se folosesc impulsuri de la generatorul de semnal.

54

3 CIRCUITE DE IMPULS

3.3 Probleme rezolvate


3.3.1 Se d! circuitul din figur! realizat cu por"i TTL standard. a) S! se explice func"ionarea circuitului #i s! se deseneze formele de und! n nodurile $, 2, 3 #i 4. b) S! se calculeze frecven"a de oscila"ie #i s! se explice de ce primul inversor din schem! trebuie s! aib! caracteristic! de transfer cu histerezis (trigger Schmitt). c) Exist! limit!ri n alegerea valorilor componentelor RC?

R C
$0n 300

Fig. 3.$6 Astabil cu inversoare


Rezolvare: a) Figura 5.2 reprezint! formele de und! rezultate prin simularea PSPICE:

Fig. 3.$7 Forma tensiunilor din cele 4 noduri ale circuitului

3.3 Probleme rezolvate

55

Este evident c! semnalul din nodul 2 este un semnal numeric. Celelalte sunt interpretate ca semnale analogice. Func"ionarea circuitului se bazeaz! pe nc!rcarea #i desc!rcarea condensatorului C prin rezisten"a R. Dac! V($) > 2V, atunci V(2) = 0, V(3) = $ #i V(4) = 0 #i condensatorul se ncarc! de la nodul 3 la nodul 4. Tensiunea pe C fiind de semn contrar, prin nc!rcarea condensatorului V($) scade pn! la atingerea pragului de 2V la care se produce comutarea: V(3) = 0 care produce o sc!dere instantanee a lui V($) cu circa 2,4V, V(4) = $ #i se reia nc!rcarea condensatorului de la nodul 4 la nodul 3. Tensiunea V($) ncepe s! creasc!, iar la atingerea pragului de 0,8V se produce o nou! comutare #i ciclul se reia. Modelul PSpice pentru inversorul TTL folose#te cele 2 praguri de 0,8V #i 2V pentru comutare. Palierele semnalelor V(3) #i V(4) nu sunt constante, datorit! varia"iilor de curent la nc!rcarea #i desc!rcarea condensatorului. b) Condensatorul se ncarc! prin rezisten"a R de la -0,4V la +0,8V #i se descarc! prin rezisten"a R de la +3,2V la +2V. Pentru calculul timpului de nc!rcare se particularizeaz! rela"ia: u( t ) = u( ) [u( ) u( 0) ] e
t RC

pentru condi"iile la limit!: u( ) = 2,4V , u( t ) = 0,8V , u( 0) = 0,4V . Se ob"ine:


u( ) u( t ) 2,4V 0,8V = 300 $0nF ln = $,678s u( ) u( 0) 2,4V ( 0,4V ) Pentru calculul timpului de desc!rcare, condi"iile la limit! sunt: u( t ) = 2V , u( 0) = 3,2V #i u( ) = 0V . Rezult! : u( ) u( t ) 2V t 2 = RC ln = 300 $0nF ln = $,4$0s u( ) u( 0) 3,2V t$ = RC ln

Perioada semnalului generat este T = t$ + t 2 = $,678s + $,4$0s 3,$s , care corespunde unei $ frecven"e f = = 322,5KHz . Perioada semnalelor ob"inute prin simulare PSPICE este T 3,5s , T corespunz!toare unei frecven"e de 285,7 KHz. Exist! o varia"ie lent! a semnalului V($) care poate produce oscila"ia inversorului conectat ntre nodurile $ #i 2. Pentru tensiuni de intrare cuprinse ntre pragurile de 0,8V #i 2V tranzistorii din etajul final sunt n regiunea activ! normal! #i apare o reac"ie pozitiv! (cre#te curentul de colector al lui T2, deci #i poten"ialul bazei lui T3, scade tensiunea de ie#ire, cre#te curentul de colector al lui T4, deci #i cel de baz! #i curentul de colector al lui T2 va cre#te #i mai mult). c) Condensatorul poate avea orice valoare, dar trebuie s! fie nepolarizat, ns! valoarea maxim! a rezisten"ei nu trebuie s! dep!#easc! n principiu 300 , pentru c! intervine curentul de intrare n poart! care afecteaz! marginea de zgomot (vezi problema $.3.$). V
.

3.3.2 S! se reprezinte formele de und! n timp #i s! se calculeze durata st!rii cvasistabile pentru monostabilul realizat cu por"i TTL din figura 3.$8.
In
$00n

Out

$
390

Out

Fig. 3.$8 Monostabil cu dou! por"i #I-NU n tehnologie TTL standard

56

3 CIRCUITE DE IMPULS

Rezolvare: Formele de und! ob"inute prin simulare PSPICE sunt date n figura 3.$9. Pentru a calcula durata impulsului generat folosim rela"ia u( t ) = u( ) [u( ) u( 0) ] e RC , unde: u( t ) = $,4V , u( ) u( t ) $,4V u( 0) = 2,4V #i u( ) = 0V . Rezult! : TM = RC ln = 390 $00 nF ln ( ) ( ) u u 0 2,4V 2$s , valoare foarte apropiat! de cea din figura 3.$9.
t

Fig. 3.$9 Formele de und! pentru circuitul din figura 3.$8

3.3.3 Se consider! astabilul realizat cu circuite CMOS din figura 3.20. Desena"i formele de und! n nodurile $, 2 #i 3 ale circuitului #i calcula"i frecven"a de oscila"ie.

C R $00K
$ 2

$0n

Out

Fig. 3.20 Astabil cu por"i CMOS


Rezolvare: Ca #i la por"ile TTL, modelele PSPICE pentru por"ile CMOS folosesc dou! praguri diferite pentru comutare: 30% #i 70% din valoarea tensiunii de alimentare. Din rela"ia cunoscut! rezult! $ $ f = = $,428 KHz . 0,7 RC 0,7 $00 K $0nF

Fig. 3.2$ Formele de und! pentru circuitul din figura 3.20

3.3 Probleme rezolvate

57

3.3.4 S! se reprezinte diagramele de timp pentru astabilul din figura 3.22. S! se calculeze frecven"a #i factorul de umplere pentru semnalul generat, dac!: a) se utilizeaz! o poart! %I-NU cu dou! intr!ri cu trigger Schmitt din familia TTL standard. Se cunosc: VOH = 3,6V , VOL = 0,2V , I IL R = 0,2V , V p$ = $,$V , V p 2 = $,9V , R = $K ; b) se utilizeaz! o poart! %I-NU cu trigger Schmitt din familia CMOS. Se cunosc: VDD = 5V , V p$ = 2,3V , V p 2 = 3,3V , I IL = I IH = 0 , R = $0K .
R

OUT
$0 nF

Fig. 3.22 Circuit astabil cu trigger Schmitt


Rezolvare: Func"ionarea circuitului este descris! de formele de und! din figura 3.23. Tensiunea pe condensator la momentul de timp t este:

, unde u() = VOH , u(0) = VP$ , iar u(t$ ) = VP 2 V V Rezult! de aici valoarea lui t$ : t$ = RC ln OH P$ . VOH VP 2 u(t ) = u() [u() u(0)] e

t RC

Pentru calculul lui t 2 , m!rimile devin: u() = VOL + I IL R , u(0) = VP 2 #i u(t 2 ) = VP$ V V I R Se ob"ine valoarea lui t 2 : t 2 = RC ln P 2 OL IL . VP$ VOL I IL R a) Dac! nlocuim acum numeric, cu valorile pentru TTL, ob"inem:
t$ = RC ln VOH VP$ 3,6 $,$ = $03 $0 8 ln 3,9s ; VOH VP 2 3,6 $,9

t 2 = RC ln

VP 2 VOL I IL R $,9 0,2 0,2 = $03 $08 ln 7,6s , VP$ VOL I IL R $,$ 0,2 0,2

deci f = 87 KHz, iar factorul de umplere este 0,34. b) Similar, nlocuind valorile pentru CMOS, se ob"ine t$ 4,6s , t 2 3,6s , deci frecven"a de $22 KHz #i un factor de umplere de 0,56.
VOUT VOH VOL 0 VC t$ t2

VP2 VP$ 0

Fig. 3.23 Circuit astabil cu trigger Schmitt

58

3 CIRCUITE DE IMPULS

3.3.5 S! se implementeze: a) un bistabil de tip D, folosind un bistabil de tip JK; b) un bistabil de tip JK, folosind un bistabil de tip D; Compara"i cele dou! solu"ii din punct de vedere al gradului de structurare.
Rezolvare:

a) Avem la dispozi"ie un bistabil de tip JK #i dorim s! realiz!m un circuit care s! aib! comportarea unui bistabil de tip D. Problema se reduce la sinteza unei structuri combina"ionale, conform schemei de mai jos:
J Q Q

Q Q

D CLK

CLC

CLK K

Fig. 3.24 Structura bistabilului de tip D Dac! noul circuit este superior structurat, atunci reac"ia care aduce la intrarea n CLC informa"ia asupra st!rii prezente a sistemului este necesar!. n caz contrar aceast! leg!tur! va dispare n procesul de minimizare a func"iilor J #i K.
D 0 0 $ $ Q 0 $ 0 $ Q+ 0 0 $ $ J 0 x $ x K x $ x 0 D D Q 0 $ Q x x J=D D D Q x x Q $ 0 K=D

Fig. 3.25 Sinteza bistabilului de tip D b) Avem la dispozi"ie un bistabil de tip D #i dorim s! realiz!m un circuit care s! aib! comportarea unui bistabil de tip JK.
D Q

J K CLK J 0 0 0 0 $ $ $ $ K 0 0 $ $ 0 0 $ $ Q 0 $ 0 $ 0 $ 0 $

Q Q

CLC
CLK Q

Q+ 0 $ 0 0 $ $ $ 0

D 0 $ 0 0 $ $ $ 0

Q 0 Q $

J $ $ 0 0 0 $ K K K

D = J.Q + K.Q

Fig. 5.3 Structura %i sinteza bistabilului de tip JK Bistabilul JK are un grad de structurare superior bistabilului D (con"ine o reac"ie n plus).

SISTEME SECVEN!IALE

Aplica!iile din acest capitol "i propun s# prezinte circuite secven!iale sincrone "i asincrone cu un nivel de structurare superior fa!# de cel al circuitelor prezentate n capitolul anterior. Pentru sinteza "i analiza acestor circuite exist# algoritmi, n timp ce un circuit de impuls este folosit atunci cnd este cazul, prin simpla introducere a lui n sistem.

4." Considera#ii teoretice


4."." Sisteme secven#iale asincrone
Circuitele prezentate n capitolul anterior erau circuite secven!iale, adic# circuite cu por!i, care con!ineau bucle de reac!ie, conexiuni de la ie"irile sistemului la intr#ri. Func!ionarea acestor circuite nu poate fi explicat# dect dac# !inem seama de timpii de propagare prin por!i, condi!ie ignorat# de obicei la sistemele combina!ionale. Modelul logic asincron, care este folosit pentru analiza "i sinteza acestor sisteme, echivaleaz# poarta logic# real# cu o poart# logic# ideal#(realizeaz# aceea"i func!ie logic#, dar timpul de propagare este nul) "i un element de ntrziere, a"a cum se poate vedea n figura 4.$. Func!ionarea latch-ului cu inversoare, prezentat n capitolul anterior, este u"or explicat# folosind modelul logic asincron. Bistabilele de tip D sau JK au n componen!# structuri de por!i cu numeroase bucle interne, deci blocuri asincrone, de"i pe ansamblu, ele au fost astfel construite nct momentul de timp la care se modific# ie"irile s# fie
.

poarta real# poarta ideal# + element de ntrziere


Fig. 4.$ Modelul logic asincron

60

4 SISTEME SECVEN!IALE

un front al semnalului de ceas. Dac# ns# bistabilele componente ale unui sistem secven!ial complex nu primesc acela"i semnal de ceas, deci nu comut# simultan, atunci spunem c# sistemul secven!ial este asincron. Un astfel de sistem asincron este num#r#torul asincron, sau divizorul de frecven!#. Bistabilele din num#r#toarele asincrone func!ioneaz# ntr-un singur fel, "i anume, ca divizoare de frecven!# prin 2. Prin urmare, bistabilele din structur#, fie c# sunt de tip D sau de tip JK, sunt transformate n bistabile de tip T, avnd intrarea de date T conectat# la $ logic. Schimbndu-"i starea pe fiecare front activ al ceasului, ele divizeaz# prin 2 frecven!a semnalului aplicat pe intrarea de ceas. Figura 4.2 reprezint# schema unui divizor de frecven!# de 4 bi!i realizat cu bistabile T. Dac# accept#m c# bistabilele comut# pe frontul descresc#tor al ceasului, atunci se ob!in formele de und# prezentate n figura 4.3. La scara de timp la care s-a f#cut simularea func!ion#rii nu se observ# nimic deosebit "i diagrama st#rilor pare a fi cea ideal#. Dac# privim ns# printr-o lup# de timp por!iunea selectat#, vom ob!ine formele de und# din figura 4.4. Frontul descresc#tor al semnalului CLK produce comutarea primului bistabil , iar ie"irea lui, notat# cu Q$ , se modific# cu o mic# ntrziere, dat# de timpul de propagare a informa!iei prin por!ile din structura bistabilului. Semnalul Q$ este ceasul pentru bistabilul 2, iar semnalul Q2 se modific# "i el cu o mic# ntrziere fa!# de Q$ , "i a"a mai departe. Deci pe lng# cele $6 st#ri permanente, exist# un num#r de st#ri tranzitorii.
$ T T CLK Q Q8 T CLK Q Q4 T CLK Q Q2 CLK

"
Q

CLK

Q$

Fig. 4.2 Divizor de frecven!" de 4 bi!i

Fig. 4.3 Forme de und" pentru divizorul de frecven!" de 4 bi!i

Fig. 4.4 Forme de und" v"zute printr-o lup" de timp

4." Considera#ii teoretice

6"

Avnd n vedere func!ionarea lor, analiza "i sinteza num#r#toarelor asincrone nu ridic# probleme deosebite. n schimb, analiza "i sinteza sistemelor asincrone cu por!i logice este dificil#, pentru c# timpul nu este discretizat ca la sistemele sincrone. Starea urm#toare nu apare dup# o perioad# de ceas, ci poate apare dup# un multiplu de %, % fiind timpul de propagare prin poart#. Circuitul din figura 4.5, de exemplu, poate fi analizat prin stabilirea num#rului minim de bucle. Considernd por!ile ideale "i singurele ntrzieri fiind introduse de cele 3 bucle ale latch-urilor S R , tabelul tranzi!iilor este cel al#turat circuitului din figur#. Tabelul con!ine curse(starea urm#toare difer# prin cel pu!in 2 bi!i fa!# de starea prezent#), dar ele nu sunt critice(cursa critic# apare dac# exist# posibilitatea ca st#rile urm#toare s# fie diferite, adic# s# avem o func!ionare imprevizibil#). Tabelul tranzi!iilor poate fi redus prin eliminarea st#rilor care nu sunt total stabile (nencercuite).
+ q$ q$ + q3 q3

q$ q2 q3
Q Q

CLK D

q + q +q + 00 0$0 0$$ 0$0 0$$ 0$0 0$$ 0$0 0$$ 0$


$ 2 3

$$

$0 000 000 000 000 $$$ $$$ $$$ $$$

CLK
q2

q+
2

000 00$ 0$0 0$$ $00 $0$ $$0 $$$

0$0 0$$ $$0 $$$ 0$0 0$$ $$0 $$$

000 000 $$0 $$$ $$$ $$$ $$$ $$$

Fig. 4.5 Structura unui bistabil de tip D #i tabelul tranzi!iilor Pentru sinteza unui sistem secven!ial asincron, codificarea st#rilor din tabelul redus este important#. Pentru eliminarea curselor critice, putem fi obliga!i s# introducem st#ri suplimentare. Exemplul din figurile 4.6 "i 4.7 elimin# complet cursele prin codificarea adiacent# a st#rilor ntre care au loc tranzi!ii.
P R q IDLE PLS RES q+ $$ 0$ IDLE IDLE IDLE RES RES RES

P R q
$0 PLS PLS RES Y 0 $ 0

00 IDLE PLS

q+ $$ 0$ IDLE RES RES RES IDLE RESA

$0 PLS PLS

Y 0 $

00 IDLE PLS IDLE

IDLE PLS RESA RES

_
IDLE

_
IDLE

_
RES

_
0

Fig. 4.6 Tabelul redus #i tabelul f"r" curse


P R

00 IDLE
q
2 Y

RES $0

0$

PLS

RESA $$

Fig. 4.7 Schema logic" a circuitului #i diagrama de adiacen!" a st"rilor

62

4 SISTEME SECVEN!IALE

4.".2 Sisteme secven#iale sincrone


Analiza "i sinteza sistemelor sincrone este mult mai comod# pentru proiectant, pentru c# putem ignora ntrzierile logicii combina!ionale, cu condi!ia ca duratele st#rilor, date de frecven!a ceasului, s# fie semnificativ mai mari dect ntrzierile prin por!i. Timpul se transform# astfel dintr-o m#rime continu# ntr-una discret#, perfect controlabil# prin semnalul de ceas aplicat sistemului. Sistemele secven!iale sincrone, ca "i cele asincrone de altfel, pot fi u"or tratate folosind teoria automatelor cu st#ri finite. Un automat cu st#ri finite se define"te formal prin cvintuplul A = ( X , Y , Q, , ) , unde entit#!ile componente au urm#toarea semnifica!ie:

X = {x$ , x2 ,..., xn } - mul!imea configura!iilor binare de intrare,


Y = { y$ , y2 ,..., yr } - mul!imea configura!iilor binare de ie"ire,
Q = q$ , q 2 ,..., q p

} - mul!imea configura!iilor binare de stare,

: X Q Q - func!ia de tranzi!ie a st#rilor, : X Q Y - func!ia de tranzi!ie a ie"irilor. Datorit# faptului c# mul!imile X , Y "i Q sunt finite, circuitul se nume"te automat cu st#ri finite. Spa!iul timpului nu apare explicit n descrierea de mai sus. El este discret "i este format din mul!imea numerelor ntregi care semnific# multiplul de T , unde T este perioada dup# care se comand# o nou# modificare n circuit. Func!iile de tranzi!ie se pot defini "i reprezenta prin tabele de tranzi!ii, grafuri, sau organigrame. Schema din figura 4.8 reprezint# un automat finit ale c#rui ie"iri apar cu ntrziere deoarece sunt trecute prin memorie. Ele pot fi ob!inute "i imediat, de la ie"irea CLC-ului.
X Q

CLC

CLK

MEMORIE
Y

Fig. 4.8 Structura general" a unui automat finit F#r# a fi absolut necesar#, aceast# separare n dou# blocuri func!ionale, logica combina!ional# "i blocul de memorare, este deosebit de util# n proiectare. Aceasta, deoarece blocul de memorare poate fi definit foarte simplu, ca un registru paralel cu un num#r suficient de bistabile, n func!ie de codificarea adoptat# pentru st#rile sistemului, iar blocul de prelucrare este format dintr-o logic# combina!ional# mai complex# "i mai greu de definit. Efortul de proiectare este orientat spre sinteza circuitului combina!ional. Problema fundamental# care se pune la sinteza automatelor finite este o problem# de optimizare. Proiectantul nu poate ac!iona asupra num#rului de intr#ri "i ie"iri din sistem, deoarece ele sunt date prin specifica!iile de proiectare, dar are deplina libertate de a ac!iona asupra mul!imii st#rilor sistemului. Prin reducerea num#rului de st#ri scade num#rul
.

4." Considera#ii teoretice


0

63
x
$0

A
Y = " Y Y $ " "= = = $"" " Y =00 Y2 Y2=0 2=

Q $Q 2

00

Q
y$ y2

0$

B
$ 0

00

0 0"

"

""

B
Y" = 0 Y2 = "

CLK X Q"

C
0

Y" = 0 Y2 = 0

"

Q2 Y" Y2

Fig. 4.9 Exemplu de automat finit #i cteva moduri de reprezentare elementelor de memorie, deci a bistabilelor din structur#, "i se reduce num#rul func!iilor de excita!ie, cu alte cuvinte complexitatea circuitului combina!ional. Poate c# cea mai important# chestiune este codificarea st#rilor r#mase dup# reducere. Dac# variabilele de intrare sunt sincrone, adic# se modific# n func!ie de semnalul de ceas, atunci o codificare care respect# anumite principii poate genera un circuit combina!ional foarte apropiat de optim, n timp ce o codificare ntmpl#toare poate genera un circuit mult prea complicat. Dar n orice situa!ie, circuitul ob!inut va func!iona corect. Dac# ns# variabilele de intrare sunt asincrone, adic# se pot modifica oricnd n timp, apare din nou problema ntlnit# la cursele critice, iar rezolvarea ei se face prin alocarea unor coduri adiacente st#rilor care urmeaz# test#rii variabilei asincrone (principiul dependen!ei reduse de o variabil#). La nevoie, se pot introduce "i aici st#ri suplimentare. Sistemul din figura 4.9 are o singur# intrare notat# cu x, s# presupunem deocamdat# c# este sincron#, dou# ie"iri notate cu y$ "i y 2 , "i un num#r de trei st#ri notate cu A, B "i C. O codificare binar# minimal# a st#rilor se poate face folosind numai 2 bi!i, adic# dou# circuite bistabile, avnd ie"irile Q$ "i Q2 .

4.".2 Hazard
Prin hazard sau risc, n!elegem posibilitatea de modificare nea"teptat# a ie"irii, pentru o durat# foarte mic# de timp, datorit# ntrzierilor prin por!i. El poate fi static, dac# are loc o singur# comutare a ie"irii la modificarea unei variabile, sau dinamic, dac# apar comut#ri multiple datorit# unei singure tranzi!ii a unei intr#ri. Structurile combina!ionale cu dou# nivele de logic#, care pot fi implementate ntr-o structur# programabil# PLD, nu genereaz# hazard dinamic. n sistemele secven!iale sincrone nu se pune de obicei problema analizei hazardului, pentru c# frontul activ al ceasului se aplic# dup# ce logica combina!ional# a livrat valorile logice a"teptate ale func!iilor de excita!ie. n sistemele asincrone ns#, aceast# analiz# a hazardului "i g#sirea unor modalit#!i de eliminare a lui, este absolut necesar#.

64

4 SISTEME SECVEN!IALE

4.2 Demonstra"ii practice


Considera!iile asupra aliment"rii panoului logic, formulate n primul capitol, r"mn valabile #i aici. Panoul logic con!ine circuitele integrate MMC 40#3 #i MMC 4027, studiate n capitolul anterior. Pentru implementarea automatului finit prezentat mai sus, se folose#te un panou care con!ine, conform figurii 4.$4, 4 circuite integrate CMOS: MMC 40#3, MMC 4052(2 buc.) #i MMC 40##. Circuitul MMC 4052 con!ine cte 2 multiplexoare, dar foaia lui de catalog nu a mai fost dat", deoarece conexiunile conform schemei din figur" sunt deja realizate. Por!ile %I-NU ale circuitului MMC 40$$ sunt folosite pentru generarea semnalului de CLK, prin ap"sarea butonului cu revenire de pe panou. Bi!ii de stare #i de ie#ire sunt vizualiza!i prin intermediul a 4 LED-uri. Starea $ logic este semnalizat" prin aprinderea LED-ului corespunz"tor, iar cea de 0 logic prin stingerea lui. Montajul se poate alimenta cu orice tensiune continu$, cuprins$ ntre 5 %i #5 Vcc. Un alt panou logic, destinat implement"rii aceluia#i automat cu bistabile de tip D #i memorie, este implementat dup" schema din figura 4.$6. Panoul con!ine dou" circuite de memorie: 82S#47, care este o memorie PROM #i MMN 2##4, o memorie RAM static". Placa mai con!ine circuitele MMC 40#3, MMC 40## #i MMC 4066, ultimul avnd n structur" 4 comutatoare CMOS necesare pentru nscrierea, respectiv citirea datelor din memoria RAM. Vizualizarea st"rii #i a ie#irii se face tot cu ajutorul a 4 LED-uri. Despre memorii vom discuta n capitolul urm"tor, dar circuitul este deja cablat #i utilizarea lui aici se poate face f"r" a avea prea multe cuno#tin!e despre memorii. Montajul se alimenteaz$ cu tensiunea de 5 Vcc, datorit" prezen!ei circuitelor de memorie. De fapt, tensiunea sursei este de circa 5,6 - 5,7 V din cauza diodei serie de protec!ie la alimentare invers". Din acest motiv se m$soar$ cu voltmetrul tensiunea de 5 Vcc ntre catodul diodei de protec"ie %i mas$. 4.2.# Se implementeaz" num"r"torul asincron din figura 4.$, folosind bistabile de tip D. Rezult" circuitul din figura 4.$0. Se verific" func!ionarea montajului. Se pot vizualiza st"rile tranzitorii? Modifica!i circuitul pentru a ob!ine un num"r"tor asincron cu $6 st"ri care s" numere n sens descresc"tor. Repeta!i implement"rile folosind bistabile de tip JK #i verifica!i func!ionarea corect" a circuitelor.
D $ Q Q$ D 2 Q CLK Q Q Q2 D 3 CLK Q Q Q3 D 4 CLK Q Q Q4

CLK

CLK

Fig. 4.$0 Schema logic! a divizorului de frecven"! cu bistabile de tip D

Fig. 4.$$ Forme de und! pentru circuitul din figura 4.#0

4.2 Demonstra"ii practice

65

4.2.2 Se realizeaz" num"r"torul sincron din figura 4.$2, care realizeaz" tranzi!iile Q$Q2 = 00 $0 $$ 0$ 00 . Sinteza circutului se face cu ajutorul tabelului tranzi!iilor din figur". Folosind tabelul tranzi!iilor pentru bistabilul de tip JK se deduc func!iile de excita!ie pentru fiecare dintre cele dou" bistabile. De ce spunem c" este un num"r"tor sincron? Reface!i circuitul pentru a modifica sensul de num"rare #i verifica!i func!ionarea lui. Pute!i construi acela#i num"r"tor, dar folosind bistabile de tip D? Care dintre cele dou" solu!ii este mai avantajoas" #i de ce?

Q$ 0 $ $ 0

Q2 Q$ 0 $ 0 $ $ 0 $ 0

Q2 0 $ $ 0

J$ $ x x 0
J Q Q

K$ J2 x 0 0 $ $ x x x
Q$

K2 x x 0 $
J CLK K Q Q

J$ = Q 2 J2 = Q $
Q2

K$ = Q 2 K2 = Q$

CLK

CLK K

Fig. 4.$2 Schema logic! a unui num!r!tor sincron cu bistabile de tip JK

Fig. 4.$3 Forme de und! pentru circuitul din figura 4.#2

4.2.3 Se folose#te panoul logic cu bistabile D #i multiplexoare pentru implementarea automatului finit reprezentat n figura 4.9. Schema logic" a circuitului este dat" n figura 4.$4. Se verific" func!ionarea corect" a montajului prin urm"rirea tuturor tranzi!iilor posibile din organigram" sau tabel. Figura 4.$5 reprezint" tabelul tranzi!iilor, tabel ce a fost construit pe baza tranzi!iilor din organigram" #i care este foarte util pentru sinteza schemei logice a circuitului. Simbolul d poate fi 0 sau $ logic(don' t care). S-a folosit aceast" nota!ie pentru a evita confuzia cu semnalul de intrare, notat aici cu X. Implementarea memoriei se face cu doi bistabili de tip D care comut" sincron. Circuitul logic combina!ional are intr"rile X, Q $ #i + Q 2 #i trebuie s" genereze la ie#ire func!iile binare Q $ = D $ #i Q + 2 = D 2 . Nu este necesar" minimizarea func!iilor binare D $ #i D 2 pentru c" to!i termenii canonici sunt disponibili la ie#irile multiplexoarelor. Reac!ia de la ie#irea memoriei la intrarea n CLC se realizeaz" prin conectarea ie#irilor Q $ #i Q 2 la intr"rile de selec!ie ale multiplexoarelor. Conexiunile la intr"rile multiplexoarelor se realizeaz" n func!ie de alegerea conexiunilor de reac!ie.

66
Q# X 0 d X 0 2 3 # 2
2

4 SISTEME SECVEN!IALE
# w
0

0 # 2

# MUX D CLK Q

0 d 0

MUX
w 2
0

Y#

3 # 2

# 0 d #

0 # 2 3

0 0 D CLK Q2 CLK Q d #

0 2 # 2 3

Y2 w

MUX

MUX

Fig. 4.$4 Schema logic! a automatului implementat cu multiplexoare


X 0 $ d 0 $ Q$ 0 0 0 $ $ Q2 0 0 $ $ $ + Q+ Q$ 2 0 $ $ $ 0 0 0 $ $ $ Y$ $ $ 0 0 0 Y2 0 0 0 $ $

Fig. 4.$5 Tabelul tranzi"iilor Dac" privim tabelul tranzi!iilor observ"m c" pentru starea prezent" A, codificat" prin
Q $ Q 2 = 00 , starea urm"toare este fie B(codul Q $Q 2 = $$ ), fie C(codul Q $Q 2 = 0$ ). Decizia

este luat" n func!ie de valoarea logic" a variabilei de intrare X. Se vede c" pentru st"rile B #i C valoarea lui Q 2 este o constant", Q 2 = $ , iar valoarea lui Q $ este dependent" de valoarea lui X : pentru X = 0 , Q $ = 0 , iar pentru X = $ , Q $ = $ . Deci putem spune c" Q $ = X . Celelalte dou" multiplexoare au prima intrare(notat" cu 0) conectat" la valorile logice ale ie#irilor n starea prezent" A, adic" Y$ = $ #i Y2 = 0 . Acela#i ra!ionament se face #i pentru celelalte st"ri. V
.

4.2.4 Se folose#te panoul logic cu bistabile D #i memorii. Cele dou" circuite integrate, memoria PROM 82S#47 #i memoria RAM MMN 2##4, sunt destinate implement"rii logicii combina!ionale a automatului finit. Blocul de memorie din figura 4.8 este un registru destinat memor"rii st"rii curente #i este realizat, ca #i pn" acum, cu cele dou" bistabile de tip D. Memoria de tip ROM este un circuit combina!ional, care furnizeaz" la ie#iri informa!ia con!inut" n harta memoriei (tabelul din figura 4.$7), n timp ce memoria RAM este un emulator de ROM, adic" un circuit care simuleaz" prezen!a unei memorii ROM n circuit. Memoria RAM nu con!ine o informa!ie util" la cuplarea aliment"rii #i de aceea n primul rnd trebuie s" nscriem datele din tabel n memorie (vezi subcapitolul 5.$).

4.2 Demonstra"ii practice


A9 A8 A7 A6 A5 A4 A3 X A2 A# A0 O4 Y2 CLK O# D CLK Q2 Q Q#

67

O2

PROM
O3 Y#

D CLK

Fig. 4.$6 Schema logic! a automatului implementat cu memorie PROM


A2 X 0 0 0 0 $ $ $ $ A$ Q$ 0 0 $ $ 0 0 $ $ A0 Q2 0 $ 0 $ 0 $ 0 $ O$ O2 + Q+ Q$ 2 0 $ 0 0 d d 0 $ $ $ 0 0 d d $ $ O3 Y$ $ 0 d 0 $ 0 d 0 O4 Y2 0 0 d $ 0 0 d $

Fig. 4.$7 Harta memoriei pentru schema logic! din figura 4.#6 Circuitul 82S$47 este realizat n tehnologie Schottky TTL #i con!ine 5$2 cuvinte de cte 8 bi!i. Memoria RAM MMN 2$$4 este realizat" n tehnologie NMOS #i con!ine $024 cuvinte de cte 4 bi!i. Memoria PROM din figura 4.$6 este un circuit generic de $024 cuvinte ($0 linii de adresare A 9 ...A 0 , care sunt intr"ri) de cte 4 bi!i (4 linii de date O 4 ...O$ , care sunt ie#iri). Automatul conceput folose#te numai 6 dintre cele $024 cuvinte, conform tabelului de tranzi!ii din figur". Verificarea func!ion"rii circuitului cu memorie PROM se face imediat, prin simpla verificare a tranzi!iilor din tabel. Comenta!i cuplajul TTL CMOS. Pentru circuitul cu memorie RAM, trebuie s" introducem de la nceput datele necesare n memorie. n acest scop, pentru a asigura adresa 0 de start a memoriei la cuplarea aliment"rii (A2 = A$ = A0 = 0), comutatorul S2 are prghia nspre comutatoarele S$ #i S3(n jos), iar comutatorul S3 n dreapta (vezi fig. 4.$8). Intrarea X este conectat" la mas". Cele 4 comutatoare notate cu S$ sunt destinate introducerii celor 4 bi!i pe cuvnt n memorie. Dac" prghia este n jos, bitul corespunz"tor este pe 0 logic, iar dac" este n sus, pe $ logic. Dup" fixarea cuvntului dorit prin pozi!ionarea celor 4 comutatoare, acesta este introdus n memorie prin ridicarea #i coborrea napoi a prghiei comutatorului S2 (activarea #i dezactivarea semnalului WE - WRITE ENABLE ). Pe urm" se modific" adresa pentru introducerea unui nou cuvnt prin ac!ionarea n cele dou" sensuri a comutatorului S3 (pentru a genera cele 2 fronturi ale semnalului de ceas CLK - CLOCK ). Pentru introducerea datelor n memorie urm"rim harta memoriei din figura 4.$7. Dac" n locul comutatoarelor S2 #i S3 exist" butoane cu revenire, atunci ele sunt ac!ionate o singur" dat".
.

4.3 Probleme rezolvate

69

4.2.6 Ce nseamn! codificare care urm!re"te principiul dependen#ei reduse fa#! de o variabil!? n cazul nostru variabila X poate fi asincron!? Alege#i o alt! codificare a st!rilor "i ar!ta#i sub form! tabelar! harta memoriei precum "i opera#iunile necesare pentru nscrierea datelor n memorie. Verifica#i func#ionarea circuitului ob#inut.
.

4.3 Probleme rezolvate


4.3.1 S! se analizeze circuitul din figura 4.$9 "i s! se reprezinte formele de und! "i diagrama st!rilor. S! se stabileasc! num!rul de st!ri netranzitorii P "i raportul de divizare N.
Q$ $ $ Q 2 = out

J CLK K

Q Q

J CLK K

Q Q

CLK

Fig. 4.$9 Schema logic! a unui divizor de frecven"! realizat cu bistabile de tip JK
Rezolvare:

Fig. 4.20 Forme de und! pentru circuitul din figura 4.#9 Analiza circuitului se face prin desenarea formelor de und!, #innd seam! de ntrzierile prin por#i "i bistabile. Figura 4.20 prezint! analiza PSpice a circuitului. St!rile tranzitorii se datoreaz! timpilor de propagare prin bistabile. Diagrama st!rilor pentru circuitul analizat este: Q$Q2 = 00 $0 $$ 0$ $$ $0 00 , unde st!rile tranzitorii sunt subliniate. Rezult! imediat P = 4 "i N = 3 . V
.

4.3.2 S! se proiecteze un circuit basculant cu 3 bucle, unde % reprezint! ntrzierea proprie circuitelor logice "i traseelor de conexiune. n repaus, intr!rile I $ , I 2 "i I 3 sunt n 0 logic. Atunci cnd intrarea I i trece n $ logic, ie"irea y i trece n $ logic dac! era n 0 logic,
.

I$ I2 I3

CLC

y$ y2 y3

Fig. 4.2$ Un circuit secven"ial asincron

70

4 SISTEME SECVEN!IALE

sau "i p!streaz! starea dac! era n $ logic. La revenirea intr!rii I i n 0 logic, ie"irile y i "i p!streaz! vechea valoare. Admitem c! se modific! o singur! intrare, iar comenzile se exclud reciproc, adic! I $ I 2 = I $ I 3 = I 2 I 3 = I $ I 2 I 3 = 0 .
Rezolvare: n conformitate cu cerin#ele problemei, formele de und! ar putea fi cele din figura 4.22. Dup! eviden#ierea st!rilor distincte ale sistemului se construie"te tabelul tranzi#iilor "i al ie"irilor din figura 4.23, valorile din tabel fiind starea urm!toare "i ie"irile Q + y$ y2 y3 :

I$ I2 I3 y$ y2 y3 0 $ 0 2 3 2 3 4 5 4 5 $ 0
Fig. 4.22 St!rile sistemului deduse din formele de und!
Q +, y$ y2 y3 Q 0 $ 2 3 4 5 I$I2 I3 000 0,$00 0,$00 3,0$0 3,0$0 5,00$ 00$ 4,00$ 4,00$ 4,00$ 4,00$ 4,00$ 0$0 2,0$0 2,0$0 2,0$0 2,0$0 2,0$0 0$$ $00 $,$00 $,$00 $,$00 $,$00 $,$00 $,$00 $0$ $$0 $$$ -

5,00$ 4,00$ 2,0$0

Fig. 4.23 Tabelul tranzi"iilor $i al ie$irilor Cele 6 st!ri ale sistemului sunt compatibile dou! cte dou!, deci avem n final 3 st!ri distincte. Pentru prevenirea hazardului "i a curselor critice, dou! st!ri succesive trebuie s! aib! coduri adiacente(care difer! printr-un singur bit). Cum ntre fiecare dintre cele 3 st!ri exist! tranzi#ii bilaterale, o codificare binar! minimal! cu 2 bi#i nu este posibil!. Folosim pentru fiecare stare un cod de 3 bi#i, astfel nct s! existe o coresponden#! direct! ntre variabilele de stare Q$ , Q2 "i Q3 "i ie"irile sistemului y$ , y2 "i respectiv y3 : Qi = yi , unde i = $, 2 "i 3. Atribuim deci, conform formelor de und! stabilite n figura 4.22, st!rilor 0 "i $ codul $00, st!rilor 2 "i 3 codul 0$0, iar st!rilor 4 "i 5 codul 00$. Pentru a respecta "i condi#iile de adiacen#!, mai introducem starea 000, care este atins! la fiecare tranzi#ie pentru foarte scurt timp(stare tranzitorie). Tabelul tranzi#iilor st!rilor sau al ie"irilor este reprezentat n figura 4.24. Folosind diagrame Veitch-Karnaugh pentru 6 variabile, se minimizeaz! func#iile Qi+ , i = $, 2 "i 3, iar cu ajutorul ecua#iilor ob#inute se construie"te schema logic! a circuitului, care este prezentat! n figura 4.25. Aici ntrzierile ntre st!ri nu sunt date de un ceas extern, ci numai de timpii de propagare prin por#i.

4.3 Probleme rezolvate


I$I2 I3 Q $Q 2Q 3 000 00$ 0$0 0$$ $00 $0$ $$0 $$$ Q3 I2 I2 d 0 d 0 I$ + + + Q $Q 2Q 3 000 00$ 0$0 $00 Q3 0 0 d 0 d d d d d 0 d d d d d d d d d d d d d d d d d d d d d d $ $ d d 0 d d d d d d d 0 d d d Q $ Q 2 = $0 00$ 00$ 00$ 000 000 0$0 0$0 000 0$0 000 0$$ $00 $00 000 000 $00 $0$ $$0 $$$ -

71

$ 0 0 I3 d d 0 I3 d d d d d 0 I3 I$ I$

Q $ Q 2 = 00

Q $ Q 2 = 0$

Q $ Q 2 = $$

Fig. 4.24 Tabelul tranzi"iilor $i diagramele Karnaugh pentru func"ia Q$+ Dac! grup!m zerourile din diagrama prezentat! n figura de mai sus, ob#inem expresia lui Q : Q$+ = I 2 + I 3 + Q2 + Q3 , sau Q$+ = I 2 + I 3 + Q2 + Q3 . n mod asem!n!tor rezult! "i celelalte
+ $

ecua#ii: Q2+ = I $ + I 3 + Q$ + Q3 "i Q3+ = I $ + I 2 + Q$ + Q2 .


Q $ = y$ I$ I2 I3 Q 2 = y2 Q 3 = y3
Fig. 4.25 Schema logic! a circuitului

Fig. 4.26 Formele de und! ob"inute prin simulare PSPICE

72

4 SISTEME SECVEN!IALE

Figura 4.26 verific! corectitudinea sintezei prin analiz!, folosind o simulare PSPICE. Formele de und! coincid cu cele din figura 4.22, cu excep#ia st!rii ini#iale, n care toate intr!rile sunt la 0 logic. Ie"irile circuitului au o valoare logic! necunoscut!, pentru c! circuitul nu a fost ini#ializat. n circuitele reale exist! cu siguran#! la ie"iri una dintre cele dou! valori logice posibile, 0 sau $. Aceea"i problem! apare "i la sistemele secven#iale sincrone cu bistabile integrate.
.

4.3.3 S! se analizeze sistemul secven#ial din figura 4.27, reprezentnd cronograma, tabelul tranzi#iilor "i diagrama st!rilor acestuia. Ar!ta#i c! circuitul este un oscilator "i stabili#i perioada de oscila#ie.

Q1

Q2

Q3

Fig. 4.27 Schema logic! a circuitului


Rezolvare: Dac! #inem seama de ntrzierile prin por#i, rezult! formele de und! din figura 4.28. Semnalele la ie"irile por#ilor sunt periodice, cu perioada T = 2 ($ + 2 + 3 ) . Tabelul tranzi#iilor "i diagrama st!rilor sunt prezentate n figura 4.29.

Q$ Q2 Q3
$ 2 3 $ 2 3

Fig. 4.28 Cronograma circuitului din figura 4.27

Q $Q 2Q 3 000 00$ 0$0 0$$ $00 $0$ $$0 $$$

+ Q+ Q Q+ $ 2 3 0$$ $$0 0$0 $0$ 00$ $00 -

Q$Q2Q3

00$

00$

00$

00$

00$

00$

Fig. 4.29 Tabelul tranzi"iilor $i diagrama st!rilor

4.3.4 S! se proiecteze un bistabil D cu basculare dubl! pe front, respectiv care basculeaz! pe ambele fronturi ale semnalului de ceas.

4.3 Probleme rezolvate Rezolvare:

73

Circuitul c!utat este un sistem secven#ial asincron, implementat cu por#i, care trebuie s! basculeze ca un bistabil D la aplicarea unui front cresc!tor, sau descresc!tor, pe intrarea de ceas. Not!m cu C intrarea de ceas "i cu D intrarea de date, iar cu Q ie"irea. Ca orice bistabil, trebuie s! aib! "i o ie"ire Q, dar deocamdat! ea nu ne preocup!, pentru c! o putem ob#ine cu un simplu inversor de la ie"irea Q. Formele de und! care descriu func#ionarea circuitului sunt date n figur!.

D C Q $ 2 3 4 $ 5 $ 5 6 7 8 7 9 5
Fig. 4.30 Formele de und! $i st!rile sistemului
Q +, y 0$ $$ 5,0 4,$ 4,$ 5,0 5,0 3,$ 3,$ 6,0 6,0 8,$ 8,$ -

Q $ 2 3 4 5 6 7 8 9

D C

00 $,0 $,0 $,0 9,$

$0 2,0 2,0 7,$ 7,$ 7,$ -

Fig. 4.3$ Tabelul tranzi"iilor $i al ie$irii Tabelul tranzi#iilor din figura 4.3$ sugereaz! c! sistemul are 4 st!ri distincte. Respectnd condi#ia ca dou! st!ri ntre care au loc tranzi#ii s! aib! coduri adiacente, alegem urm!toarele coduri binare: st!rile compatibile $ "i 2 primesc codul 00, st!rile compatibile 3 "i 4, codul $0, st!rile compatibile 5 "i 6, codul 0$, iar st!rile compatibile 7, 8 "i 9 primesc codul r!mas $$. Evident c! sunt posibile "i alte codific!ri binare. Cu aceste coduri, rezult! tabelul redus al tranzi#iilor din figura 4.32. Se descompune n 3 + "i Q3+ . diagrame Veitch-Karnaugh "i se deduc expresiile minime pentru func#iile Q$+ , Q2
DC Q$ Q2 00 0$ $$ $0 + Q+ $ Q2 , y 00 00,0 00,0 $$,$ 00,0 0$ 0$,0 0$,0 0$,0 $0,$ $$ $0,$ 0$,0 $$,$ $0,$ $0 00,0 $$,$ $$,$ -

Fig. 4.32 Tabelul redus al tranzi"iilor $i codificarea st!rilor

74

4 SISTEME SECVEN!IALE

Rezult! urm!toarele ecua#ii: Q$+ = D Q$ + C Q$ Q2 + C D Q2 + C Q$ Q2 + C D Q2 + Q2 = D Q2 + Q$ Q2 + C D Q$ y = Q$+ Dac! implement!m acum sistemul folosind numai dou! nivele de logic! (por#i &I "i por#i SAU), ob#inem un circuit care con#ine $4 por#i logice, iar analiza circuitului prin simulare PSpice genereaz! formele de und! din figura 4.33. Verifica#i dac! circuitul func#ioneaz! corect "i comenta#i apari#ia spike-ului la momentul de $3s pe traseul lui Q2 . Ce se ntmpl! dac! dorim s! folosim un circuit cu num!r mai mic de por#i? Ecua#iile de mai sus se pot transforma a"a cum se vede mai jos "i rezult! un circuit care con#ine numai $0 por#i logice. Verifica#i prin simulare PSPICE func#ionarea circuitului "i comenta#i rezultatele ob#inute. Q$+ = D Q$ + (C Q2 ) (D + Q$ ) + Q2 = (D + Q$ ) Q2 + C D Q$ y = Q$+

Fig. 4.33 Formele de und! ob"inute prin simulare PSPICE

4.3.5 S! se proiecteze un sistem numeric care s! asigure func#ionarea automat! a barierelor la o trecere la nivel peste calea ferat!. Sistemul are 2 intr!ri, notate cu x$ "i x 2 , date de st!rile unor contacte amplasate de o parte "i de alta a "oselei. Ie"irea y comand! nchiderea barierelor.
Rezolvare: Avem de proiectat un sistem sincron cu comportament asincron, datorit! intr!rilor, care se pot modifica n orice moment de timp. Frecven#a semnalului de ceas CLOCK, este mult mai mare dect rata de modificare a intr!rilor. Presupunem c! atunci cnd contactele sunt nchise(trece trenul) avem $ logic pe intr!ri, iar comanda de nchidere a barierelor se d! pentru $ logic la ie"ire. St!rile sistemului au fost marcate direct pe formele de und! rezultate prin simulare PSPICE din figura 4.34, unde s-au considerat trenuri scurte sau lungi, care vin dintr-o parte sau cealalt! a barierei.

Fig. 4.34 Sistemul are 9 st!ri distincte, numerotate de la 0 la 8

4.3 Probleme rezolvate

75
Q +, y $$ 7,$ 8,$ 7,$ 8,$ $0 $,$ $,$ 6,$ 6,$ 6,$ x$x2 Q 0 $= 2 = 7 3=6 4 = 5= 8 00 0,0 2,$ 0,0 5,$ 0$ 4,$ 3,$ 3,$ 4,$ $$ 7,$ 8,$ $0 $,$ $,$ 6,$ 6,$

Q +, y Q 0 $ 2 3 4 5 6 7 8 x$x2 00 0,0 2,$ 2,$ 0,0 5,$ 5,$ 0,0 0$ 4,$ 3,$ 3,$ 4,$ 3,$ -

Codificarea binar! a st!rilor: 0

00 , $ = 2 = 7

0$, 3 = 6

$$, 4 = 5 = 8

$0

Fig. 4.35 Tabelul tranzi"iilor. Reducerea $i codificarea st!rilor Dup! reducerea st!rilor r!mn 4 st!ri distincte, care sunt codificate a"a cum se arat! n figura 4.35. Se minimizeaz! func#iile de excita#ie "i ie"irea, rezultnd ecua#iile care permit implementarea circuitului cu bistabile de tip D "i por#i logice: D$ = x$ x 2 + x$Q$ + Q$Q2 ,
D2 = x$ x 2 + x 2 Q2 + Q$ Q2 , "i

y = Q$ + Q2 .

Ar putea exista probleme n func#ionare, dac! ne uit!m la tabelul tranzi#iilor "i la codurile alese? Observ!m c! exist! o situa#ie n care se face o tranzi#ie de la o stare la alta, de"i cele dou! st!ri nu au coduri adiacente. Este aceasta o problem! real! "i dac! da, atunci cum ar putea fi V rezolvat!?

4.3.6 Un sistem secven#ial are 2 intr!ri "i o ie"ire care detecteaz! orice secven#! de 4 st!ri succesive pentru care cele dou! intr!ri sunt identice. La detectarea acestei secven#e ie"irea cap!t! valoarea logic! $ att timp ct intr!rile sunt identice. S! se proiecteze sistemul.
Rezolvare: Avem de proiectat un sistem sincron cu comportament sincron, deoarece modificarea intr!rilor este dat! de semnalul de ceas. St!rile sistemului au fost marcate direct pe formele de und! rezultate prin simulare PSPICE din figura 4.36. Se observ! din tabelul tranzi#iilor dat n figura 4.37 c! sistemul are 4 st!ri distincte. Codificarea propus! a st!rilor genereaz! urm!toarele expresii pentru func#iile de excita#ie "i ie"ire: D$ = x$ x 2 ( Q$ + Q2 ) , D2 = x$ x 2 Q$ "i y = x$ x 2 Q$ Q2 . Problema se putea rezolva mai simplu, dac! observam de la nceput c! x$ = x 2 nseamn!
x$ x 2 = $ "i ob#ineam un sistem cu o singur! intrare x = x$ x 2 .

Fig. 4.36 Sistemul are 5 st!ri distincte, numerotate de la # la 5

76
Q +, y Q $ 2 3 4 5 x$x2 00 2,0 3,0 4,0 5,$ 5,$ 0$ $,0 $,0 $,0 $,0 $,0 $$ 2,0 3,0 4,0 5,$ 5,$ $0 $,0 $,0 $,0 $,0 $,0

4 SISTEME SECVEN!IALE

Sistemul are 4 st!ri distincte. Alegem urm!toarele coduri binare $ 00 2 0$ 3 $$ $0 4=5

Fig. 4.37 Tabelul tranzi"iilor. Reducerea $i codificarea st!rilor

4.3.7 Se consider! automatul finit descris de organigrama din figur!. S! se implementeze circuitul folosind bistabile de tip D "i avnd: a) num!r minim de por#i b) multiplexoare cu 4 c!i de intrare c) memorie ROM de 32 cuvinte a cte 4 bi#i d) un circuit combina#ional format din memorie ROM de 4 cuvinte a cte 4 bi#i "i multiplexoare. Reprezenta#i harta memoriei.

A
0

Q1Q2 00

X$

B
0

01

11

C
10

X2

D
X4
0

X3

Fig. 4.38 Organigrama care descrie func"ionarea automatului finit


Rezolvare:

Construim tabelul tranzi#iilor urm!rind organigrama. Sistemul are 2 bistabile "i 4 intr!ri, al c!ror sincronism cu ceasul nu ne preocup!, codurile st!rilor fiind deja date. Oricum, dac! variabilele X$ "i X3 pot fi "i asincrone, variabilele X2 "i X4 sunt obligatoriu sincrone.

X$ X2 X3 X4 x x x 0 x x x $ x 0 x x x $ x x x x 0 x x x $ x x x x 0 x x x $

Q$ 0 0 0 0 $ $ $ $

Q2 0 0 $ $ $ $ 0 0

+ Q+ Q$ 2 0 0 0 $ $ $ 0 0 0 0 $ 0 0 0 $ $

Fig. 4.39 Tabelul tranzi"iilor pentru organigrama din figura 4.38

4.3 Probleme rezolvate

77

+ a) Pentru implementarea cu por#i este necesar! minimizarea func#iilor binare Q $ = D $ "i + Q 2 = D 2 . Folosim diagramele Veitch-Karnaugh condensate. b) Urm!rind tabelul tranzi#iilor se poate face u"or implementarea func#iilor cu multiplexoare, la fel ca n exemplul prezentat la punctul 4.2.3.

Q$ Q$ Q 2 0 x4 Q 2 x2 x3 D$

Q$ Q$ Q 2 x$ x 4 Q 2 x2 0 D2

0 x2 x 4 x3 Q$ Q2
2$ 20 0 $ W 2 3

x$ x 2 x 4 0 Q$ Q2
2$ 20 0 $ W 2 3

MUX D$

MUX D2

b
Fig. 4.40 Solu"iile problemei pentru punctele a $i b

c) Cele 6 variabile necesit! folosirea unui num!r de 2 cipuri de memorie ROM de 32 cuvinte (2 5 ) , avnd ie"iri cu 3 st!ri (figura 4.4$.a). Variabila suplimentar!, aici x$ , selecteaz! citirea datelor numai de la circuitul selectat. Se poate utiliza "i un singur circuit de memorie de 32 cuvinte a cte 4 bi#i "i dou! multiplexoare cu cte 2 intr!ri. Desena#i schema logic! "i compara#i cele dou! implement!ri propuse. d) O alt! solu#ie de implementare cu memorie este dat! n figura 4.4$.b. Orice solu#ie care folose"te un cip de memorie ROM trebuie s! aib! "i harta memoriei, care indic! con#inutul memoriei ROM. Deci solu#ia din figura 4.4$.b este complet!. Este evident c! toate aceste solu#ii implementeaz! numai logica combina#ional! a automatului finit. Se vede c! cele dou! bistabile de tip D nu sunt reprezentate n scheme.
x2 x3 x4 Q$ Q2 x$
A4 A3 A2 A$ A0 OE O0 O$ O2 O3 A4 A3 A2 A$ A0 OE O0

ROM

O$ O2 O3

D$ D2

x$ x 2 x 4 x 3 Q$ Q2 Q$ Q2
A$ O0 2$ 20 0 $ W 0 $ 0 $ 2 3

MUX

ROM
A0 OE

O$ O2 O3

MUX MUX

D$ D2

ROM

A$ 0 0 $ $

A0 O0 O$ O2 O3 0 0 0 0 $ $ $ 0 $ 0 0 0 $ 0 $ $ 0 $ 0 0

a
Fig. 4.4$ Solu"iile problemei pentru punctele c $i d

4.3.8 S! se fac! sinteza unui circuit de generare a st!rilor de WAIT pentru microprocesoarele 8080, 8085 "i Z80, folosind formele de und! din figura de mai jos. ncerca#i "i o solu#ie de implementare cu registre de deplasare. Ar!ta#i modul de conectare a circuitului la fiecare dintre cele trei microprocesoare pe 8 bi#i.

78
CLK
WAIT REQUEST (intrare) READY (ie"ire) WAIT (ie"ire)

4 SISTEME SECVEN!IALE

Fig. 4.42 Formele de und! pentru problema 4.3.8


Rezolvare:

Semnalul de intrare WAIT REQUEST este considerat asincron, de"i ar putea fi chiar sincron sau sincronizabil cu semnalul de ceas. Pentru simplitate vom nota acest semnal cu x, iar ie"irile READY "i WAIT cu y$ "i respectiv y 2 .
CLK

x y$ y2

Q $ 2 3 4

0 2,$$ 3,00 4,0$ 4,$$

$ $,$$ $,$$

Fig. 4.43 St!rile circuitului $i tabelul tranzi"iilor Dac! aloc!m celor 4 st!ri codurile Q$Q2 : $ = 00, 2 = 0$, 3 = $$ "i 4 = $0, atunci ob#inem urm!toarele ecua#ii pentru logica combina#ional!: D$ = Q2 + Q$ x , D2 = Q$ x , y$ = Q2 "i y 2 = Q$ + Q2 . Desena#i schema logic! a circuitului. O solu#ie alternativ!, agreat! de multe ori n practic!, este implementarea cu registru. Chiar dac! ea introduce un bistabil n plus, se reduce num!rul de por#i folosite. Func#iile de ie"ire READY "i WAIT sunt generate pentru anumite secven#e ale intr!rii WAIT REQUEST. Att timp ct intrarea este n $ logic, READY = WAIT = $, condi#ie ce trebuie ndeplinit! pentru oricare dintre st!rile interne Q2 Q$Q0 = 000, $00, $$0 sau $$$ ale sistemului. La trecerea intr!rii n 0 logic, ie"irile Q2 Q$Q0 ale bistabilelor trec succesiv prin st!rile 0$$, 00$ "i una dintre st!rile deja men#ionate anterior. n starea Q2 Q$Q0 = 0$$ ie"irile circuitului sunt y$ y 2 = 00 , iar n starea Q2 Q$Q0 = 00$ ie"irile sunt y$ y 2 = 0$ . Se construie"te tabelul de adev!r pentru func#iile de ie"ire, avnd ca variabile ie"irile bistabilelor, se minimizeaz! folosind diagramele Veitch-Karnaugh "i se ob#ine schema logic! din figura 4.44. Pentru conectarea acestui circuit la o schem! cu microprocesor trebuie s! avem informa#ii de catalog despre microprocesorul utilizat.
WAIT REQUEST READY

D 2 CLK R

D $ CLK R

D 0 CLK R

Q Q

WAIT

CLK RESET

Fig. 4.44 Schema logic! a circuitului implementat cu registru

STRUCTURI PROGRAMABILE

Aplica!iile din acest capitol "i propun s# prezinte func!ionarea circuitelor de memorie ROM(Read Only Memory) "i RAM(Random Access Memory), a structurilor programabile PLD(Programmable Logic Devices), structuri care con!in re!ele programabile de por!i logice "i bistabile, precum "i a structurilor FPGA(Field Programmable Gate Arrays), re!ele complexe de blocuri logice programabile "i resurse de interconectare a lor, care se configureaz# prin programare pentru o anumit# aplica!ie.

5.1 Considera!ii teoretice


5.1.1 Memoria ROM
Memoria ROM este un circuit combina!ional care stocheaz# permanent date binare, iar aceast# informa!ie poate fi numai citit#. Aceast# structur# este de obicei definit# ca un convertor de cod compus dintr-un decodificator "i un codificator. Vectorul de intrare n decodificator este interpretat ca o adres#, iar datele ob!inute la ie"irea codificatorului reprezint# informa!ia memorat# la adresa respectiv#. n figura 5.$ s-a luat un exemplu de memorie ROM care con!ine 8 cuvinte de cte 4 bi!i. O combina!ie binar# care se aplic# pe cele 3 intr#ri de adres#, A2 , A$ "i A0 , selecteaz# unul dintre cele 8 cuvinte, iar cei 4 bi!i de date ai cuvntului selectat sunt disponibili la ie"irile O0 , O$ , O2 "i O3 , cu condi!ia ca intrarea OE (Output Enable) s# fie activat# (n exemplul nostru activarea se face pe 0 logic). Dac# OE = $ ie"irile memoriei sunt n starea de nalt# impedan!# (high Z). Tabelul de adev#r din figur# este numai un exemplu care arat# o posibilitate de implementare a 4 func!ii binare de cte 3 variabile. Exist# mai multe tipuri constructive de memorie ROM. Memoriile ROM sunt de obicei considerate cele care sunt nc#rcate cu date n procesul de fabrica!ie al circuitului integrat, deci care nu sunt programabile de c#tre utilizator. Utilizatorul poate introduce datele lui o singur# dat# ntr-o memorie PROM(Programmable ROM), sau de mai multe
.

80
ROM
A2 A$ A0 O0 O$ O2 OE O3
A2 A$ 0 0 0 0 $ $ $ $ x 0 0 $ $ 0 0 $ $ x

5 STRUCTURI PROGRAMABILE
A 0 OE 0 $ 0 $ 0 $ 0 $ x 0 0 0 0 0 0 0 0 $ O0 $ $ $ 0 0 0 0 $ O$ $ $ 0 $ 0 0 $ 0 O2 $ 0 $ $ 0 $ 0 0 O3 0 $ $ $ $ 0 0 0

high Z high Z high Z high Z

Fig. 5.$ Memorie ROM de 8 cuvinte de 4 bi!i "i harta memoriei ori, n memoriile EPROM(Erasable PROM) sau EEPROM (Electrically EPROM), diferen!a fiind dat# de modalitatea de "tergere a datelor din memorie. Memoriile EPROM con!in tranzistoare MOS care con!in o poart# suplimentar#, izolat# de restul circuitului. Aceast# poart# permite stocarea pe termen lung a sarcinii electrice necesare pentru memorarea bitului respectiv de informa!ie. %tergerea se face prin expunere la radia!ii ultraviolete. La memoriile EEPROM izola!ia por!ii este mult mai sub!ire "i sarcina electric# n exces poate fi eliminat# prin aplicarea unei tensiuni de polaritate invers# pe poarta tranzistorului care nu este flotant#, deci "tergerea se face pe cale electric#. Circuitul integrat 82S$47, care este o memorie PROM n tehnologie Schottky TTL, a fost utilizat deja n aplica!iile prezentate n capitolul anterior. Rolul lui era de a implementa logica combina!ional# a unui automat cu st#ri finite (vezi punctul 4.2.4 "i problema 4.3.7).

5.1.2 Memoria RAM


Memoria RAM este un circuit care stocheaz# bi!i de informa!ie ntr-o matrice de memorie, la fel ca memoria ROM. Diferen!a const# n faptul c# informa!ia util# memorat# n RAM trebuie mai nti s# fie scris# acolo, nainte de a fi citit#.
DIN3 DIN2 DIN$ DIN0

A2 A$ A0

DCD

MATRICE DE MEMORIE 8 4
WR
LATCH

DIN WE CS OE DOUT3 DOUT2 DOUT$ DOUT0 SEL WR

D CL

DOUT

un bit de memorie

Fig. 5.2 Structura unei memorii SRAM de 8 cuvinte de 4 bi!i

5.1 Considera!ii teoretice

81

Exist# dou# tipuri constructive de memorie RAM: RAM static sau SRAM, n care bi!ii de date, odat# ce au fost nscri"i, sunt memora!i att timp ct circuitul integrat este alimentat cu tensiune, "i RAM dinamic sau DRAM, n care datele memorate trebuie s# fie mereu remprosp#tate prin citirea "i apoi rescrierea lor periodic# n loca!iile respective de memorie, n caz contrar ele pierzndu-se definitiv. Structura unei memorii SRAM este asem#n#toare cu cea a unei memorii ROM. Apare n plus semnalul WE (Write Enable) care, odat# ce este activat pe 0 logic, memoreaz# datele de pe intr#rile de date la adresa indicat# de intr#rile de adres#. Se poate vedea n figura 5.2 c# celula de memorie de un bit con!ine un latch de tip D, iar memorarea datelor se face pe palierul de $ logic al ceasului, adic# atunci cnd sunt activate semnalele WR "i SEL , acesta din urm# fiind generat de una din ie"irile decodificatorului liniilor de adres#. Activarea semnalului WR este o consecin!# a activ#rii semnalelor de intrare WE "i CS . Circuitul integrat MMN 2$$4, care este o memorie SRAM n tehnologie NMOS, a fost utilizat deja n aplica!iile prezentate n capitolul anterior. Rolul lui era de a emula o memorie ROM care implementa logica combina!ional# a unui automat cu st#ri finite (vezi punctul 4.2.4).

5.1.3 Structuri PLD


Structurile PLD con!in por!i logice "i, n unele cazuri, circuite bistabile, aranjate n a"a fel nct interconect#rile dintre componente s# poat# fi modificate pentru a implementa diverse func!ii binare. Structurile PLD combina!ionale con!in numai por!i logice cu conexiuni programabile, care permit implementarea comod# a func!iilor binare reprezentate n form# disjunctiv#. Circuitele reprezentative din aceast# categorie sunt structurile PLA (Programmable Logic Arrays) "i structurile PAL (Programmable Array Logic). Acestea din urm# sunt marc# nregistrat# a firmei AMD. Un exemplu de circuit PLD secven!ial de tip registru este circuitul integrat GAL16V8, marc# nregistrat# a firmei Lattice Semiconductor, circuit care con!ine 8 intr#ri, 8 intr#ri/ie"iri cu 3 st#ri "i 8 macrocelule programabile, numite aici OLMC (Output Logic Macro Cell). Schema complet# a circuitului este dat# n figura 5.3. Termina!ia QS din codul circuitului integrat provine de la Quiet Series "i are n vedere modificarea traseului intern de mas# n scopul reducerii zgomotelor. Matricea de por!i %I con!ine 2048 de conexiuni programabile, iar por!ile SAU au conexiuni fixe (vezi figura 5.4). Matricea de conexiuni programabile permite conectarea oric#rei intr#ri numerice, n form# direct# sau negat#, la orice termen produs. Fiecare macrocelul# programabil# mai con!ine cte $0 conexiuni programabile, care stabilesc modul de lucru. n sfr"it, un num#r de 64 de conexiuni programabile, grupate n 8 octe!i, stabilesc o semn#tur# digital# a utilizatorului, adic# cel care programeaz# circuitul integrat, pentru secretizarea h#r!ii de conexiuni "i evitarea multiplic#rii neautorizate a unui produs care con!ine astfel de circuite. Schema intern# a unei macrocelule programabile este dat# n figura 5.4. Ie"irea por!ii SAU poate fi complementat# sau nu cu poarta SAU-EXCLUSIV "i aplicat# direct la intrarea por!ii cu 3 st#ri de la ie"ire printr-un canal de multiplexor, sau poate fi aplicat# la intrarea unui bistabil D, a c#rui ie"ire se poate trimite la exterior, sau returna spre matricea de
.

82

5 STRUCTURI PROGRAMABILE

Fig. 5.3 Structura circuitului GAL #6V8 comutatoare programabile de la intrare. Fluxul datelor prin circuit este stabilit cu ajutorul unor multiplexoare cu intr#ri de selec!ie programabile. Exist# leg#turi ntre macrocelule, pe de o parte, pentru transfer de date, iar pe de alt# parte, comutatorul AC0 se conecteaz# fie la 0 logic, fie la $ logic pentru toate macrocelulele din structur#. Comutatoarele AC$, XOR "i PTD se programeaz# independent, pentru fiecare celul# n parte, dup# necesit#!i. Proiectantul nu este obligat s# cunoasc# structura intern# a circuitului integrat, dect dac# stabile"te manual harta de conexiuni, lucru foarte plictisitor "i cu mare "ans# de eroare. Exist# programe care realizeaz# automat harta de conexiuni, pornind de la ecua!iile furnizate de proiectant "i folosind un model software al circuitului PLD folosit.

5.1 Considera!ii teoretice

83

Fig. 5.4 Structura unei macrocelule programabile din circuitul GAL #6V8

5.1.4 Structuri FPGA


Arhitectura unui circuit FPGA este prezentat# n figura 5.5. Exist# trei elemente constructive de baz# care se repet# ori de cte ori este necesar n structur#: blocul logic, blocul de intrare-ie"ire, "i resursele de interconectare ale blocurilor, de fapt matrici de comutatoare programabile, numite "i switchbox-uri. Blocul logic poate con!ine sute sau mii de por!i logice "i poate fi configurat diferit n func!ie de aplica!ie. Realizarea interconexiunilor permite o utilizare superioar# a resurselor logice fa!# de structurile PLD.
Resurse de interconectare Bloc logic Bloc de intrare ie"ire

Switch Box

Fig. 5.5 Arhitectura FPGA

84

5 STRUCTURI PROGRAMABILE

Fig. 5.6 Schema simplificat$ a blocului logic la circuitul XC4000 Structura blocului logic al circuitului XC4000 produs de firma Xilinx este dat# n figura 5.6. Modulele F "i G sunt generatoare de func!ii binare programabile cu cte 4 intr#ri, iar mpreun# cu modulul H, care este tot un generator de func!ii binare, permit implementarea unor func!ii cu 9 variabile independente. Blocul logic mai con!ine o logic# combina!ional# de selec!ie "i 2 bistabile de tip D pentru stocarea rezultatelor date de generatoarele de func!ii. Ie"irile generatoarelor de func!ii se pot utiliza independent de ie"irile elementelor de stocare de tip registru. Fiecare bloc de intrare/ie"ire controleaz# un singur pin al circuitului integrat "i se poate configura ca port de intrare, port de ie"ire sau port bidirec!ional. Semnalele de intrare se pot aplica direct sau prin bistabile de intrare. Semnalele de ie"ire, care se pot inversa n interiorul blocului, se pot conecta direct la ie"irea pinului sau la bistabilul de ie"ire. Matricea de cuplare programabil#, sau switchbox-ul, este alc#tuit# din conexiuni programabile care permit realizarea oric#rei configura!ii posibile de conexiuni.

5.2 Demonstra!ii practice


Considera!iile asupra aliment#rii panoului logic, formulate n primul capitol, r#mn valabile "i aici. Panourile logice folosite n aplica!ii, fie au surse proprii de alimentare (programatorul de memorii EPROM sau sistemul de dezvoltare cu FPGA), fie se alimenteaz# cu o tensiune nominal# de 5Vcc (panoul logic cu memorie RAM sau panoul cu GAL), n cazul n care acestea din urm# nu sunt "i ele prev#zute cu surse proprii de alimentare.

5.2 Demonstraii practice

85

5.2.1 Se conecteaz programatorul de memorii EPROM la portul paralel al unui calculator. Se pornete calculatorul i apoi se alimenteaz i programatorul de la sursa proprie de alimentare, care furnizeaz toate tensiunile necesare pentru citirea i programarea unei memorii EPROM de tipul 2716 sau 2732. Memoria 2716 are 2Kcuvinte de cte 8 bii, iar memoria 2732 are 4Kcuvinte de cte 8 bii. Se lanseaz aplicaia Programator EPROM, care deschide fereastra reprezentat n partea stng a figurii 5.7. Din lista de opiuni se selecteaz tipul memoriei EPROM, din butoanele radio operaia dorit, iar offset-ul reprezint adresa de la care se ncepe citirea sau programarea memoriei. Operaia de elaborare a fiierului surs deschide o a doua fereastr, dat n partea dreapt a figurii 5.7, prin care se introduce ntr-un fiier valoarea coninut de fiecare adres, de la offset +1 i pn la offset + numr de locaii. n exemplul dat, prin apsarea butonului Save, se introduce numrul binar 01101001 la adresa 5, offset-ul fiind 0. Fiierul construit n acest mod va fi folosit la operaia de programare a memoriei. Introducei n soclu o memorie EPROM de tipul 2716, dup ce ai oprit mai nti tensiunea de alimentare a programatorului, i apoi citii coninutul ei. Toate locaiile sunt programate? Dac nu, atunci introducei n locaiile imediat urmtoare offset-ului 10 cuvinte identice alese de dumneavoastr. Citii din nou memoria pentru a verifica c datele au fost nscrise corect. Oprii tensiunea de alimentare a programatorului i apoi alimentai din nou programatorul. Verificai dac datele nscrise s-au pstrat. Consultai foaia de catalog i observai cronogramele ciclurilor de citire i programare. Repetai operaiile de mai sus pentru o memorie EPROM de tipul 2732. Nu am precizat exact codurile memoriilor EPROM, pentru c ele depind de productor: I 2716, dac circuitul este fabricat de INTEL, MMN 2716 dac este fabricat de Microelectronica Bucureti, sau K573P2 (echivalent cu 2716) dac este fabricat n Rusia. Dac avei la dispoziie o lamp cu ultraviolete, ncercai s tergei memoriile EPROM i verificai dac acest lucru s-a realizat (toi biii sunt poziionai pe 1 logic).

Fig. 5.7 Dou ferestre ale aplicaiei Programator EPROM 5.2.2 Se studiaz memoria RAM static de tipul 2114, care are o capacitate de 1K de cte 4 bii. Panoul logic folosit deja la automatele cu memorie RAM are un circuit integrat MMN 2114. Se reia scrierea datelor n memorie, aa cum se arat la pagina 68,

86

5 STRUCTURI PROGRAMABILE

i se justific operaiile care se fac. Se citete memoria, msurnd de aceast dat ieirile memoriei i se verific dac datele introduse au fost memorate corect. Se ntrerupe tensiunea de alimentare cteva secunde i, dup revenirea ei, se citesc din nou datele de la adresele respective. Ce constatai? Justificai rspunsul i indicai o soluie pentru pstrarea datelor chiar i dup decuplarea temporar a tensiunii de alimentare. Se repet operaiile de mai sus pentru panoul logic care conine o memorie RAM static de tipul 2102, cu o capacitate de 1K de cte 1 bit i linii separate pentru intrarea i ieirea bitului de date. O schem simplificat a panoului logic este dat n figura 5.8. De aceast dat adresarea locaiilor de memorie se face cu ajutorul a dou numrtoare de cte 5 bii (MMC 4024), care pot fi uor poziionate n orice stare dorit cu ajutorul unui ceas manual, realizat cu comutator mecanic i latch. Astfel se poate fixa orice adres din spaiul de 1024 adrese disponibile. Datele se introduc pe linia de intrare printr-un comutator cu dou poziii, iar linia de ieire arat coninutul memoriei prin starea unui LED. Semnalul R W este generat tot cu un latch.
+Vcc LATCH +Vcc LATCH Q6 RESET CLK 4024 Q5 Q4 Q3 Q2 Q1 RESET CLK Q5 Q4 Q3 Q2 Q1 Q6 +V cc

4024

LATCH +V cc

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 D IN R/W 2102 D OUT

Fig. 5.8 Schema simplificat a panoului logic cu memorie RAM 2102 5.2.3 Se introduce n soclul programatorului de circuite GAL un circuit GAL16V8 i se conecteaz programatorul la portul paralel al unui calculator. Se pornete calculatorul i apoi se alimenteaz i programatorul de la sursa proprie de alimentare. Se lanseaz programul freeware galprog2, care permite prin intermediul unei interfee grafice selecia portului paralel, a tipului de GAL, ncrcarea datelor din fiier i salvarea lor n fiierul JEDEC, care conine harta conexiunilor programabile,
.

Fig. 5.9 Dou interfee pentru programarea circuitelor GAL 16V8 i GAL20V8

88

5 STRUCTURI PROGRAMABILE

5.1 Probleme rezolvate


5.3.1 S se implementeze cu memorie ROM un generator al funciei sinus, tiind c argumentul funciei variaz ntre 0 i /2 cu pai de /512. Se cere rezultatul cu 4 zecimale exacte n cod BCD.
Rezolvare: Patru cifre zecimale n cod BCD se reprezint pe 16 bii, deci cuvintele memoriei sunt structurate pe 16 bii. Numrul de cuvinte de memorie N este dat de raportul dintre interval i 512 numrul de pai, deci: N = = 256 . Deci memoria necesar are 256 cuvinte a cte 16 bii. 2 Dac folosim, de exemplu, cipuri de 256 cuvinte a cte 8 bii, atunci schema logic ar fi cea din figura 5.11.
A 7 ... A 0 8 8 A 7 ... A 0 OE

A 7 ... A 0

ROM 1 D 7 ... D 0
D 15 ... D 8

ROM 2 D 7 ... D 0
D 7 ... D 0

OE

Fig. 5.11 Extinderea numrului de bii pe cuvnt Un fragment din harta memoriei pentru ntregul sistem (cele dou cipuri mpreun) este prezentat n figura 5.12.
A7 A6 0 0 0 0 0 0 0 0 1 1 A5 A4 A3 A2 A1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 ...... 1 1 1 1 1 1 1 1 1 1 1 1 A 0 D 15 0 0 1 0 0 0 0 1 0 1 1 1 D 14 D 13 0 0 0 0 0 0 0 0 0 0 0 0 D 12 D 11 D 10 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 D9 D 8 0 0 0 0 0 0 0 0 0 0 1 1 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ......... 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

Fig. 5.12 Harta memoriei pentru generatorul funciei sinus

5.3.2 Folosind o memorie EPROM s se implementeze un circuit care realizeaz nmulirea M N = P , unde M, N i P sunt exprimate n cod BCD, iar M i N sunt cuprinse ntre 0 i 9.
Rezolvare: Operanzii M i N se reprezint pe cte 4 bii, deci memoria trebuie s aib 8 bii de adres . Valoarea maxim a produsului P este 9 9 = 81 , numr care se reprezint n binar pe 7 bii, deoarece 2 6 < 81 < 2 7 . n cod BCD num rul P se reprezint ns pe 8 bii, fiind format din dou cifre BCD. El se obine la ieirile de date ale memoriei. Deci, memoria are 256 cuvinte de cte 8 bii fiecare. Figura 5.13 reprezint schema logic i un fragment din harta memoriei.

5.3 Probleme rezolvate


EPROM
A7 A6 A5 A4 A3 A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0

89
A7 A6 A5 A4 A3 A2 0 0 0 0 0 0 ...... 0 0 1 0 0 0 0 0 1 0 0 1 ...... 0 1 1 1 0 1 ...... 1 0 0 1 1 0 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 ...... 0 0 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 0 0 ...... 0 0 1 1 0 1 0 1 0 1 ...... 0 1 1 0 0 0 0 0 0 1

Fig. 5.13 Circuit de nmulire cu memorie EPROM i un fragment din harta memoriei

5.3.3 S se implementeze cu memorie ROM i apoi cu o structur PLA urmtorul set de funcii binare: f 1 = P1 + P3 + P4 + P8 + P12 + P14 + P15 f 2 = P0 + P1 + P5 + P8 + P12 f 3 = P2 + P4 + P5 + P8 + P13 + P15
Rezolvare: Implementarea funciilor binare cu memorii ROM presupune stabilirea capacitii memoriei necesare, alegerea tipului potrivit de memorie din oferta disponibil n catalog i stabilirea hrii memoriei. De obicei se urmrete utilizarea unui numr minim de circuite integrate, chiar dac memoria ROM rmne parial nefolosit. n exemplul considerat, termenul canonic de rang maxim este P15 , deci sunt necesare 4 intrri de adrese. Pentru cele 3 funcii binare sunt necesare 3 ieiri de date. Folosim o memorie de 16 cuvinte de cte 4 bii. Soluia cu memorie ROM este prezentat n figura 5.14. Implementarea cu o structur PLA este prezentat n figura 5.15.
ROM A B C D
A3 A2 A1 A0 D3 D2 D1 D0

f1 f2 f3

A3 A2 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1

A1A0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

D3 D2 D1 D0 0 1 0 1 1 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 1 0 0 X X X X X X X X

A3 A2 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

A1A0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1

D3 D2 D1 D0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 X X X X X X X X

Fig. 5.14 Implementarea sistemului de 3 funcii binare cu memorie ROM


A B C D

f1 f2 f3

Fig. 5.15 Implementarea sistemului de 3 funcii binare cu PLA

90

5 STRUCTURI PROGRAMABILE

5.3.4 S se implementeze o memorie EPROM de 2 K 32 , folosind o memorie EPROM de 64 K 1 . Se pot utiliza circuite auxiliare SSI/MSI i se presupune c dispunem de un semnal de ceas cu o perioad ceva mai lung dect timpul de acces la memoria de 64 K 1 . Care este timpul de acces al memoriei de 2 K 32 ?
Rezolvare: Capacitatea total a memoriei rmne neschimbat, se modific numai organizarea ei. O soluie este prezentat n figura 5.16, unde spaiul adreselor este mprit n dou, cei 5 bii mai puin semnificativi fiind generai intern, cu ajutorul unui numrtor n inel comandat de semnalul de ceas. La fiecare perioad de ceas, un alt bit este memorat n registru, astfel nct, dup 32 perioade de ceas dispunem de un cuvnt de 32 bii la ieirea registrului. Timpul de acces al memoriei este de 32 de ori mai mare dect perioada ceasului. Presupunem c timpul de acces la memoria ROM este suficient de mare pentru a evita orice probleme legate de metastabilitate.
ROM 64K ADRESE 11 A 15 ... A 5
OUT

Registru serie de 32 bii 32 DATE IEIRE

CLK

5 CLK Numrtor

A 4 ... A 0

Fig. 5.16 Schema simplificat a unei memorii de 2K 32

5.3.5 S se proiecteze un numrtor binar reversibil pentru controlerul unui lift ntr-o cldire cu 20 etaje, folosind un singur circuit PAL16R6. Numrtorul trebuie s aib o intrare care permite numrarea i o intrare care stabilete sensul de numrare. La numrarea napoi trebuie s se blocheze n starea 1, iar la numrarea nainte trebuie s se blocheze n starea 20. n orice sens de numrare se sare peste starea 13. Reprezentai diagrama strilor i ecuaiile scrise n ABEL.
Rezolvare: Circuitul integrat PAL16R6 are 8 intrri, 2 intrri/ieiri programabile i 6 bistabile de tip D avnd ieirile cu 3 st ri. Matricea de 64 32 comutatoare programabile permite implementarea oricrei funcii binare. Pentru cele 20 stri sunt necesare 5 bistabile. Dac notm cu E intrarea care permite numrarea (activ pe 1 logic) i cu S intrarea de sens (S = 1 cresctor, iar S = 0 descresctor), atunci diagrama strilor este cea din figura 5.17. Detalii despre limbajul ABEL sunt date n curs. O implementare complet de automat finit cu PAL16R4 este dat n capitolul urm tor.
0X ES 11 10 1 10 2 10 0X 11 3 10 0X 11 12 10 0X 11 14 10 0X 11 19 10 0X 11 20 11 0X

Fig. 5.17 Diagrama strilor pentru numrtorul din problema 5.3.5

ANALIZA I SINTEZA AUTOMAT

Aplicaiile din acest capitol i propun s prezinte posibiliti de analiz i sintez a sistemelor numerice folosind programe de calculator concepute n acest scop. Un standard pentru analiza circuitelor prin simulare pe calculator, fie ele analogice sau numerice, este programul SPICE(Simulation Program with Integrated Circuit Emphasis), elaborat la Universitatea Berkeley din California i perfecionat pe parcursul ctorva decenii. Limbajul VHDL(Very High Speed Integrated Circuit Hardware Description Language), folosit astzi pe scar larg de proiectanii de sisteme numerice, este destinat sintezei structurilor numerice de mare complexitate, fiind standardizat de IEEE n 1993.

6.1 Consideraii teoretice


6.1.1 Analiza circuitelor prin simulare PSPICE
Pachetul de programe SPICE nu a fost iniial conceput pentru calculatoare personale. Odat cu apariia PC-urilor, au aprut i programe de analiz a circuitelor pe PC, similare cu programul SPICE, cunoscute de obicei sub numele PSPICE (PC SPICE). Programul PSPICE folosit este Design Center 5.2, un mediu integrat sub Windows 3.X, produs de firma american MicroSim. Acest mediu conine subprograme de editare, analiz i prezentare a rezultatelor obinute. Cea mai important parte a programului de simulare o reprezint subprogramul de analiz, care execut analizele de circuit specificate n fiierul editat, ieirile din acest subprogram furniznd date pentru a fi utilizate ulterior de subprogramul de prezentare a rezultatelor, care materializeaz rezultatele sub form de grafice i texte. Subprogramul de analiz conine procedeele numerice ale reprezentrii matematice a circuitului. Pentru a trece de la circuitul propriu-zis la un sistem matematic de ecuaii, elementele de circuit (rezistoare, condensatoare, surse, diode, tranzistoare, pori logice, bistabile, registre etc.) sunt reprezentate prin modele matematice. Sistemul de ecuaii care descrie ntregul circuit este determinat de ecuaiile modelului fiecrui element i

92

6 ANALIZA I SINTEZA AUTOMAT

relaiile topologice care sunt date de interconectarea elementelor. Relaiile topologice au la baz legile lui Kirchhoff iar comportarea general a circuitului este descris printr-un sistem de ecuaii difereniale, ale crui soluii se obin prin analiza circuitului, pentru diferite cazuri particulare de abordare: analiza de curent continuu (.DC), analiza de curent alternativ (.AC), analiza regimurilor tranzitorii (.TRAN) i altele. Aceste analize se realizeaz pe baza unor metode numerice, care presupun formularea ecuaiilor, rezolvarea ecuaiilor liniare, a ecuaiilor neliniare i integrarea numeric. Pe msur ce crete experiena lucrului cu PSPICE se pun tot mai clar n eviden avantajele simulrii. n afar de faptul c simularea este mult mai ieftin dect realizarea experimental a circuitului, ea permite efectuarea unor analize imposibil de realizat pe model experimental: cum am putea msura de exemplu tensiunea ntr-un nod din interiorul unui circuit integrat sau comportarea unui tranzistor la temperatura de 120 grade Celsius? Dei primele variante ale programelor PSPICE au fost concepute n exclusivitate pentru analiza circuitelor analogice, Design Center 5.2 i variantele ulterioare permit i analiza circuitelor numerice. Opiunea DIGITAL SIMULATION permite modelarea comportrii unui numr mare de dispozitive numerice (pori, bistabile, registre, numrtoare, dispozitive logice programabile etc.), numite primitive. Aceste primitive sunt folosite de o bibliotec numeric DIGITAL.LIB pentru a modela un numr mare de componente care pot fi introduse direct n circuit printr-un apel de subcircuit. PSPICE recunoate trei tipuri de noduri: analogice, numerice i de interfa. Dac la un nod sunt conectate numai dispozitive analogice, atunci el este analogic. Dac sunt conectate numai dispozitive digitale, atunci el este digital. Dac la nod sunt conectate att dispozitive analogice ct i digitale, atunci avem nod de interfa. PSPICE separ automat nodurile de interfa n analogice i numerice, insernd una sau mai multe circuite de interfa analog/numerice. Nivelele logice utilizate n PSPICE nu trebuie s fie neaprat tensiuni. Ele sunt: 0 LOW 1 HIGH R RISE ( cresctor, de la 0 la 1) F FALL ( descresctor, de la 1 la 0) X necunoscut n situaia conectrii mai multor ieiri logice mpreun, pentru determinarea nivelului logic corect al nodului, s-a asociat fiecrei ieiri cte o intensitate, a crei valoare este determinat n raport cu intensitile celorlalte ieiri. Nodurile conduse de ieiri cu aceeai intensitate, dar de nivele diferite, vor avea nivelul logic X. Pspice are 64 de nivele de intensitate, cea mai slab fiind Z (nalt impedan), iar cea mai puternic, intensitatea de forare (scurtcircuitul). Aceste nivele se fixeaz prin parametrii DIGDRVZ i DIGDRVF ai comenzii OPTIONS. Programul de simulare numeric PSPICE definete trei noduri numerice globale, avnd urmtoarele nume i valori: $D_HI 1 $D_LO 0 $D_X X Ele sunt folosite pentru a menine un pin al unui dispozitiv sau subcircuit, la nivelul logic dorit, pe tot parcursul simulrii. La aceste noduri nu se conecteaz dispozitive analogice. n simularea numeric, tot nod global este considerat i nodul analogic de mas (potenial nul sau nod logic 0).

6.1 Consideraii teoretice

93

Pentru a furniza semnalele de intrare necesare simulrii funcionrii unui circuit numeric, programul PSPICE pune la dispoziia utilizatorului dou tipuri de dispozitive. Primul dispozitiv este un generator de impuls, care permite obinerea unei game largi de semnale numerice, n mod asemntor cu cele generate la simularea circuitelor analogice. Al doilea dispozitiv este un fiier de impulsuri, care permite obinerea unui numr orict de mare de forme de und dintr-un fiier extern. n aplicaiile noastre vom utiliza un fiier de impulsuri pentru generarea semnalelor de intrare. Dac circuitul supus analizei conine att dispozitive analogice ct i numerice, cum este cazul oscilatorului din figura 6.1, se face o simulare mixt analog/numeric. Figura 6.2 arat formele de und rezultate n urma simulrii. n partea de sus sunt reprezentate formele de und numerice, iar n cea de jos tensiunile n diferite noduri importante ale circuitului. Semnalul RESET este aplicat prin U4 la intrarea CLEAR a bistabilului JK, iar prin inversorul cu colector n gol U3 la nodul 1 al oscilatorului, pentru stabilirea condiiilor iniiale de simulare.

Fig. 6.1 Schem electric editat n Design Center 5.2

Fig. 6.2 Formele de und rezultate n urma simulrii

94

6 ANALIZA I SINTEZA AUTOMAT URESET STIM(1,1) $G_DPWR $G_DGND + RESET + IO_STM + TIMESTEP=10n + 0c 1 + 10c 0 Fig. 6.3 Fiierul text INPUT.STM

Figura 6.3 prezint fiierul text pentru generarea semnalului RESET. Numele fiierului este INPUT.STM i este introdus n schema electric prin directiva INCLUDE (vezi figura 6.1). Circuitul realizat fizic funcioneaz i fr semnal de reset, dar simulatorul are nevoie de stri iniiale, nainte de a ncepe analiza. n lipsa semnalului de reset, se pornete de la o stare logic necunoscut i analiza nu se poate face. Fiierul text INPUT.STM se editeaz cu un simplu editor de text, de exemplu NOTEPAD. Formatul generatorului de impuls pentru un semnal este urmtorul: U<nume> STIM(<lime>,<format>) + <nod alimentare numeric> <nod mas numeric> + <nod> + <nume (Model de I/E)> + [IO_LEVEL = <valoare (selectare subcircuit interfa)>] + [TIMESTEP = <pas>] + <(comand)> unde <lime> specific numrul semnalelor de ieire furnizate de generator, iar <format> specific formatul valorilor utilizate n definirea impulsului. <nume (Model de I/E)> este de cele mai multe ori modelul IO_STM. IO_LEVEL este un parametru opional prin care se pot selecta subcircuitele interfa numeric analogice; el a fost fixat nainte de analiz la valoarea recomandat 3 (prin comanda ANALYSIS, urmat de SETUP, i OPTIONS din meniul principal, s-a fixat parametrul DIGIOLVL = 3). TIMESTEP reprezint timpul pe un ciclu de tact sau un pas, iar <comand> este o descriere a semnalului prin valorile logice ale acestuia la valori ale timpului care sunt multipli de TIMESTEP. Dup desenarea schemei electrice a circuitului, se selecteaz ANALYSIS din meniul principal i apoi ANNOTATE (numai dac se dorete o renumerotare a componentelor din circuit) i ELECTRICAL RULE CHECK. Dac exist erori n schem, programul anun acest lucru nainte de a merge mai departe. Dac nu exist erori, se lanseaz CREATE NETLIST i pe urm se alege tipul de analiz dorit. Acest lucru se face prin comanda ANALYSIS, urmat de SETUP i TRANSIENT. Pentru analiza tranzitorie s-a fixat o durat total de 10 sec, cu un pas de 0,1 sec. Nu uitai selectarea opiunii ENABLED nainte de a prsi fereastra de setare a tipului de analiz. Urmeaz rularea programului de analiz, cu comanda RUN PSPICE. La terminarea rulrii, care poate dura de la fraciuni de secund la zeci sau sute de secunde, funcie de complexitatea circuitului, tipul de analiz, numrul de pai ales i viteza sistemului de calcul, apare ecranul mediului PROBE cu un alt meniu specific. Comanda TRACE, urmat de ADD afieaz o fereastr cu toate semnalele din circuit. Se selecteaz semnalele pe care vrem s le vizualizm i obinem formele de und n timp, ca cele din figura 6.2.

6.1 Consideraii teoretice

95

Ne propunem n continuare s proiectm o interfa calculator-microcalculator cu 4 intrri i cu 4 ieiri, sincron cu ceasul microcalculatorului. Semnalele sunt reprezentate n figura 6.4, iar organigrama de funcionare a circuitului, n figura 6.5. Vom verifica dac sinteza este corect, fcnd analiza circuitului rezultat prin simulare PSPICE.
START INACTIVE ATTENTION READY

Calculator

T/R F/E

Interfa

CYCLE CYEND

Micro calculator

CLK

Fig. 6.4 Semnalele interfeei calculator-microcalculator


.

A 0
START

Q2 Q1 Q0

000 1

001 B
ATTENTION

010

READY

INACTIVE

D 0
T/R

011 1 100 E
CYCLE

110 F
F/E

CYEND

Fig. 6.5 Organigrama interfeei Cele 6 stri ale automatului finit sunt codificate binar minimal folosind 3 bii. Semnalele de ieire sunt generate pe stare, iar codurile strilor succesoare strilor n care sunt testate intrrile asincrone START i T/R sunt adiacente. Vom implementa circuitul ntr-o prim variant folosind 3 bistabile de tip JK i pori logice, iar pe urm vom face o implementare cu un singur circuit PLD de tip PAL. Ne ocupm n aceast seciune numai de sinteza schemelor logice, iar analiza schemelor electrice, prin simulare PSPICE, va fi fcut n seciunea 6.2.

96
Start Ready T/R Cyend Q2 Q1 Q0 Q2+

6 ANALIZA I SINTEZA AUTOMAT


Q1 + Q0+ Atten tion Inac tive Cycle F/E

0 1 x x x x x x x x

x x 0 1 x x x x x x

x x x x x 0 1 x x x

x x x x x x x 0 1 x

0 0 0 0 0 0 0 1 1 1

0 0 0 0 1 1 1 0 0 1

0 0 1 1 0 1 1 0 0 0

0 0 0 0 0 0 1 1 1 0

0 0 0 1 1 0 0 0 1 1

0 1 1 0 1 0 0 0 0 1

0 0 1 1 0 0 0 0 0 0

0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 1 1 0

0 0 0 0 0 0 0 0 0 1

Fig. 6.6 Tabelul tranziiilor i al ieirilor Tabelul tranziiilor i al ieirilor este dat n figura 6.6. Dac construim n continuare coloanele funciilor de excitaie pentru implementarea cu bistabile JK i minimizm aceste funcii folosind diagrame Veitch-Karnaugh, obinem urmtoarele ecuaii: J 2 = T / R Q1 Q 2 K2 = Q1 i
J 1 = READY Q 0 + CYEND Q 2
J 0 = Q2 START + Q1

K1 = Q 0

K 0 = READY + Q1

READY T/R J 2 K CYEND START CLK CLK Q K Q J 1 CLK Q K Q J 0 CLK Q Q

Fig. 6.7 Schema logic a interfeei implementate cu bistabile JK i pori


Q
2

Q1 Q0

22 21 0 2 0

DCD
1 2 3 4 CYCLE F/E 5 6 7

INACTIVE ATTENTION

Fig. 6.8 O soluie posibil pentru sinteza ieirilor

6.1 Consideraii teoretice

97

Folosind ecuaiile de mai sus rezult schema logic a circuitului, reprezentat n figura 6.7, iar schema din figura 6.8 ofer o soluie de implementare cu decodificator a funciilor de ieire, fr a mai fi necesar minimizarea lor. Pentru a face sinteza cu PLD a circuitului propus mai sus, trebuie s alegem o structur de circuit din catalog. Circuitul PAL16R4 de la AMD are foaia de catalog dat n figura 6.18. Observm c ieirile bistabilelor sunt trecute prin inversoare cu 3 stri nainte de a ajunge la pinii de ieire ai circuitului. Atribuim ieirea O6 lui Q2, O5 lui Q1 i O4 lui Q0. Aria combinaional implementeaz funciile D2, D1 i D0 cu pori I-SAU i conine 2048 de fuzibile ce pot fi arse o singur dat. Ecuaiile lor, deduse cu ajutorul tabelului din figura 6.6, sunt:
+ Q2 = Q2 Q1 + Q1 Q0 + T/ R Q1

Q1+ = Q2 Q1 Q0 + Q1 Q0 + READY Q 0 + CYEND Q 2 Q1


+ Q0 = Q2 Q1 + Q1 Q0 + READY Q0 + Q1 Q0 START

Celelalte 4 semnale de ieire ATTENTION, INACTIVE, CYCLE i F/E sunt atribuite ieirilor I/O8, I/O7, I/O2 i respectiv I/O1, care au i ele inversoare cu 3 stri pe ieire. Ecuaiile lor devin:
ATTENTION = Q1 + Q0 ; INACTIVE = Q 2 + Q1 + Q 0 ;

CYCLE = Q2 + Q1 ;

F/ E = Q2 + Q1 ;

Semnalele de intrare START, READY, T/R i CYEND sunt atribuite intrrilor I1, I2, I3 i respectiv I4, iar pe I5 se aplic intrarea RESET, absolut necesar i aici, din motivul iniializrii bistabilelor la nceputul simulrii.

6.1.2 Sinteza circuitelor folosind limbajul VHDL


Limbajul VHDL este cel mai cunoscut i cel mai puternic limbaj de descriere hardware a circuitelor. Pe lng modelarea i simularea sistemelor numerice, el permite sinteza structurilor numerice la orice nivel, de la structuri alctuite din cteva pori logice pn la un sistem complet cu microprocesor, de exemplu. Proiectele pot fi descompuse ierarhic, iar VHDL ofer un cadru de lucru de bun calitate pentru definirea modulelor i a interfeelor lor, precum i pentru completarea ulterioar a detaliilor. Dup scrierea propriu-zis a codului VHDL pentru fiecare dintre elementele menionate mai sus, se compileaz proiectul, iar dac nu avem erori, se trece la etapa de simulare. De fapt, simularea este doar un fragment al unei etape mai ample, numit verificare. Este vorba de o verificare funcional, n care se verific logica circuitului, fr a ine seam de aspectele de temporizare (ntrzierile introduse de pori se consider nule), urmat de o verificare temporal, care are un caracter preliminar. Dup verificare se trece la stadiul de finalizare a proiectului. Descrierea VHDL se transpune ntr-un set de primitive ce pot fi asamblate n tehnologia propus. Aceste primitive se aplic resurselor de dispozitive disponibile, folosind un instrument de aplicare, iar n final, se face o verificare temporal final a circuitului rezultat dup aplicare.

98
A B C p1 p2 S1

6 ANALIZA I SINTEZA AUTOMAT

p3 S2

Fig. 6.9 Schema logic a unei structuri combinaionale Pentru a introduce cteva dintre conceptele limbajului VHDL vom considera circuitul foarte simplu din figura 6.9. Pentru verificarea codului creat i simularea circuitului am folosit versiunea freeware a programului VHDL Simili 2.2, realizat de firma Symphony EDA. Aceast versiune are unele limitri funcionale i poate fi folosit timp de cteva luni. La depirea acestui timp, se poate descrca din Internet o versiune actualizat freeware a programului. Un cod posibil VHDL pentru circuitul din figura 6.9 este dat n figura 6.10. Dup declararea bibliotecilor folosite, se declar entitatea FUNC i apoi arhitectura asociat entitii. n exemplul din figura 6.10 s-a fcut o descriere comportamental a arhitecturii circuitului, n care ansamblul celor 3 pori logice este vzut ca o component, numit GATES, creia i se specific intrrile i ieirile, iar relaia dintre ele este dat de ecuaia F <= not((A and B) or (not C)). Mai exist o declaraie a semnalelor A, B, C i F, precum i variaiile lor n vederea simulrii. n final aceste semnale sunt mapate pe intrrile i ieirile componentei GATES, n ordinea n care au fost declarate. Componenta Sonata din VHDL Simili 2.2 ofer un mediu IDE (Integrated Development Environment) prietenos. Se creaz de la nceput un nou proiect prin File i NewWorkspace. Din acest moment toate aciunile din meniul principal devin posibile i se
.

library IEEE; use IEEE.STD_LOGIC_1164.all; entity FUNC is end; architecture VAR1 of FUNC is component GATES port (A, B, C: in STD_LOGIC; F: out STD_LOGIC); end component; signal A, B, C, F: STD_LOGIC; begin A <= '0', '1' after 100 NS, '0' after 300 NS; B <= '0', '1' after 200 NS, '0' after 400 NS; C <= '1', '0' after 350 NS; F <= not((A and B) or (not C)); M: GATES port map (A, B, C, F); end VAR1;

Fig. 6.10 Codul VHDL pentru descrierea i simularea circuitului din figura 6.9

6.1 Consideraii teoretice

99

Fig. 6.11 Mediul Sonata i cteva ferestre reprezentative creaz dou fiiere cu extensiile .sws i .sym. Se asociaz un set de fiiere VHDL cu biblioteca curent (fiierul surs tut.vhd n exemplul nostru), iar modulele entitate i arhitectur apar ca subcomponente ale fiierului tut.vhd n workspace. n figura 6.11 sunt prezentate patru ferestre reprezentative ale mediului Sonata: workspace, editorul de text, lista semnalelor vizualizate i fereastra de consol, care informeaz n permanen programatorul asupra aciunilor desfurate n mediul prezentat. Se face compilarea setului de fiiere ataat, sau a fiierului n exemplul nostru, i dac nu sunt semnalate erori n fereastra de consol, se poate trece la faza de simulare. Semnalele declarate sunt prezente n fereastra Scope i ele pot fi trimise n fereastra Signals prin procedeul Drag and Drop.

Fig. 6.12 Mediul Sonata i fereastra Waveforms

100

6 ANALIZA I SINTEZA AUTOMAT

Simularea se poate face fie n regim continuu, pn la valoarea de timp stabilit de proiectant, fie n pai care au o anumit durat ce poate fi selectat dup dorin. Formele de und din figura 6.12 (dreapta, sus) arat c funcionarea circuitului este corect. Este adevrat c n aceast simulare s-au neglijat timpii de propagare prin pori. Poriunea de cod din figura 6.13 genereaz o arhitectur structural a circuitului, fcnd o descriere la nivel de componente i interconexiuni. Circuitul este descris ca o interconectare a unor blocuri sau componente disponibile (pori logice, multiplexoare, memorii etc.). n acest context clasa signal va putea fi interpretat ca interconexiune. Descrierea structural este echivalent schemei electrice. Fiecare poart logic este introdus prin directiva component, se declar semnalele de intrare/ieire A, B, C, F, dar i semnalele interne S1 i S2 (vezi figura 6.9). Se precizeaz apoi variaia semnalelor de intrare, iar semnalele de intrare/ieire pentru fiecare component de circuit sunt mapate pe intrrile/ieirile fiecrei componente, conform schemei electrice a circuitului. Declaraiile de tip de componente sunt ns fr coninut deoarece lipsesc informaiile despre obiectele la care se refer. Aceste declaraii asigur denumiri formale proprii fiecrui fiier surs. Atribuirea coninutului se face prin asocierea numelor componentelor declarate cu entitile utilizate pentru fiecare component. n acest fel se pstreaz rezultatele anterioare la eventuale modificri de context, asigurndu-se modularitatea proiectrii, un mare avantaj al limbajului VHDL ([Burdia,1999]). Alte avantaje remarcabile ale limbajului VHDL sunt portabilitatea, independena proiectrii de tehnologia de integrare i simularea comportamental a circuitelor.
architecture VAR2 of FUNC is component and2gate port (A, B: in STD_LOGIC; F: out STD_LOGIC); end component; component invgate port (A: in STD_LOGIC; F: out STD_LOGIC); end component; component nor2gate port (A, B: in STD_LOGIC; F: out STD_LOGIC); end component; signal A, B, C, F: STD_LOGIC; signal S1, S2: STD_LOGIC; begin A <= '0', '1' after 100 NS, '0' after 300 NS; B <= '0', '1' after 200 NS, '0' after 400 NS; C <= '1', '0' after 350 NS; p1: and2gate port map(A, B, S1); p2: invgate port map(C, S2); p3: nor2gate port map(S1, S2, F); end VAR2;

Fig. 6.13 O alt descriere VHDL pentru circuitul din figura 6.9

6.2 Demonstraii practice

101

6.2 Demonstraii practice


6.2.1 Se lanseaz n execuie editorul grafic Schematics din mediul Design Center 5.2. Se deseneaz schema oscilatorului din figura 6.1 i se salveaz ntr-un fiier cu extensia .sch. Se editeaz n NOTEPAD fiierul text Input.stm, dat n figura 6.3, i se salveaz n acelai director cu fiierul surs *.sch. Se alege analiza .TRAN pe o durat de 10 s, folosind un pas de 100ns, i, dac nu sunt erori, apare mediul PROBE din care se aleg formele de und care ne intereseaz. Se verific dac ele corespund cu cele din figura 6.2 i se repet simularea cu modificarea unor parametri (constanta de timp RC, durata simulrii, pasul simulrii etc.). V
.

6.2.2 Se deseneaz n editorul grafic Schematics, pe aceeai foaie de lucru, schemele din figurile 6.7 i 6.8. Se editeaz n NOTEPAD un fiier de stimuli dup modelul din figura 6.14. Acest fiier, care are extensia *.stm, se salveaz n acelai director cu fiierul surs *.sch i se include n desen prin directiva INCLUDE. Se face analiza .TRAN i se confrunt rezultatul obinut cu cel din figura 6.15. Observai modul n care este generat semnalul de ceas n fiierul de stimuli. Observai modul n care sunt generate celelalte semnale de intrare. Explicai de ce s-au luat pai diferii pe scara timpului pentru semnalele START i T/R. Explicai de ce nivelele logice ale ieirilor nu sunt cunoscute n primele momente de timp de la nceputul simulrii i artai care este rolul semnalului RESET, semnal care nu apare n organigram. Verificai dac formele de und reprezint absolut toate tranziiile posibile din organigram i, n caz contrar, construii un alt fiier de stimuli care s evidenieze i acele tranziii care lipsesc. Se repet simularea i pentru alte semnale de intrare, punnd n eviden asincronismul intrrilor START i T/R.
UCLOCK STIM(1,1) $G_DPWR $G_DGND + CLOCK + IO_STM TIMESTEP=0.5u + 0c 0 + label=loop + 1c 1 + 2c 0 + 3c goto loop -1 times URESET STIM(1,1) $G_DPWR $G_DGND + RESET + IO_STM + TIMESTEP=0.5u + 0c 1 + 2c 0 + 6c 1 USTART STIM(1,1) $G_DPWR $G_DGND + START + IO_STM + TIMESTEP=0.2u + 0c 0 + 29c 1 + 57c 0 UREADY STIM(1,1) $G_DPWR $G_DGND + READY + IO_STM + TIMESTEP=0.5u + 0c 0 + 20c 1 + 25c 0 UT/R STIM(1,1) $G_DPWR $G_DGND + T/R + IO_STM + TIMESTEP=0.2u + 0c 0 + 53c 1 + 84c 0 UCYEND STIM(1,1) $G_DPWR $G_DGND + CYEND + IO_STM + TIMESTEP=0.5u + 0c 0 + 40c 1 + 50c 0

Fig. 6.14 Fiier de stimuli

102

6 ANALIZA I SINTEZA AUTOMAT

Fig. 6.15 Simularea PSPICE a funcionrii interfeei

6.2.3 Se analizeaz schema din figura 6.16 i se discut problema metastabilitii. Structura interfeei este memorat n aria combinaional prin starea fuzibilelor. Fiierul care conine aceast informaie se numete PAL.JED i este un fiier n format standard JEDEC (Joint Electronic Device Engineering Council). Figura 6.17 arat coninutul acestui fiier pentru exemplul considerat. Formele de und obinute n urma simulrii sunt practic identice cu cele obinute n figura 6.15, cu excepia semnalului RESET, care se activeaz de aceast dat pe 1 logic. Fiierul PAL.JED ncepe cu caracterul 02H (start of text) i se termin cu caracterul 03H (end of text) i este divizat n cmpuri, separate prin asterisc (*). Primul cmp este de identificare i conine numele circuitului, atribuirea pinilor i alte informaii. D este un identificator pentru tipul circuitului, G este fuzibilul de siguran, QF indic numrul total de fuzibile, iar F reprezint starea implicit a fuzibilelor. L este un identificator pentru lista fuzibilelor, numerotate de sus n jos i de la dreapta la stnga, ncepnd de la L0000. Structura intern a circuitului PAL 16R4 este dat n figura 6.18.

Fig. 6.16 Schema electric a interfeei realizat cu PAL16R4

6.2 Demonstraii practice


$DEVICE PAL16R4; $PIN 1=CLOCK; 2=START; 3=READY; 4=T/R; 5=CYEND; 6=RESET; 12=F/E; 13=CYCLE; 18=INACTIVE; 19=ATTENTION; $END * D1234* G0* QF2048* F0* L0000 11111111111111111111111111111111* L0032 11111111111111011111111111111111* L0064 11111111111111111110111111111111* L0256 11111111111111111111111111111111* L0288 11111111110111111111111111111111*

103
L0320 11111111111111101111111111111111* L0352 11111111111111111101111111111111* L0512 11111111111011101111111111111111* L0544 11111111111111011110111111111111* L0576 11111111101111011111111111111111* L0608 11111111111111110111111111111111* L0768 11111111111011101110111111111111* L0800 11111111111111011101111111111111* L0832 11111011111111111101111111111111* L0864 11111111110110101111111111111111* L0896 11111111111111110111111111111111* L1024 11111111110111101111111111111111* L1056 11111111111111011101111111111111* L1088 11110111111111111101111111111111* L1120 10111111111111101110111111111111* L1152 11111111111111110111111111111111* L1536 11111111111111111111111111111111* L1568 11111111111011111111111111111111* L1600 11111111111111011111111111111111* L1792 11111111111111111111111111111111* L1824 11111111111011111111111111111111* L1856 11111111111111101111111111111111*

Fig. 6.17 Coninutul fiierului PAL.JED

6.2.4 Se lanseaz n execuie mediul Sonata din programul Symphony EDA, grupul VHDL Simili 2.2 i se introduce numele unui nou proiect, selectnd din meniul File opiunea NewWorkspace. Se verific faptul c toate aciunile din meniu devin posibile (compilarea, simularea etc.). Se editeaz n fereastra de editare codul VHDL propus n figura 6.10 i se salveaz ntr-un fiier .vhd, fiier care se asociaz cu biblioteca curent. Se compileaz fiierul creat (prima opiune din meniul Compile) i dac nu exist erori n fereastra de consol, atunci se poate simula funcionarea circuitului. Dup alegerea pasului de simulare (de exemplu 100ns), din meniul Simulate se alege opiunea Go i la apariia ferestrei formelor de und se selecteaz prin Drag and Drop semnalele pe care dorim s le vizualizm din lista de semnale existente n fereastra Scope. n continuare, la fiecare apsare de buton se deseneaz noile forme de und pe durata pasului de simulare. Verificai c semnalele obinute coincid cu cele din figura 6.12. Complicai fiierul surs, introducnd i timpii de ntrziere prin pori i reluai simulrile de mai sus. V
.

6.2.5 Se modeleaz automatul finit descris prin organigrama din figura 6.5. Modelarea se poate face folosind instruciunea case. Variantele definite n instruciunea case modeleaz comportamentul n fiecare stare. Starea la un moment dat poate fi memorat ntr-un semnal. Sursa VHDL pentru o arhitectur comportamental este dat n figura 6.19. Semnalele de intrare pentru simularea entitii interfaa se pot introduce separat cu ajutorul unui fiier de comenzi, sau pot fi descrise ntr-un alt fiier .vhd, care se compileaz mpreun cu fiierul care descrie circuitul. Vizualizai formele de und i verificai comportarea automatului pentru toate tranziiile posibile. ncercai s construii un nou fiier surs care s realizeze o descriere structural a automatului, asemntoare celei din figura 6.13. Verificai prin simulare funcionarea corect a structurii.

104

6 ANALIZA I SINTEZA AUTOMAT

Fig. 6.18 Structura intern a circuitului PAL16R4

106

6 ANALIZA I SINTEZA AUTOMAT

6.3 Probleme rezolvate


6.3.1 Nivelele logice ale semnalelor de ieire reprezentate n figura 6.15 nu sunt cunoscute n prima microsecund de la nceputul simulrii. Explicai de ce i artai cum se poate rezolva aceast problem.
Rezolvare: Este exact aceeai problem semnalat la oscilatorul din figura 6.1. Bistabilele din structura PAL nu sunt iniializate, deci valorile ieirilor Q2 , Q1 i Q0 , precum i valorile ieirilor ATTENTION, INACTIVE, CYCLE i F/E, care la rndul lor sunt generate de ieirile bistabilelor, nu sunt cunoscute la nceputul simulrii. Aici nu este vorba de starea de nalt impedan (high Z), ci de nivele logice 0 sau 1, dar care sunt necunoscute pentru simulator. Soluia const n introducerea unui semnal de RESET, care aplic un nivel logic de 0 pe intrrile bistabilelor din structur, iar la activarea semnalului de ceas acestea se reseteaz. Din acest moment toate ieirile automatului sunt cunoscute i simulatorul poate analiza funcionarea circuitului. Spre deosebire de bistabilele discrete, cele din structura PAL nu sunt prevzute cu intrri asincrone de SET i RESET. Este evident c la circuitele reale aceast problem nu apare pentru c ieirile bistabilelor au o valoare logic ferm la cuplarea alimentrii, deci ele sunt automat iniializate, iar comportarea lor viitoare depinde de semnalele aplicate pe intrrile circuitului. V
.

6.3.2 Scriei o secven de cod VHDL pentru generarea unui semnal periodic de ceas necesar sistemelor secveniale sincrone.
Rezolvare: (dup [Burdia, 1999]) Cea mai simpl metod de generare a unei secvene periodice este utilizarea instruciunii de atribuire concurent pentru semnale: a <= not a after 10 ns; Rezultatul este o form de und periodic cu perioada T = 20 ns i factor de umplere de 50%, dac semnalul este de tip bit. Pentru tipul std_logic valoarea de iniializare nu mai este 0, ca la tipul bit, ci U, adic necunoscut. Deci expresia not U rmne tot U i semnalul apare ca fiind necunoscut pe toat durata simulrii. O alt variant de generare a acestui semnal este utilizarea ntr-un proces a instruciunii wait, cu observaia c trebuie s existe o limitare explicit a timpului simulat printr-o introducere condiionat fr limit de timp a lui wait. Codul pentru acest proces este dat mai jos: process begin wait for 10 ns; a <= 1; wait for 20 ns; a <= 0; end process; V

6.3.3 Scriei un program VHDL pentru un decodificator BCD 7 segmente.


Rezolvare: (dup [Crstea, 2001]) Considerm c vectorul aplicat pe cele 7 segmente ale afiajului este abcdefg, pstrnd notaiile din problema 2.3.2. Codul VHDL pentru acest circuit este dat n figura 6.20.

6.3 Probleme rezolvate


library IEEE; use IEEE.std_logic_1164.all; entity decodificator is port (CNTIN: in STD_LOGIC_VECTOR (3 downto 0); CNTOUT: out STD_LOGIC_VECTOR (6 downto 0)); end decodificator; architecture dec_arch of decodificator is begin

107

end dec_arch;

WITH CNTIN SELECT CNTOUT <= "1111110" WHEN "0000", "0110000" WHEN "0001", "1101101" WHEN "0010", "1111001" WHEN "0011", "0110011" WHEN "0100", "1011011" WHEN "0101", "1011111" WHEN "0110", "1110000" WHEN "0111", "1111111" WHEN "1000", "1111011" WHEN "1001", "0000000" WHEN OTHERS;

Fig. 6.20 Un program VHDL pentru decodificatorul BCD 7 segmente Entitatea decodificator este format dintr-un bloc care are 4 bii de intrare grupai n magistrala CNTIN i 7 bii de ieire grupai n magistrala CNTOUT. Aceste semnale sunt tratate ca vectori. Arhitectura circuitului este de tip comportamental, urmrind cazurile posibile descrise n tabelul de adevr al decodificatorului BCD-7segmente. Instruciunea WITH CNTIN SELECT specific faptul c valorile celor patru elemente componente ale vectorului CNTIN se vor utiliza mpreun pentru a selecta o valoare care va fi ncrcat n cele 7 elemente ale vectorului CNTOUT. Observm c LED-urile afiajului sunt aprinse pentru valoarea logic 1 aplicat segmentului respectiv, deci pentru celelate combinaii binare care sunt interzise n codul BCD segmentele afiajului sunt stinse. V

6.3.4 Scriei un program VHDL pentru un automat finit cu dou intrri sincrone A i B i cu o ieire Y. Ieirea trebuie s fie 1 dac numrul de valori 1 aplicate pe cele 2 intrri, dup ultima reiniializare, este multiplu de 4; iar n celelalte cazuri ieirea trebuie s fie 0.
Rezolvare: (dup [Wakerly, 2002]) O variant de program VHDL care rezolv problema dat este prezentat n figura 6.21. n cadrul arhitecturii se declar un subtip COUNTER, care este o valoare UNSIGNED de 2 bii. Apoi declarm un semnal COUNT de acest tip, pentru a pstra numrul valorilor 1, i o constant ZERO, de acelai tip, pentru iniializarea i verificarea valorii COUNT. n cadrul procesului, se verific apariia frontului cresctor al ceasului, iar clauza if face o reiniializare sincron, n timp ce else adaug la COUNT un 0, 1 sau 2, dup cum apar biii de 1 pe intrrile A i B. Expresia de tipul (0,X) este o variabil literal tablou, iar tipul ei este compatibil cu UNSIGNED. Deci se poate face operaia de adunare, definit n pachetul std_logic_arith. n exteriorul procesului, instruciunea simultan de atribuire a semnalelor impune valoarea 1 la ieirea Y atunci cnd COUNT este zero.

108
library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all;

6 ANALIZA I SINTEZA AUTOMAT

entity numarator is port(CLOCK, RESET, A, B: in std_logic; Y: out std_logic); end numarator; architecture automat_finit of numarator is subtype COUNTER is UNSIGNED (1 downto 0); signal COUNT: COUNTER; constant ZERO: COUNTER := "00"; begin process(CLOCK) begin if CLOCK'event and CLOCK = '1' then if RESET = '1' then COUNT <= ZERO; else COUNT <= COUNT + ('0', A) + ('0', B); end if; end if; end process;
Y <= '1' when COUNT = ZERO else '0'; end automat_finit;

Fig. 6.21 Un program VHDL pentru automatul de numrare a valorilor de 1 pe intrri

6.3.5 Reluai problema 6.3.4 i modificai procesul VHDL pentru acelai automat, artnd care sunt opiunile posibile folosind o instruciune case.
Rezolvare: (dup [Wakerly, 2002]) Vom prezenta n figura 6.22 numai modificarea adus procesului. Prin formularea corespunztoare a opiunilor dintr-o instruciune case, devine posibil funcionarea n paralel a celor dou circuite de incrementare, iar pentru selecia uneia dintre ieiri se poate folosi un multiplexor.
process(CLOCK)

variable ONES: STD_LOGIC_VECTOR (1 to 2);


begin if CLOCK'event and CLOCK = '1' then

ONES := (A, B);


if RESET = '1' then COUNT <= ZERO;

end if; end if; end process;

else case ONES is when "01" | "10" => COUNT <= COUNT + "01"; when "11" => COUNT <= COUNT + "10"; when others => null; end case;

Fig. 6.22 Un alt proces VHDL pentru automatul de numrare a valorilor de 1 pe intrri

S-ar putea să vă placă și