17
1 REGISTRE DE DEPLASARE 1 Registre de deplasare 1.1 Automate sincrone cu registre de deplasare Problema 1. a se implementeze un registru de deplasare pe 4 bit ¸i cu bistabile D. Se cere ca registrul sˇ a poatˇ ıncˇ arca paralel o secvent ¸ˇ a b 3 b 2 b 1 b 0 sincron cu frontul semnalului de tact. Rezolvare: Registrele de deplasare sunt caracterizate de transferul serial de bit ¸i ˆ ıntre celulele componente. Ecuat ¸ia specificˇ a care descrie deplasarea serialˇ a a datelor ˆ ıntr-un registru cu bistabile D este D i =Q i-1 . Aceastˇ a ecuat ¸ie spune cˇ a la fiecare front al semnalului de tact bistabilul i din lant ¸ va copia cont ¸inutul bistabilului precedent i - 1. Astfel, registrul deplaseazˇ a cont ¸inutul sˇ au cu un bit spre dreapta sincron cu fronturile semnalului de tact. Prima celulˇ a prime¸ ste un bit din exterior prin intrarea serialˇ a IS, iar bitul din ultima celulˇ a se pierde. Pentru a putea ˆ ıncˇ arca parelel o secvent ¸ˇ a de bit ¸i din exterior, registrul trebuie sˇ a aibˇ a un semnal adit ¸ional de comandˇ a care sˇ a facˇ a diferent ¸ˇ ıntre operat ¸ia de deplasare ¸ si cea de ˆ ıncˇ arcare paralelˇ a. Dacˇ a semnalul de comandˇ a a operat ¸iei este MC (M ode C ontrol ), atunci tabelul de adevˇ ar al registrului se poate scrie dupˇ a cum urmeazˇ a: MC IS ecuat ¸ia act ¸iune 0 a D i = Q i-1 deplasare serialˇ a 1X D i = Q i = b i ˆ ıncˇ arcare paralelˇ a Tabelul 1.1 Din tabel poate fi dedusˇ a ecuat ¸ia restrˆ ansˇ a pentru intrarea D i a unui bistabil: D i = MC · Q i-1 + MC · b i Aceastˇ a ecuat ¸ie este caracteristicˇ a unui multiplexor cu douˇ a canale avˆ and la adresˇ a semnalul MC, iar la cele douˇ a intrˇ ari bitul din exterior b i ¸ si ie¸ sirea bistabilului prece- dent. Implementarea completˇ a a registrului pe 4 bit ¸i cu ˆ ıncˇ arcare paralelˇ a sincronˇ a este datˇ ın figura 1.1. CK D 3 Q 3 I 0 I 1 A Y I 0 I 1 A Y I 0 I 1 A Y I 0 I 1 A Y Q 3 CK D 2 Q 2 Q 2 CK D 1 Q 1 Q 1 CK D 0 Q 0 Q 0 CK IS MC b 3 b 2 b 1 b 0 Figura 1.1 1

Registri de deplasare

Embed Size (px)

Citation preview

Page 1: Registri de deplasare

1 REGISTRE DE DEPLASARE

1 Registre de deplasare

1.1 Automate sincrone cu registre de deplasare

Problema 1. Sa se implementeze un registru de deplasare pe 4 biti cu bistabile D.Se cere ca registrul sa poata ıncarca paralel o secventa b3b2b1b0 sincron cu frontulsemnalului de tact.

Rezolvare: Registrele de deplasare sunt caracterizate de transferul serial de biti ıntrecelulele componente. Ecuatia specifica care descrie deplasarea seriala a datelor ıntr-unregistru cu bistabile D este Di=Qi−1. Aceasta ecuatie spune ca la fiecare front alsemnalului de tact bistabilul i din lant va copia continutul bistabilului precedent i−1.Astfel, registrul deplaseaza continutul sau cu un bit spre dreapta sincron cu fronturilesemnalului de tact. Prima celula primeste un bit din exterior prin intrarea seriala IS,iar bitul din ultima celula se pierde.

