Documente Academic
Documente Profesional
Documente Cultură
pentrunvmntulsuperiortehnic
ProiectareaLogic
21.Aplicatiialenumaratoarelor
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Numrtoarele de stare se mpart n doua clase: pure i hibride. Cele pure permit
numai una din patru stri urmtoare posibile: starea curent (numrtorul ateapt), starea
secvenial urmtoare (numrtorul numr), starea 0 (numrtorul se reseteaz), sau o stare
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
singular de salt (numrtorul ncarc). n acest caz, starea de salt este strict o funcie de
starea curent. Un numrtor hibrid suport aceleai tranziii, dar permite strii de salt s fie o
funcie att de intrri, ct i de starea curent.
Starea de salt este o funcie de starea curent, n timp ce intrrile resetare, ncrcare,
numrare ale registrului de stri depind de starea curent i de intrrile curente. Se face
presupunerea c resetarea precede ncrcarea, care la rndul ei preced numrarea. Blocurile
logice din figur pot fi implementate cu pori logice discrete, PAL/PLA (programmable array
logic/programmable logic arrays) sau ROM (read only memories). n mod frecvent se
folosesc circuite ROM pentru a implementa logica strii urmtoare.
Secvenionarea restrns a strilor numrtorului pur este dat n figura 14. Pentru a
profita maxim de registrul de stri al numrtorului, trebuie ca strile sa fie desemnate n
secven de numrare. Cea mai frecvent trecere a tranziiei trebuie aleas 0.
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Dup cum se observ, ecuaia pentru HOLD este mai simpl dect cea pentru CNT. Se
va implementa aadar HOLD i apoi se va face negarea.
Logica strii de salt S4 (OD) poate fi implementat cu un ROM ale crui intrri de
adrese sunt cei doi bii de codificare din IR.
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
APLICAII ALE
NUMARATOARELOR
_____________________________________________________________________________________________________________________________________________________________________________________
Codificri
Codificarea strilor i a semnalelor de ieire este fcut dup cum urmeaz:
Stare
S0
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
S13
Cod
stare
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
Simbol
ieire
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
C10
C11
Bistabilul JK
Implementarea unitii de control s-a realizat i din punctul de vedere al unui automat
clasic, n sensul implementrii prin folosirea bistabililor JK.
Circuitele basculante bistabile (bistabilii) sunt circuite cu dou stri stabile, trecerea
dintr-o stare n alta fcndu-se numai la modificarea unei variabile de intrare.
Structura bistabililor JK este prezentat n figura 19. n acest caz, J i K sunt intrrile
bistabilului, iar Q i Q' sunt ieirile. Tabelul de funcionare este:
J(t)
0
0
1
1
K(t)
0
1
0
1
Q(t)
x
x
x
x
Q(t+1)
Q(t)
0
1
Q'(t)
Proiectarea Logic
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
0000
RES
S1
0001
IF0
S2
0010
IF1
S3
0011
IF2
S4
0100
OD
S5
0101
LD0
S6
0110
LD1
S7
0111
LD2
S8
1000
ST0
S9
1001
ST1
S10
1010
AD0
S11
1011
AD1
S12
1100
AD2
S13
1101
BR0
Proiectarea Logic
1
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
x
x
0
1
1
0
0
1
x
x
x
x
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
x
x
x
x
x
x
x
x
x
x
0
0
1
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
0
Starea
curent
x
RES (S0)
IF0 (S1)
IF0 (S1)
IF1 (S2)
IF1 (S2)
IF2 (S3)
IF2 (S3)
OD (S4)
OD (S4)
OD (S4)
OD (S4)
LD0 (S5)
LD0 (S5)
LD1 (S6)
LD1 (S6)
LD2 (S7)
LD2 (S7)
ST0 (S8)
ST0 (S8)
ST1 (S9)
ST1 (S9)
AD0 (S10)
AD0 (S10)
AD1 (S11)
AD1 (S11)
AD2 (S12)
AD2 (S12)
BR0 (S13)
BR0 (S13)
Starea
urmtoare
RES (S0)
IF0 (S1)
IF0 (S1)
IF1 (S2)
IF1 (S2)
IF2 (S3)
IF2 (S3)
OD (S4)
LD0 (S5)
ST0 (S8)
AD0 (S10)
BR0 (S13)
LD0 (S5)
LD1 (S6)
LD1 (S6)
LD2 (S7)
LD2 (S7)
RES (S0)
ST0 (S8)
ST1 (S9)
ST1 (S9)
RES (S0)
AD0 (S10)
AD1 (S11)
AD1 (S11)
AD2 (S12)
AD2 (S12)
RES (S0)
RES (S0)
RES (S0)
10
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Tabela de tranziie
Reset
1
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
Wait
x
x
0
1
1
0
0
1
x
x
x
x
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
x
x
Proiectarea Logic
Intrri
IR15
x
x
x
x
x
x
x
x
0
0
1
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
IR14
x
x
x
x
x
x
x
x
0
1
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
AC15
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
0
Qt3
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
Stare curent
Qt2
Qt1
Qt0
x
x
x
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
t+1
Q3
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
Stare urmtoare
Q2t+1
Q1t+1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
0
Ieiri
t+1
Q0
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
0
0
0
C0
C1
C2
C2
C3
C4
C5
C5 ; C6
C5
C5
C2
C2
C3
C7
C8
C8
C9
C2
C2
C3
C10
C11
11
_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Wait
x
x
0
1
1
0
0
1
x
x
x
x
0
1
1
0
0
1
0
1
1
0
0
1
1
0
0
1
x
x
Intrri
IR15 IR14
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
0
0
0
1
1
0
1
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
Proiectarea Logic
AC15
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
1
0
Stare curent
Qt2 Qt1 Qt0
x
x
x
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
Qt3
x
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
t+1
Q3
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
1
1
1
0
1
1
1
1
1
0
0
0
Stare urmtoare
Q2t+1 Q1t+1 Q0t+1
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
JK 3
JK 2
JK 1
JK 0
J3 K3 J2 K2 J1 K1 J0 K0
x x x x x x x x
0 x 0 x 0 x 1 x
0 x 0 x 0 x x 0
0 x 0 x 1 x x 1
0 x 0 x x 0 0 x
0 x 0 x x 0 1 x
0 x 0 x x 0 x 0
0 x 1 x x 1 x 1
0 x x 0 0 x 1 x
1 x x 1 0 x 0 x
1 x x 1 1 x 0 x
1 x x 0 0 x 1 x
1 x x 0 0 x x 0
0 x x 0 1 x x 1
0 x x 0 x 0 0 x
0 x x 0 x 0 1 x
0 x x 0 x 0 x 0
0 x x 1 x 1 x 1
x 0 0 x 0 x 0 x
x 0 0 x 0 x 1 x
x 0 0 x 0 x x 0
x 1 0 x 0 x x 1
x 0 0 x x 0 0 x
x 0 0 x x 0 1 x
x 0 0 x x 0 x 0
x 0 1 x x 1 x 1
x 0 x 0 0 x 0 x
x 1 x 1 0 x 0 x
x 1 x 1 0 x x 1
x 1 x 1 0 x x 1
12
___________________________________________________________________________________________________________________________________________________________________________________________
Fiierul de ieire
.i 9
.o 8
.ilb reset wait ir15 ir14 .ilb reset wait ir15 ir14
ac15 q3 q2 q1 q0
ac15 q3 q2 q1 q0
.ob j3 k3 j2 k2 j1 k1 j0 k0
.ob j3 k3 j2 k2 j1 k1 j0 k0
.p 13
.p 30
1-------0----0000
00---0001
01---0001
01---0010
00---0010
00---0011
01---0011
0-00-0100
0-01-0100
0-10-0100
0-11-0100
00---0101
01---0101
01---0110
00---0110
00---0111
01---0111
00---1000
01---1000
01---1001
00---1001
00---1010
01---1010
01---1011
00---1011
00---1100
01---1100
0---11101
0---01101
.e
Proiectarea Logic
-------0-0-0-10-0-0--0
0-0-1--1
0-0--000-0--010-0--0-0
0-1--1-1
0--00-11--10-01--11-01--00-11--00--0
0--01--1
0--0-000--0-010--0-0-0
0--1-1-1
-00-0-0-00-0-1-00-0--0
-10-0--1
-00--00-00--01-00--0-0
-01--1-1
-0-00-0-1-10-0-1-10--1
-1-10--1
--01-0100
--11-0100
--10-0100
-0---1011
--00-0-0-0----101
-1---0-11
-1---10--0---1-01
-1---110-0---0-1-1---0--1
-----000.e
10010000
10000010
10011000
00100101
00000010
10000000
00110100
00000010
01010001
01010001
00000010
00001001
00000010
13
___________________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
14
___________________________________________________________________________________________________________________________________________________________________________________________
Fiierul de intrare
Fiierul de ieire
.i 9
.o 12
.i 9
.o 12
.p 30
.p 15
1-------0----0000
00---0001
01---0001
01---0010
00---0010
00---0011
01---0011
0-00-0100
0-01-0100
0-10-0100
0-11-0100
00---0101
01---0101
01---0110
00---0110
00---0111
01---0111
00---1000
01---1000
01---1001
00---1001
00---1010
01---1010
01---1011
00---1011
00---1100
01---1100
0---11101
0---01101
.e
Proiectarea Logic
100000000000
010000000000
000000000000
001000000000
001000000000
000100000000
000000000000
000010000000
000001000000
000001100000
000001000000
000001000000
000000000000
001000000000
001000000000
000100000000
000000000000
000000010000
000000000000
000000001000
000000001000
000000000100
000000000000
001000000000
001000000000
000100000000
000000000000
000000000010
000000000001
000000000000
0-01-0100
0---11101
00---1011
00---1001
01---0111
01---1100
01---0011
00---0-10
01---1010----0100
01---1000----0000
01---0-10
01---0-01
1-------.e
000000100000
000000000001
000100000000
000000000100
000000010000
000000000010
000010000000
000100000000
001000000000
000001000000
000000001000
010000000000
001000000000
001000000000
100000000000
15
___________________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
16
_________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Proiectarea Logic
17
Unitatea de control a unui procesor simplu
______________________________________________________________________________________________________________________________________________________________________
___________________________________________________________________________________________________________________________
BIBLIOGRAFIE
Ion I. Bucur Notie de curs
Randy H. Katz Contemporary Logic Design
17