Pentru a putea ıncarca parelel o secventa de biti din exterior, registrul trebuie sa aibaun semnal aditional de comanda care sa faca diferenta ıntre operatia de deplasare sicea de ıncarcare paralela. Daca semnalul de comanda a operatiei este MC (ModeControl), atunci tabelul de adevar al registrului se poate scrie dupa cum urmeaza:

MC IS ecuatia actiune0 a Di = Qi−1 deplasare seriala1 X Di = Qi = bi ıncarcare paralela

Tabelul 1.1

Din tabel poate fi dedusa ecuatia restransa pentru intrarea Di a unui bistabil:

Di = MC ·Qi−1 + MC · bi

Aceasta ecuatie este caracteristica unui multiplexor cu doua canale avand la adresasemnalul MC, iar la cele doua intrari bitul din exterior bi si iesirea bistabilului prece-dent. Implementarea completa a registrului pe 4 biti cu ıncarcare paralela sincronaeste data ın figura 1.1.

CK

D3 Q3

I0I1A

YI0I1A

YI0I1A

YI0I1A

Y

Q3 CK

D2 Q2

Q2 CK

D1 Q1

Q1 CK

D0 Q0

Q0CK

IS

MCb3 b2 b1 b0

Figura 1.1

1

Page 2: Registri de deplasare

1 REGISTRE DE DEPLASARE

Problema 2. Sa se proiecteze un registru de deplasare pe 8 biti cu ajutorul registruluiintegrat 7495.

Rezolvare: Circuitul 7495 este un registru de deplasare integrat pe 4 biti cu ıncarcareparelela sincrona, functionand conform cerintelor de la problema 1, dar. Pentru a im-plementa un registru pe 8 biti se extinde capacitatea ınseriind doua 7495 identice.Inserierea se realizeaza conectand iesirea QD a ultimei celule dintr-un registru la in-trarea seriala IS a celui de-al doilea. Semnalele CK si MC se aplica ın comun celordoua registre 7495. Rezulta schema din figura 1.2.

1

A

2

MC

B

C

D1

A

2

MC

B

C

D

iesire seriala

Figura 1.2

Problema 3. Sa se proiecteze un convertor paralel-serie pe 6 biti cu registre dedeplasare 7495.

Rezolvare: Convertoarele paralel-serie sunt circuite care accepta la intrare simultanun numar de biti egal cu specificatiile problemei si furnizeaza secvential la iesireaseriala bitii ıncarcati. Conversia se implementeaza cu un registru de deplasare prinıncarcarea paralela a bitilor si deplasarea acestora spre iesire sincron cu fronturile unuisemnal de tact.

In cazul concret, daca cei 6 biti ıncarcati paralel sunt b6-b0, primul bit la iesireaseriala va fi b0 acesta aparand chiar de la ıncarcare. La primul front de tact b0 sepierde, secventa se deplaseaza cu 1 bit, iesirea seriala devenind b1. Incarcarea uneisecvente noi de biti poate avea loc numai atunci cand si ultimul bit din secventa, b6, afost mentinut o perioada de tact la iesirea seriala. Acest lucru ınseamna ca semnalulde comanda MC trebuie sa fie comutat ın 1 odata la 6 perioade de tact, iar factorulde umplere trebuie sa fie 1/6 pentru a comanda corect deplasarea secventei. Practic,MC se obtine din semnalul de tact cu ajutorul unui divizor de frecventa pe 6 biti(de exemplu iesirea Cy a unui numarator divizor cu 6). Lungimea registrului trebuieextinsa de la 4 la 8 biti pentru a acoperi cele 6 stari din specificatiile problemei. Schemaconvertorului rezulta ca ın figura 1.3.

Problema 4. Sa se implementeze un convertor serie-paralel pe 6 biti cu registre dedeplasare 7495.

Rezolvare: Convertoarele serie-paralel fac operatia de conversie inversa fata de cir-cuitul din problema precedenta. Conversia este implementata tot cu un registru dedeplasare a carui lungime trebuie sa acopere numarul de biti specificat de problema.Diferenta principala fata de convertorul paralel-serie este faptul ca intrarile paralele

2

Page 3: Registri de deplasare

1 REGISTRE DE DEPLASARE

ABCDT1

QA

T2

MCIS

QB

QC

QDCK

ABCDT1

QA

T2

MCIS

QB

QC

QD

iesire seriala

intrare paralela

6 biti

Figura 1.3

nu sunt utilizate, intrarea IS a registrului extins fiind intrarea seriala a convertorului.Semnalul MC are tot timpul valoarea 0, determinand deplasarea continua a secventeide biti. Preluarea bitilor la iesirea paralela se face cu ajutorul unui circuit tampon(latch) care memoreaza bitii ıntre conversiile succesive. In mod similar cu semnalulMC din problema precedenta, semnalul de validare En al latch-ului se obtine dinsemnalul de tact prin divizarea frecventei cu 6. Factorul de umplere trebuie sa fie tot1/6 pentru a comanda preluarea paralela a bitilor o singura data ın 6 perioade de tact.Schema convertorului este data ın urmatoarea figura:

1

A

2

MC

B

C

D

1

A

2

MC

B

C

D

01

23

0

12

3

01

23

0

12

3

Figura 1.4

Problema 5. Sa se implementeze cu registru de deplasare 7495 si porti logice au-tomatul de stare cu evolutia din figura 1.5.

Rezolvare: Pentru a implementa automate de stare cu registre de deplasare estenecesara evaluarea actiunilor care au loc la trecerea din starea prezenta ın starea/starileurmatoare. Tabelul extins de proiectare 1.2 care descrie functionare registrului dedeplasare 7495 se deduce din tabelul 1.1 de la problema 1.

3

Page 4: Registri de deplasare

1 REGISTRE DE DEPLASARE

DS1

DS0

DS1

DS1DS0 DS0

IP IP

IP

IP

IP

DS1IP

Figura 1.5

MC IS actiune0 0 deplasare seriala (DS0)0 1 deplasare seriala (DS1)1 X ıncarcare paralela (IP)

0 Pr.DS1 DS0+DS1Pr.IP 0 DS0+IPPr.IP 1 DS1+IP

1 X IP+IP

Tabelul 1.2

Identificand operatiile facute de registru la fiecare tranzitie si folosind tabelul deproiectare, rezulta tabelul de adevar de mai jos.

QAQBQCQD MC IS A B C D0 0 0 0 0 1 X X X X0 0 0 1 X X X X X X0 0 1 0 a 1 0 1 0 00 0 1 1 X X X X X X0 1 0 0 X X X X X X0 1 0 1 1 X a 1 0 10 1 1 0 X X X X X X0 1 1 1 X X X X X X1 0 0 0 0 0 X X X X1 0 0 1 0 a X X X X1 0 1 0 0 a X X X X1 0 1 1 X X X X X X1 1 0 0 1 X a 0 0 01 1 0 1 1 X 1 0 0 11 1 1 0 X X X X X X1 1 1 1 X X X X X X

Tabelul 1.3

Functiile MC, IS si A se obtine ın urma minimizarii cu diagrame Karnaugh (figura1.6), iar functiile D, C si B rezulta ca simple combinatii ale variabilelor de la iesirearegistrului. Schema cu registru de deplasare si porti logice a automatului este prezen-tata ın figura 1.7.

4

Page 5: Registri de deplasare

1 REGISTRE DE DEPLASARE

001X

QAQB01 1011

X 1

X

00

01

10

11 X

a X X

X

QCQD

X

1

00XX

QAQB01 1011

X X

X

00

01

10

11 X

1 X X

X

QCQD

X

X

MC=QB+aQAQC

1

a

a

00XX

QAQB01 1011

X X

X

00

01

10

11 X

X X

X

QCQD

X

1

X

a

a

A=QAQD+aQC

X

IS=QA+aQD+aQC

Figura 1.6

DCBA

ABCDT1

QA

T2

MCIS

QB

QC

QDCK

QD

QA

Figura 1.7

Problema 6. Sa se implementeze cu registru de deplasare 7495 si o memorie decapacitate 32x8 automatul de stare cu evolutia din urmatoarea diagrama de tranzitii.

DS1

DS0

DS1 DS1

DS1DS0

DS0

DS0

IPIP

IP

Figura 1.8

Rezolvare: Tabelul de adevar corespunzator diagramei de tranzitii din aceasta prob-lema se completeaza ın aceeasi maniera ca si cel de la problema precedenta. FunctiileMC, IS, A, B, C si D sunt implementate cu o memorie PROM 32x8. Pentru aceastaiesirile registrului se conecteaza la adresele memoriei asa cum este aratat ın figura 1.9.

5

Page 6: Registri de deplasare

1 REGISTRE DE DEPLASARE

La adresa cea mai putin semnificativa A0 se conecteaza parametrul a.

QAQBQCQD MC IS A B C D0 0 0 0 0 1 X X X X0 0 0 1 X X X X X X0 0 1 0 X X X X X X0 0 1 1 X X X X X X0 1 0 0 1 X 0 0 0 00 1 0 1 X X X X X X0 1 1 0 1 X 0 1 0 00 1 1 1 1 X 0 1 1 01 0 0 0 0 a X X X X1 0 0 1 X X X X X X1 0 1 0 X X X X X X1 0 1 1 X X X X X X1 1 0 0 0 a X X X X1 1 0 1 X X X X X X1 1 1 0 0 a X X X X1 1 1 1 0 0 X X X X

Tabelul 1.4

1

A

2

B

C

D

0

1

2

3

4

0

1

2

3

4

5

6

7

Figura 1.9

In harta de programare a memoriei se completeaza cate doua linii de adresa pentrufiecare linie din tabelul de adevar, una corespunzatoare parametrului a=0 si cealaltapentru a=1. Pentru memorarea functiilor MC, IS, A, B, C si D sunt necesare doar 6coloane din cele 8 ale memoriei, prin urmare pe ultimele doua coloane se trece 0 logic.Harta completata este data ın tabelul 1.5.

Problema 7. Sa se implementeze cu registru de deplasare 7495 si MUX4:1 automatulde stare cu evolutia din figura 1.10. Pornind de la starea initiala QAQBQCQD=0000,completati cronograma din figura 1.11 ın functie de evolutia parametrilor a si b.

6

Page 7: Registri de deplasare

1 REGISTRE DE DEPLASARE

A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7

(QA)(QB)(QC)(QD)(a) (A) (B) (C) (D) (MC) (IS) (−) (−)0 0 0 0 0 0 0 0 0 0 1 0 00 0 0 0 1 0 0 0 0 0 1 0 00 0 0 1 0 0 0 0 0 0 0 0 00 0 0 1 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 0 0 00 0 1 1 0 0 0 0 0 0 0 0 00 0 1 1 1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 1 0 0 00 1 0 0 1 0 0 0 0 1 0 0 00 1 0 1 0 0 0 0 0 0 0 0 00 1 0 1 1 0 0 0 0 0 0 0 00 1 1 0 0 0 1 0 0 1 0 0 00 1 1 0 1 0 1 0 0 1 0 0 00 1 1 1 0 0 1 1 0 1 0 0 00 1 1 1 1 0 1 1 0 1 0 0 01 0 0 0 0 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 0 0 1 0 01 0 0 1 0 0 0 0 0 0 0 0 01 0 0 1 1 0 0 0 0 0 0 0 01 0 1 0 0 0 0 0 0 0 0 0 01 0 1 0 1 0 0 0 0 0 0 0 01 0 1 1 0 0 0 0 0 0 0 0 01 0 1 1 1 0 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 0 1 0 01 1 0 0 1 0 0 0 0 0 0 0 01 1 0 1 0 0 0 0 0 0 0 0 01 1 0 1 1 0 0 0 0 0 0 0 01 1 1 0 0 0 0 0 0 0 0 0 01 1 1 0 1 0 0 0 0 0 1 0 01 1 1 1 0 0 0 0 0 0 0 0 01 1 1 1 1 0 0 0 0 0 0 0 0

Tabelul 1.5

DS1 DS0DS1

DS1 DS1

DS0

DS0

IP

IP IP

IPIP

DS1DS1DS1

Figura 1.10

7

Page 8: Registri de deplasare

1 REGISTRE DE DEPLASARE

QAQBQCQD MC IS A B C D0 0 0 0 0 1 X X X X0 0 0 1 X X X X X X0 0 1 0 X X X X X X0 0 1 1 1 X b 0 1 10 1 0 0 X X X X X X0 1 0 1 X X X X X X0 1 1 0 0 b X X X X0 1 1 1 0 1 X X X X1 0 0 0 a 1 1 0 0 01 0 0 1 X X X X X X1 0 1 0 X X X X X X1 0 1 1 a 1 1 1 1 01 1 0 0 0 a X X X X1 1 0 1 0 1 X X X X1 1 1 0 b 0 0 0 0 01 1 1 1 X X X X X X

Tabelul 1.6

Rezolvare: Semnalele de comanda MC,IS si intrarile paralele ABCD se com-pleteaza ın tabelul de adevar 1.6.

Functiile B, C si D se pot implementarelativ simplu pe baza valorilor corespun-zatoare din tabelul de adevar. Astfel, Bpoate fi conectat la 0 logic, iar C=D suntegale cu QA. Functiile A, IS si MCau forme mai complicate si vor fi imple-mentate conform cerintelor cu MUX4:1.Schema automatului implementat cu reg-istru si MUX4:1 este aratata ın figurile1.12 si 1.13. Evolutia semnalelor de laiesirile registrului ın functie de valorileparametrilor a si b la fiecare front al sem-nalului de tact poate fi urmarita ın figura1.14.

Problema 8. Sa se implementeze cu reg-istru de deplasare 7495 si o memorie de capacitate 32x8 automatul de stare cu evolutiadin figura 1.15.

Figura 1.11 Figura 1.12

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

I0

I1

A0

YI2I3

A1

QAQB

QAQB

QAQB QA

QB

QAQB

QAQB

QAQB

1

b

A b1

1a

1

a

a

b

QC

IS MC

Figura 1.13

Problema 9. Sa se implementeze cu registru de deplasare 7495 si multiplexoare

8

Page 9: Registri de deplasare

1 REGISTRE DE DEPLASARE

B

C

A

D

Figura 1.14

automatul de stare cu evolutia din figura 1.16.

DS1

DS1

IP

DS0DS1 DS0

DS0IP

DS0

DS1IP

DS1DS1

Figura 1.15

DS0

DS0

DS1

DS0 DS0

IP

IP

IP

DS1

DS0

DS1

Figura 1.16

9

Page 10: Registri de deplasare

1 REGISTRE DE DEPLASARE

1.2 Generatoare de semnal cu registre de deplasare

Problema 10. Sa se genereze semnalul Y din figura 1.17 cu registrul de deplasare7495 si porti, numai MUX4:1 si apoi cu o memorie PROM 32x8. Registrul de deplasarese va folosi pentru a genera secventa dorita, iar cu ajutorul memoriei se vor implementasemnalele MC, IS, D, C, B si A.

CK

Figura 1.17

Rezolvare: La generatoarele de semnale cu registre de deplasare este recomandat sageneram secventa prin cat mai multe deplasari serie si un numar minim de ıncarcariparalel. O alta indicatie este cea de a culege semnalul Y de pe iesirea cea mai putinsemnificativa QD a registrului. Organigrama se construieste astfel:

• se porneste de la o stare compusa din 4 biti, acesti bitii reprezentand secventaformata din primii 4 biti din semnalul care trebuie generat (scrisi ın ordineinversa!). Codificarea primei stari este aratata sugestiv pe cronograma de maijos;

• urmatoarea stare din diagrama de tranzitii se obtine printr-o deplasare serie,inseriind pe prima pozitie valoarea pe care o are semnalul de generat la a 5-aperioada de tact (b5). Ultimul bit al starii actuale, b0, se va pierde la tranzitie ;

• ın urmatorul pas se face deplasare serie cu valoarea pe care o are semnalul degenerat la a 6-a perioada de tact (b5) continuandu-se scrierea secventelor panala ultima perioada a semnalului generat. In acest moment avem completate unnumar de N -4 stari ale diagramei de tranzitii (N este lungimea secventei);

• datorita evolutiei ciclice a starilor, ultimele 3 deplasari serie se fac cu valorilesemnalului Y de pe durata primelor 3 perioade de tact (b0, b1 si b2);

• un caz particular ıl constituie trecerea din ultima stare ınapoi ın prima stare adiagramei. Aceasta trecere poate fi facuta prin deplasare serie sau prin ıncarcareparalela (cum este cazul de fata) ın functie de potrivirea bitilor.

Observatie: Functionarea corecta a automatului impune ca starile sa nu serepete. Daca prin deplasare serie se ajunge la o stare deja existenta ın diagramade tranzitii, atunci urmatoarea stare se va obtine obligatoriu printr-o ıncarcareparalela care sa evite aparitia unor stari duble.

Urmand pasii de mai sus se obtine diagrama de tranzitii din figura 1.18. Tabelul deadevar 1.7 se poate completa tinand cont de actiunile registrului la fiecare tranzitie.Implementarea functiilor A, B, C si D se face prin simpla analiza a tabelului deadevar, ınsa pentru MC si IS, care au expresii mai complicate, minimizare se face cu

10

Page 11: Registri de deplasare

1 REGISTRE DE DEPLASARE

diagrame Karnaugh (figura 1.19). Functiile obtinute se implementaza cu porti logiceca ın figura 1.20.

O alta varianta de realizare a generatorului de semnale este aceea ın care funtiile MCsi IS se implementeaza cu MUX4:1 si porti, asa cum este aratat ın figura 1.21.

In a treia varianta de implementare toate functiile A, B, C, D, MC si IS sunt furnizatela iesirile unei memorii 32x8. Pentru aceasta iesirile registrului se conecteaza la adreselememoriei, cu observatia ca adresa cea mai semnificativa A4 a memoriei nu este uti-lizata, prin urmare se conecteaza la masa.

CK

DS1

DS1DS1

DS1 DS1

IP

DS0

DS0 DS1DS0

b1 b2 b3 b4 b5 b6 b7 b8 b9 b10

b4 b3 b2 b1

Y=QD

b5 b4 b3 b2 b6 b5 b4 b3 b7 b6 b5 b4 b8 b7 b6 b5

b3 b2 b1 b10 b2 b1 b10 b9 b1 b10 b9 b8 b10 b9 b8 b7 b9 b8 b7 b6

Figura 1.18

QAQBQCQD MC IS A B C D0 0 0 0 X X X X X X0 0 0 1 X X X X X X0 0 1 0 X X X X X X0 0 1 1 0 1 X X X X0 1 0 0 0 1 X X X X0 1 0 1 1 X 0 1 1 00 1 1 0 0 1 X X X X0 1 1 1 0 0 X X X X1 0 0 0 X X X X X X1 0 0 1 0 0 X X X X1 0 1 0 0 1 X X X X1 0 1 1 0 1 X X X X1 1 0 0 X X X X X X1 1 0 1 0 1 X X X X1 1 1 0 0 0 X X X X1 1 1 1 X X X X X X

Tabelul 1.7

In harta de programare a memoriei din tabelul 1.8 se completeaza doar primele 16 liniicu informatia din tabelul de adevar. Cea de-a doua jumatate a hartii se completeazacu 0 logic, la fel si cele doua coloane O6 si O7 care nu folosesc la implementarea unorfunctii.

Problema 11. Sa se genereze semnalul X din figura 1.23 cu registrul de deplasare

11

Page 12: Registri de deplasare

1 REGISTRE DE DEPLASARE

A B

C D

B C A D

A B

C D

A C D

Figura 1.19

ABCDT1

QA

T2

MCIS

QB

QC

QDCK

1

Y

A B C D

Figura 1.20

0

1

0

2

3

1

0

1

0

2

3

1

A

B

A

B

1

A

2

B

C

D

C

D

C

D

D

Figura 1.21

7495 si porti, numai MUX2:1 si apoi cu o memorie PROM 32x8. Registrul de deplasarese va folosi pentru a genera secventa dorita, iar cu ajutorul memoriei se vor implementasemnalele MC, IS, D, C, B si A.

12

Page 13: Registri de deplasare

1 REGISTRE DE DEPLASARE

1

A

2

B

C

D 0

1

2

3

4 0

1

2

3

4

5

6

7

Figura 1.22

A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7

(0)(QA)(QB)(QC)(QD) (A) (B) (C) (D) (MC) (IS) (−) (−)0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 0 0 0 00 0 0 1 1 0 0 0 0 0 1 0 00 0 1 0 0 0 0 0 0 0 1 0 00 0 1 0 1 0 1 1 0 1 0 0 00 0 1 1 0 0 0 0 0 0 1 0 00 0 1 1 1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 0 00 1 0 0 1 0 0 0 0 0 0 0 00 1 0 1 0 0 0 0 0 0 1 0 00 1 0 1 1 0 0 0 0 0 1 0 00 1 1 0 0 0 0 0 0 0 0 0 00 1 1 0 1 0 0 0 0 0 1 0 00 1 1 1 0 0 0 0 0 0 0 0 00 1 1 1 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0

......

......

......

......

...1 1 1 1 1 0 0 0 0 0 0 0 0

Tabelul 1.8

Figura 1.23 Figura 1.24

13

Page 14: Registri de deplasare

1 REGISTRE DE DEPLASARE

Problema 12. Sa se genereze semnalele P si R din figura 1.24 cu un registru dedeplasare 7495 si o memorie PROM 32x8. Registrul de deplasare se va folosi pentru agenera secventele dorite, iar cu ajutorul memoriei se vor implementa semnalele MC,IS, D, C, B si A.

Rezolvare: Rezolvarea acestei probleme porneste cu alegerea iesirilor de unde se culegsemnalele generate. Pentru aceasta se compara cele doua semnale care trebuie generatesimultan si se identifica asemanarile dintre ele. In mod specific se cauta secvente catmai lungi ale unuia dintre semnale care se aseamana cu secvente din celalalt semnaldeplasat cu cel mult 3 perioade de tact la stanga sau dreapta. Problema are solutiimultiple ın functie de secventele gasite si de gradul de asemanare dintre semnale. Inmajoritatea cazurilor identificarea asemanarilor devine mai usoara daca se deseneazacel putin doua cicluri ıntregi ale semnalelor. In cazul concret, semnalele P si R pot firedesenate ca ın figura 1.25.

CK CK

CK

Figura 1.25

QAQBQCQD MC IS A B C D0 0 0 0 X X X X X X0 0 0 1 1 X 1 0 1 00 0 1 0 X X X X X X0 0 1 1 0 0 X X X X0 1 0 0 X X X X X X0 1 0 1 X X X X X X0 1 1 0 0 0 X X X X0 1 1 1 X X X X X X1 0 0 0 X X X X X X1 0 0 1 X X X X X X1 0 1 0 0 1 X X X X1 0 1 1 X X X X X X1 1 0 0 0 0 X X X X1 1 0 1 1 X 1 1 0 01 1 1 0 X X X X X X1 1 1 1 X X X X X X

Tabelul 1.9

Din cronograma se observa ca sem-nalele P si R sunt asemanatoare si deca-late ıntre ele cu doua perioade de tact.Asemanarile sunt marcate sugestiv cusageti. Diferentele sunt marcate cu linieıntrerupta si sageti duble. Semnalul Peste ın urma semnalului R cu 2TCK .Din acest motiv, se pot alege iesirileP=QD si R=QB . Semnalele pot fi re-desenate pentru a servi la completareadiagramei de tranzitii. Starile completese obtin identificand progresiv pozitiabitilor ın timp, ınainte si dupa stareaactuala. La identificarea tranzitiilor setine cont de cerintele de unicitate alestarilor. Secventele rearanjate si dia-grama de stari corespunzatoare sunt ilus-trate ın figura 1.26. Tabelul de adevar secompleteaza ın mod similar ca si la prob-lemele precedente (tabelul 1.9).

Schema cu registru de deplasare si memorie este aratata ın figura 1.27. In harta deprogramare a memoriei din tabelul 1.10 se utilizeaza doar prima jumatate, liniile sicoloanele neutilizate se ınscriu cu 0 logic.

14

Page 15: Registri de deplasare

1 REGISTRE DE DEPLASARE

IP DS0

DS0

DS1

DS0

IP

semnalele rearanjate in timp

CK

R=QB

P=QD

Figura 1.26

1

A

2

B

C

D 0

1

2

3

4 0

1

2

3

4

5

6

7

Figura 1.27

Problema 13. Sa se genereze semnalele X si Y din figura 1.28 cu un registru dedeplasare 7495 si MUX8:1. Multiplexoarele se vor folosi pentru a implementa semnaleleMC, IS, D, C, B si A.

CK

Figura 1.28

Rezolvare: Din analiza cronogramei rezulta ca semnalele X si Y sunt identice pe 6perioade de tact din cele 9, Y fiind ıntarziat fata de X cu o perioada de tact. Astfel,este indicat sa alegem iesirile X=QC si Y =QD. Diagrama de tranzitii rezulta ca ınfigura 1.29. Tabelul de adevar 1.11 se completeaza tinand cont se actiunile care au locla trecerea dintr-o stare ın alta a organigramei.

Din tabelul de adevar reiese ca A=D=QC si B=C=0. Functiile MC si IS se realizeazacu MUX8:1 asa cum este aratat ın figura 1.30.

15

Page 16: Registri de deplasare

1 REGISTRE DE DEPLASARE

A4 A3 A2 A1 A0 O0 O1 O2 O3 O4 O5 O6 O7

(0)(QA)(QB)(QC)(QD) (A) (B) (C) (D) (MC) (IS) (−) (−)0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 1 1 0 1 0 1 0 0 00 0 0 1 0 0 0 0 0 0 0 0 00 0 0 1 1 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 0 00 0 1 0 1 0 0 0 0 0 0 0 00 0 1 1 0 0 0 0 0 0 0 0 00 0 1 1 1 0 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 0 0 0 00 1 0 0 1 0 0 0 0 0 0 0 00 1 0 1 0 0 0 0 0 0 1 0 00 1 0 1 1 0 0 0 0 0 0 0 00 1 1 0 0 0 0 0 0 0 0 0 00 1 1 0 1 1 1 0 0 1 0 0 00 1 1 1 0 0 0 0 0 0 0 0 00 1 1 1 1 0 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 0 0 0 0

......

......

......

......

...1 1 1 1 1 0 0 0 0 0 0 0 0

Tabelul 1.10

DS1

DS1DS1

DS0 DS0

IP

IP

DS0

DS0

Figura 1.29

0

1

0

23

12

6

5

7

4

0

1

0

23

12

6

5

7

4 ISMC

QA

QB

QC

QA

QB

QC

ABCDT1

QA

T2

MCIS

QB

QC

QDCK

QCQD

1

1

XY

Figura 1.30

16

Page 17: Registri de deplasare

1 REGISTRE DE DEPLASARE

QAQBQCQD MC IS A B C D0 0 0 0 1 X 1 0 0 10 0 0 1 X X X X X X0 0 1 0 1 X 0 0 0 00 0 1 1 X X X X X X0 1 0 0 0 1 X X X X0 1 0 1 0 0 X X X X0 1 1 0 0 1 X X X X0 1 1 1 X X X X X X1 0 0 0 X X X X X X1 0 0 1 0 0 X X X X1 0 1 0 0 1 X X X X1 0 1 1 0 0 X X X X1 1 0 0 X X X X X X1 1 0 1 0 0 X X X X1 1 1 0 X X X X X X1 1 1 1 X X X X X X

Tabelul 1.11

17