sistemas digitales problemas 4
DESCRIPTION
problemas resueltos2TRANSCRIPT
1
D2
Q5
CLK3
Q6
S4
R1
U1:A
7474
D12
Q9
CLK11
Q8
S10
R13
U1:B
7474
D2
Q5
CLK3
Q6
S4
R1
U2:A
7474
D12
Q9
CLK11
Q8
S10
R13
U2:B
7474
D1
LED-YELLOW
D2
LED-YELLOWD3
LED-YELLOWD4
LED-YELLOW
1X
06
1Y
7
1X
15
1X
24
1X
33
2X
010
2Y
9
2X
111
2X
212
2X
313
A14
B2
1E
1
2E
15
U374153
1X
06
1Y
7
1X
15
1X
24
1X
33
2X
010
2Y
9
2X
111
2X
212
2X
313
A14
B2
1E
1
2E
15
U474153
0
0
1 1 0 0
PREGUNTA 1:
Diseñar un registro de desplazamiento bidireccional, que permita
ingresar datos en modo paralelo de 4 bits; asimismo efectué
desplazamiento hacia la derecha o hacia la izquierda, dependiendo
de una señal de control.
SOLUCION:
Por teoria aprendido en la clase analizamos los datos y el circuito diseñado por el programa
Proteus conectamos los LOGISCTATE a los multiplexores TLL 74LS153 y de la salida del
integrado conectamos a los FF-D 74LS74 Síncrono.
Este dispositivo que vemos en la figura 1 es un sistema secuencial que maneja los datos de
cada entrada del selector hacia el flip flop D y esta con el CLOCK (funciona tipo timer
monoestable) en conjunto explusa mediante la señal de control AB.
CONTROL A B
DERECHA 0 1
IZQUIERDA 1 0
2
PREGUNTA 2:
Se tiene 4 registros A,B,C,D cada uno de 47 Bits. Diseñar el circuito
mediante el cual se realice la transferencia de datos entre 2 registros.
SOLUCION:
Las salidas de los sensores son llevados a la compuertas or para la habilitación de una de ellas,
de acuerdo al problema : la condición es que cada jugador llega a la meta uno por uno , esto
ayudara a que solo una señal de los 8 sensores pase a la salida y esta sea reconocida como un
flanco de bajada para que el contador empiece a generar su primer estado que servirá como
bus de dirección para la memoria y esta señal de cada sensor se codificado y almacenado al
mismo tiempo en que el competidor haya llegado a la meta, y así hasta completar a los 8
competidores, para el ultimo competidor : otro contador de modo 8 , mandara una señal de
decodificación exclusivamente para el estado 111 , y activara el modo de lectura de la
memoria inhibiendo las salidas del codificador y haciendo que el contador empiece a contar
nuevamente pero con la señal de reloj de 0.2Hz para la lectura de los datos que serán llevados
a los decodificadores de 7 segmentos en la los datos señalan el número del competidor y el
puesto en que llego , estos resultados se mostraran cada 6 segundos para su mejor
observación.
Tabla de circuito de control
AE AS1 AS0 BE ES1 ES0 CE CS1 CS0 DE DS1 DS0 FUNCION
1 0 0 0 0 0 0 0 0 0 0 0 Datos de
AA
1 0 1 0 0 0 0 0 0 0 0 0 Datos de
BA
1 1 0 0 0 0 0 0 0 0 0 0 Datos de
CA
1 1 1 0 0 0 0 0 0 0 0 0 Datos de
DA
0 0 0 1 0 0 0 0 0 0 0 0 Datos de
AB
0 0 0 1 0 1 0 0 0 0 0 0 Datos de
BB
0 0 0 1 1 0 0 0 0 0 0 0 Datos de
CB
0 0 0 1 1 1 0 0 0 0 0 0 Datos de
DB
3
A010
A19
A28
A37
A46
A55
A64
A73
A825
A924
A1021
A1123
A122
CE20
OE22
WE27
D011
D112
D213
D315
D416
D517
D618
D719
RDY/B1
CKA14
QA12
CKB1
QB9
QC8
QD11
R0(1)2
R0(2)3
0
0
0
0
0
0
0
0
D0
D1
Q0
Q1
Q2D2
D3
D4
D5
D6
D7
EI EO
Q3
D8
D9
CKA14
QA12
CKB1
QB9
QC8
QD11
R0(1)2
R0(2)3
CKA14
QA12
CKB1
QB9
QC8
QD11
R0(1)2
R0(2)3
2 3
1
2 3
1
2 3
1
2 3
1
2 3
1
2 3
1
2 3
1
2 3
1
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
2 3
1f=0.2 Hz
# PUESTO
# PARTICIPANTE
SENSORES
Reloj para la vizualisacion de los resultados cada 5 segundos
0 0 0 0 0 0 1 0 0 0 0 0 Datos de
AC
0 0 0 0 0 0 1 0 1 0 0 0 Datos de
BC
0 0 0 0 0 0 1 1 0 0 0 0 Datos de
CC
0 0 0 0 0 0 1 1 1 0 0 0 Datos de
DC
0 0 0 0 0 0 0 0 0 1 0 0 Datos de
DA
0 0 0 0 0 0 0 0 0 1 0 1 Datos de
DB
0 0 0 0 0 0 0 0 0 1 1 0 Datos de
DC
0 0 0 0 0 0 0 0 0 1 1 1 Datos de
DD
(Diseño del circuito de registro en PROTEUS)
4
Funcionamiento:
En el circuito utilizamos un registro 74LS94, como podemos apreciar en el diseño del circuito
están configurado en forma paralela para la transferencia de datos entre (A hacia A, A hacia B,
A hacia C, A hacia D, B hacia A, etc.)
Para la transferencia de los datos utilizaremos un integrado multiplexor (seleccionador de
datos) de 4 a 1 (integrado 74LS153), el cual tiene una entrada de habilitación o de enable.
Según como quiera realizar la trasferencia de datos a través de los registros se configura la
entrada del circuito de control que esta constituido por los multiplexores.
PREGUNTA 3:
SOLUCION:
Como observamos para el análisis del circuito dado debemos simular a través del programa
PROTEUS para ver el comportamiento del funcionamiento del FF-D.
5
1
2
3
U1:A
74LS32
4
5
6
U1:B
74LS32
D2
Q5
CLK3
Q6
S4
R1
U2:A
74LS74
0
R110k
C1
1u
A
B
C
D
(circuito simulado en PROTEUS)
A) Diagrama de Tiempo
En el diagrama de tiempo analizamos con las entradas dadas X= 000101011 y Q = 0, la salida
“Z” del integrado 74LS32 por consiguiente graficamos su comportamiento con respecto al
tiempo.
(Diagrama de tiempo con respecto a la salida Z)
B) Diagrama de estados
6
C) Tabla de estado
X D nQ
nQ
Z
0 1 0 1 0
0 0 1 0 1
0 1 0 1 0
1 1 1 0 1
PROBLEMA 4
En el diseño de un contador síncrono se han obtenido sus
ecuaciones de estado de los flip flops.
;
1. Grafica en función al tiempo los estados
.
2. Determinar los estados binarios generados por el
contador-
7
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
7476
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
7476
J4
Q15
CLK1
K16
Q14
S2
R3
U2:A
7476
J9
Q11
CLK6
K12
Q10
S7
R8
U2:B
7476
1
2
3
U3:A
74LS32
12
3
U4:A74LS08
4
5
6
U3:B
74LS32
1
2
3
U5:A
74LS266
5 6
4
U5:B74LS266
9
10
8
U3:C
74LS32
4
5
6
U4:B
74LS08
9
10
8
U4:C
74LS08
8
9
10
U5:C
74LS266
1
2
3
U6:A
74LS86
12
13
11
U4:D
74LS08
12
13
11
U3:D74LS32
1
2
3
U7:A
74LS32
4 5
6
U7:B74LS32
1
2
3
U8:A
74LS08
4 5
6
U8:B74LS08
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U9
7447
U1:A(CLK)
1
JA
QB
QC
QD
A
B
C
D
QA
QB
QC
QD
SOLUCION:
TABLA DE ESTADOS DEL CONTADOR
JA KA QA JB KB QB JC KC QC JD KD QD
0 1 0 0 1 0 0 1 0 1 1 0
1 1 1 1 0 1 1 0 1 1 1 1
0 1 0 0 0 1 1 1 0 0 0 1
1 1 1 1 1 0 1 1 1 1 1 0
1 0 1 0 0 0 1 0 1 1 1 1
0 1 0 0 0 0 1 0 1 1 1 0
1 0 1 1 1 1 1 1 0 1 1 1
1 1 0 0 0 1 1 1 1 0 1 0
1 1 1 1 1 0 0 1 0 0 0 0
1 1 0 0 0 0 1 0 1 1 1 1
8
A) La secuencia de números es: 0, 15, 10, 5, 13, 4, 11, 6, 1, 12 así sucesivamente
A) Gráfica en función al tiempo de los estados de los estados de los flip flop J K.
CLOCK
JA
KA
JB
KB
QD QC QB QA
0 0 0 0
1 1 1 1
1 0 1 0
0 1 0 1
1 1 0 1
0 1 0 0
1 0 1 1
0 1 1 0
0 0 0 1
1 1 0 0
9
CLOCK
JC
KC
JD
KD
PREGUNTA 5:
10
SOLUCION:
por teoria aprendida en clase hacemos los valores de cada numero de complemento
a dos por lo que la Tabla codificado en numero con signo en complemento a dos, desde +5,
+4, +3, +2, +1, 0 , -1, -2,-3, -4, -5, -6.
Nº A B C D
5
4
3
2
1
0
15
14
13
12
11
10
0 1 0 1
0 1 0 0
0 0 1 1
0 0 1 0
0 0 0 1
0 0 0 0
1 1 1 1
1 1 1 0
1 1 0 1
1 1 0 0
1 0 1 1
1 0 1 0
C110u
R1
220
1 2
3
U2:A74LS08
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U8
7447
1
D015
Q03
D11
Q12
D210
Q26
D39
Q37
UP5
TCU12
DN4
TCD13
PL11
MR14
U1
741930
2345
1
U9:A74HC4072
1 2
U3:A
74LS04
3 4
U3:B
74LS04
11
Funcionamiento:
Para que cuente desde +5, +4, +3, +2, +1, 0, 15, 14, 13, 12, 11, 10. Codificado en número con
signo en complemento a dos, debemos utilizar un integrado 74LS193 que tiene la funciona
UP/DOWN, en el circuito vemos que la entrada del integrado 74LS193 esta en 0101 y
comienza en función de DOWN del 0101 hasta 0000 luego cambia debido a que la salida del
integrado esta conectado mediante un OR, este se conecta mediante unas de las entrada del
AND y la otra entrada esta conectado hacia el reset out donde su salida va hacia la entrada
del DOWN este circuito diseñado hace que cuando llegue a 0000 el circuito haga reset y
comience a contar en UP desde 1111 hasta 1010. Cuando llegue a 1010 el circuito hace otra
vez reset y cuenta ahora en DOWN.
PREGUNTA 6:
Utilizando el IC 74193 y dispositivos de soporte se pide diseñar el
circuito digital que permita generar los estados siguientes:
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1
2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2
Sucesivamente……
13,14,15,14,13
14,15,14
15
y se repite secuencia periódicamente
Solución:
El circuito funciona de la siguiente manera, cuando el primer CI 74193 llegue a 15 (1111) nos
va a mandar una señal por medio de la compuerta nand de 4 entradas que están conectadas a
su salida del contador y esta a su vez a la compuerta or esta señal se invierte y llega un pulso al
flip flop JK y como el J y el K están conectados a “1” lógico van a cambiar sus salidas del flip
flop y esto va a ser que se vuelva el contador a down gracias a las compuertas and ; y para que
el contador no comience siempre de cero y vaya aumentando progresivamente del numero
que comienza se uso el segundo CI 74193 que cada vez que el primer contador llegue a 15
(1111) le van a mandar una señal de clock y va a contar y las salidas de los 2 contadores se van
a comparar y cuando sean iguales se manda un pulso de clock al flip flop y este va a ser que el
primer contador cuente a partir del numero que aparece en el segundo contador y termine en
ese mismo número.
12
(Diseño de un contador 74LS193 con Flip Flop D)
PREGUNTA 7:
SOLUCION:
A) Mapa de transición de Estado
δ (00 , S0 ) = S0
D015
Q03
D11
Q12
D210
Q26
D39
Q37
UP5
TCU12
DN4
TCD13
PL11
MR14
U1
74193
D015
Q03
D11
Q12
D210
Q26
D39
Q37
UP5
TCU12
DN4
TCD13
PL11
MR14
U2
74193
A010
A112
A213
A315
B09
B111
B214
B31
A<B2
QA<B7
A=B3
QA=B6
A>B4
QA>B5
U3
7485
1
2
3
U5:A
7408
4
5
6
U5:B
7408
D2
Q5
CLK3
Q6
S4
R1
U4:A
7474
12
U6:A7404
1
2
3
U7:A
7432
D12
Q9
CLK11
Q8
S10
R13
U4:B
7474
9
10
8
U5:C
7408
D1
LED-YELLOW
D2
LED-YELLOW
D3
LED-YELLOW
D4
LED-YELLOW
13
δ (01 , S0 ) = S0
δ (10 , S0 ) = S1
δ (00 , S1) = S0
δ (10 , S1 ) = S1
δ (11 , S1 ) = S2
δ (01 , S2 ) = S3
δ (10 , S2 ) = S3
δ (11 , S2 ) = S2
δ (00 , S3 ) = S0
δ (01 , S3 ) = S3
δ (10 , S3 ) = S3
δ (11 , S3 ) = S3
B) Mapa de Funcion de Salida
(00 , S0 ) = 0
(01 , S0 ) = 0
(10 , S0 ) = 0
(00 , S1 ) = 0
(10 , S1 ) = 0
(11 , S1) = 0
(01 , S2 ) = 0
(10 , S2 ) = 1
(11 , S2) = 0
(00 , S3 ) = 0
(01 , S3 ) = 0
(10 , S3 ) = 1
(11 , S3 ) = 0
14
C) Tabla de Estados
Estados Entradas
00 01 10 11
S0 S0/0 S0/0 S1/0 x/x
S1 S0/0 x/x S1/0 S2/0
S2 x/x S3/0 S3/1 S2/0
S3 S0/0 S3/0 S3/1 S3/0
D) Para el diseño del FF-JK:
Los Estados { 3S , 2S , 1S , 0S }={11,10,01,00}
Las entradas { 12 , XX }= {00,01,10,11}
Se utiliza 2 FF-JK
nQ2 nQ 2X 1X Y 12 nQ 1nQ
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
X
0
X
0
0
X
0
1
0
0
0
1
0
0
0
0
X
0
X
0
1
X
1
1
1
0
1
1
1
0
0
1
X
0
X
1
0
X
1
1
1
0
1
1
1
Para Qn+2:
15
nnnn QXQXXQQnQ ..).(12 12212
Comparando:
2222 ..12 JQKQnQnn
nQXJ .12
212 .. XXQK n
Para Qn+1:
)()....(1 22122221 nnnn QXQXXQXXXQQn
)().(1 222221 nnnn QXQQXXXQQn
Comparando:
16
2222 ..1 JQKQQnnn
nQXJ 221
nQXXXK 22211 .
Para Y:
122 .. XXQY n
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X1
0
X2
1
2
3
U2:A
74LS32
1
2
3
U3:A
74LS86
1 2
U4:A
74LS04
1
2
3
U5:A
74LS08
3 4
U4:B
74LS044
5
6
U5:B
74LS08
9
10
8
U5:C
74LS08
5 6
U4:C
74LS04
13 12
U4:D
74LS04
1
2
13
12
U6:A
74LS11
3
4
5
6
U6:B
74LS11
17
PREGUNTA 8:
8
SOLUCION:
A) para la Tabla 1
18
i) Corresponde a un FSM Mealy, ya que las salidas dependen de las entradas y sus estados.
ii) Diseñando el grafo de la tabla 1
iii) Ahora utilizando FF-JK
Los Estados {D,C,B,A} ={ 3S , 2S , 1S , 0S }={11,10,01,00)
Las entradas {x}= {0,1}
nQ2 nQ x y 12 nQ 1nQ
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
1
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
1
0
1
0 1
A B.0 C.0
B A.0 D.1
C B.1 B.1
D A.0 D.1
19
a) Utilizando FF- JK
Para Q2n+1 :
XQQXQnQnnn ...12
22
Comparando:
2222 ..12 JQKQnQnn
nQXK
XJ
2
2
Para Qn+1 :
)(.1 2nnn QXQXQQn
Comparando
XK
XQJ n
1
21
11 ..1 JQKQQnnn
20
Para Y:
nnn QQXQY 2.
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X
1
2
3
U2:A
74LS32
5 6
U4:C
74LS04
4
5
6
U2:B
74LS32
1
2
3
U3:A
74LS08
4
5
6
U3:B
74LS08
9
10
8
U2:C
74LS32
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K nQ 1nQ T
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
21
nnQKQJT ..
B) Para la Tabla 2
00 01 10 11
A A.0 D.0 A.0 D.0
B D.0 B.1 D.0 D.0
C A.0 C.1 D.0 D.0
D D.0 D.0 A.0 D.0
i) Es un FSM de Mealy ii) Haciendo el grafo de la tabla 2
iii) Los Estados {D,C,B,A} ={ 3S , 2S , 1S , 0S }={11,10,01,00}
Las entradas { 12 , XX }= {00,01,10,11}
Se utiliza 2 FF-JK
22
nQ2 nQ 2X 1X Y 12 nQ 1nQ
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
1
0
1
1
0
1
1
1
1
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
1
0
1
a) Utilizando FF- JK
Para Qn+2 :
)...()..(12 121122122 XXXQXQQQXXXQQnQnnnnnn
).()(12 1212122 XXXQQXXQQnQ nnnn
Comparando:
23
JQKQnQnn ..12
22
1212 .XXXQJ n
Para Qn+1:
)..()..(1 221221121 XQXQQXXXQXQQn nnnnn
Comparando:
JQKQQnnn ..1
)..().(
)..(
211211
22121
XXXQXK
XQXQJ
n
nn
Para Y:
122122...... XXQQXXQQY
nnnn
122 .XXQK n
24
)(. 212 nn QQXXY
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X1
4
5
6
U5:B
74LS08
9
10
8
U5:C
74LS08
5 6
U4:C
74LS04
0
X2
1
2
3
U2:A
74LS08
1
2
3
U3:A
74LS32
9
10
11
8
U6:C
74LS11
4
5
6
U3:B
74LS32
1
2
3
U7:A
74LS86
4
5
6
U2:B
74LS08
9
10
8
U3:C
74LS32
4
5
6
U7:B
74LS86
1 2
U4:A
74LS04
9
10
8
U2:C
74LS08
9
10
8
U7:C
74LS86
1
2
13
12
U6:A
74LS113 4
U4:B
74LS04
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K nQ 1nQ T
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
25
nnQKQJT ..
C) Para la Tabla 3
i) Es un FSM Mealy ii) Diseñando su grafo.
0 1
A B.0 B.0
B C.0 A.1
C B.0 D.0
D C.0 B.1
26
iii) Los Estados {D,C,B,A} ={ 3S , 2S , 1S , 0S }={11,10,01,00}
Las entradas {X}= {0,1}
Se utiliza 2 FF-JK
a) Utilizando FF- JK
Para Q2n+1:
nnnnn QXQXQXQQnQ ..)..(1222
Ahora Comparando:
JQKQnQnn 2212
nQ2 nQ x y 12 nQ 1nQ
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
1
0
1
1
1
0
1
1
0
1
27
XQK
QXJ
n
n
2
2 .
Para Qn+1:
nnnn QXQXQQQn )..(1 22
Comparando:
JQKQQn nn .1
XQK
J
n
21
1 1
Para Y:
28
nQXY .
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X
5 6
U4:C
74LS04
1
2
3
U7:A
74LS86
1
2
3
U2:A
74LS08
1
2
3
U5:A
74LS86
1 2
U3:A
74LS04
4
5
6
U2:B
74LS08
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K nQ 1nQ T
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
29
nnQKQJT ..
D) Para la Tabla 4
i) Es un FSM Mealy ii) Diseñando su grafo.
iii) Los Estados {D,C,B,A} ={ 3S , 2S , 1S , 0S }={11,10,01,00}
Las entradas {X}= {0,1}
Se utiliza 2 FF-JK
1º y 2º FF-JK = { nn QQ ,2 }
0 1
A D.1 B.0
B D.0 B.0
C C.0 A.1
D A.0 C.0
30
a) Utilizando FF- JK
Para Q2n+1:
)..(.12 22 nnnn QXQXQXQnQ
Comparando ahora:
2222 .12 KQJQnQ nn
nQXK
XJ
2
2
Para Qn+1:
nQ2 nQ x y 12 nQ 1nQ
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
0
0
0
31
nnnn QQQQQn22
..1
Comparando ahora:
JQKQQnnn .1
n
n
QK
QJ
21
21
Para Y:
)(
....
2
22
nn
nnnn
QXQY
QXQQXQY
32
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X
5 6
U4:C
74LS04
1
2
3
U2:A
74LS86
4
5
6
U2:B
74LS86
1 2
U3:A
74LS04
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K nQ 1nQ T
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
nnQKQJT ..
33
E) Para la Tabla 5
i) Es un FSM es de tipo FSM Mealy ii) Diseñando su grafo.
iii) Los Estados {E,D,C,B,A} ={ 4S , 3S , 2S , 1S , 0S }={100,011,010,001,000}
Las entradas {X}= {0,1}
Se utiliza 2 FF-JK
1º , 2º y 3º FF-JK = { nnn QQQ ,, 23 }
nQ3 nQ2 nQ X Y 13 nQ 12 nQ 1nQ
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
0
0
1
0
X
X
X
X
X
X
0
0
0
0
0
0
0
0
0
0
X
X
X
X
X
X
1
0
0
0
1
1
1
0
1
0
X
X
X
X
X
X
1
0
1
0
1
0
1
1
0
0
X
X
X
X
X
X
a) Utilizando FF- JK
34
Para Q3n+1:
013 nQ
Comparando:
0.013 3.3 nn QQnQ
1
0
3
3
K
J
Para Q2n+1:
)..()(1222 XQQQXQnQ
nnnn
Comparando:
35
JQKQnQnn ..12
222
n
n
QXK
QXJ
.
.
2
2
Para Qn+1:
)(..1 23XQQQXQQn nnnn
Comparando:
JQKQQnnn .1 1
XQK
QXJ
n
n
.
.
21
31
Para Y:
nnnn QXQQQY 32 ..
36
J4
Q15
CLK1
K16
Q14
S2
R3
U1:A
74LS76
J9
Q11
CLK6
K12
Q10
S7
R8
U1:B
74LS76
0
X
5 6
U4:C
74LS04
J4
Q15
CLK1
K16
Q14
S2
R3
U5:A
74LS76
1
2
3
U6:A
74LS08
4
5
6
U6:B
74LS08
1
2
3
U2:A
74LS08
4
5
6
U2:B
74LS08
1
2
13
12
U3:A
74LS11
9
10
8
U2:C
74LS08
1
2
3
U7:A
74LS32
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K nQ 1nQ T
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
1
1
nnQKQJT ..
37
PREGUNTA 9:
SOLUCION:
A).-En el circuito dado en la pregunta numero 10, es un circuito tipo de maquina de estado
MEALY, por consiguiente vemos en la figura que las entradas del registro dependen de las
salidas de la memoria.
B)
SB Qn Qn+1
0 0 0 0 0 0 1
1 0 0 0 1 1 0
0 0 0 1 0 1 1
1 0 0 1 0 0 0
0 0 1 0 1 0 0
1 0 1 0 1 1 1
38
0 0 1 1 1 0 1
1 0 1 1 0 0 1
0 1 0 0 1 1 0
1 1 0 0 0 1 0
0 1 0 1 1 1 1
1 1 0 1 0 1 1
0 1 1 0 0 0 0
1 1 1 0 1 0 0
0 1 1 1 0 1 0
1 1 1 1 1 0 1
Diagrama de estados
δ (0 , 000 ) = 001
δ (1 , 000 ) = 110
δ (0 , 001 ) = 011
δ (1 , 001) = 000
δ (0 , 010) = 100
δ (1 , 010 ) = 111
δ (0 , 011 ) = 101
δ (1 , 011) = 001
δ (0 , 100 ) = 110
δ (1 , 100 ) = 010
δ (0 , 101 ) = 111
δ (1 , 101) = 011
δ (0 , 110 ) = 000
δ (1 , 110 ) = 100
39
δ (0 , 111) = 010
δ (1 , 111 ) = 101
C) Vemos en el grafico de MEALY del circuito, para que el circuito evolucione del
estado 0 al estado 5 se necesitamos 4 ciclos de reloj, ya que el circuito empieza por
el estado 1, debemos regresarlo al estado al estado 0 con SB=1 (1er clock),
regresamos al estado 1 con SB=0 (2do clock), al estado 3 con SB=0 (3er clock) y al
estado 5 con SB=0 (4to clock).
Fig. 7 (Diseño de un contador con estado de memoria)
40
(Diagrama de tiempo del circuito)
D) Representaremos el circuito (ROM 16x3) con un EPROM 27C32 (32Kx8) con la siguiente
programación
Dirección Dato
000h 00000001
001h 00000110
002h 00000011
003h 00000000
004h 00000100
005h 00000111
006h 00000101
007h 00000001
008h 00000110
009h 00000010
00Ah 00000111
00Bh 00000011
00Ch 00000000
00Dh 00000100
00Eh 00000010
00Fh 00000101
010h-FFFh 00000000
41
PREGUNTA 10:
SOLUCION:
Analizaremos el circuito asumiendo el control del multiplexor 01 CyC igual a:
00 01 CC
CLOCK 0Z 1Z
↑ 0 1
↑ 1 0
↑ 1 1
↑ 0 0
↑ 1 0
10 01 CC
CLOCK 0Z 1Z
↑ 1 1
↑ 0 1
↑ 1 0
↑ 0 0
42
01 01 CC
0Z 1Z
0 0
11 01 CC 00 01 DD
11 01 CC 00 01 DD
11 01 CC 00 01 DD
CLOCK 0Z 1Z
↑ 1 1
↑ 0 1
11 01 CC 11 01 DD
CLOCK 0Z 1Z
↑ 1 0
↑ 0 0
0Z 1Z
0 0
0Z 1Z
0 1
43
Ahora sustituyamos el biestable T por el biestable JK.
Tabla de estado de FF-JK
Tabla de habilitación del FF-T
Tabla de conversión del FF-T a FF-JK
J K q Q
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1
q Q T
0 0 0
0 1 1
1 0 1
1 1 0
J K q Q T
0 0 0 0 0
0 0 1 1 0
0 1 0 0 0
44
Hallando la conversión del FF-T a FF-JK a través del mapas de Karnaugh
J
1 1 1 0 K
1 0 0 0
Q Q Q
La función T es:
KQQJT
Finalmente el diseño queda:
Fig. 9 (Circuito modificado, sustitución del biestable T por el biestable JK)
0 1 1 0 1
1 0 0 1 1
1 0 1 1 0
1 1 0 1 1
1 1 1 0 1
45
PREGUNTA 11:
a) Investigar respecto a la arquitectura de los PLD (Dispositivos Lógicos Programables); características, fabricantes, tipos, modos de programación, aplicaciones.
b) Investigar respecto a las herramientas de programación de PLD
SOLUCION: PLD (Dispositivos Lógicos Programables) Un dispositivo lógico programable, o PLD (ProgrammableLogicDevice), es un dispositivo cuyas características pueden ser modificadas y almacenadas mediante programación. El principio de síntesis de cualquier dispositivo lógico programable se fundamenta en el hecho de que cualquier función booleana puede ser expresada como una suma de productos. El dispositivo programable más simple es el PAL (ProgrammableArrayLogic). El circuito interno de un PAL consiste en un arreglo, o matriz, de compuertas AND y un arreglo de compuertas OR. El arreglo AND es programable mientras que el OR generalmente es fijo. Mediante una matriz de conexiones se seleccionan cuales entradas serán conectadas al arreglo AND, cuyas salidas son conectadas al arreglo OR y de esta manera obtener una función lógica en forma de suma de productos. Una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. Tipos de PLD (PLA, PAL, GAL, CPLD, FPGA, etc)
PLA: Un arsenal de lógica programable (PLA) es un dispositivo programable para implementar la lógica combinacional circuitos. El EPL tiene un conjunto de programables Y la puerta aviones, que vinculan a un conjunto de programables O la puerta aviones, que puede ser complementado con condiciones para producir una salida. Este diseño permite un gran número de funciones lógicas que se sintetiza en la suma de los productos (y, a veces producto de sumas) formas canónicas. Una aplicación de un PLA es implementar el control sobre un camino de datos. En él se definen los diferentes estados en un conjunto de instrucciones, y produce el siguiente estado (por ramificación condicional). Por ejemplo, [. si la máquina está en el estado 2, y pasará al estado 4, si la instrucción contiene un campo inmediato y, a continuación el EPL debe definir las acciones del control en el estado 2, se establece el siguiente estado de ser 4 si la instrucción contiene una inmediata campo, y se definen las acciones del control en el estado 4]. Las matrices programables lógica debe corresponder a un diagrama de estado para el sistema.
46
PAL: MMI introdujo un dispositivo revolucionario en 1978, la ProgrammableArrayLogic (Matriz lógica programable). La arquitectura era más sencilla que la FPLA de Signetics porque omitía la matriz OR programable. Esto hizo los dispositivos más rápidos, más pequeños y más baratos. Estaban disponibles en encapsulados de 20 pines y DIP de 300 milésimas de pulgada, mientras que las FPLAs venían en encapsulados de 28 pines y DIP de 600 milésimas de pulgada. Ciertas publicaciones sobre PALs desmitificaban el proceso de diseño. El software de diseño PALASM (PAL Assembler, ensamblador PAL) convertía las ecuaciones Booleanas de los ingenieros en el patrón de fusibles requerido para programar el dispositivo. Los PAL de MMI pronto fueron distribuidos por National Semiconductor, Texas Instruments y AMD. Tras el éxito de MMI con los PAL de 20 pines, AMD introdujo los 22V10 de 24 pines con características adicionales. Tras comprar a MMI (1987), AMD desarrolló una operación consolidada como Vantis, adquirida por Lattice Semiconductor en 1999.
GAL: Las GAL son dispositivos de matriz lógica genérica. Están diseñados para emular muchas PAL pensadas para el uso de macrocélulas. Si un usuario tiene un diseño que se implementa usando varias PAL comunes, puede configurar varias de las mismas GAL para emular cada de uno de los otros dispositivos. Esto reducirá el número de dispositivos diferentes en existencia y aumenta la cantidad comprada. Comúnmente, una cantidad grande del mismo dispositivo debería rebajar el costo individual del dispositivo. Estos dispositivos también son eléctricamente borrables, lo que los hace muy útiles para los ingenieros de diseño. CPLD: Un dispositivo de lógica programables complejos (CPLD) es un dispositivo de lógica programable con la complejidad entre la de PAL y FPGAs , y las características arquitectónicas de ambos. El bloque de construcción de un CPLD es el macrocell , que contiene la lógica de la aplicación de forma normal disyuntiva expresiones y más lógica de las operaciones especializadas. Características en común con PAL : Configuración de memoria no volátil. A diferencia de muchos FPGAs, una configuración externa ROM no es necesaria, y el CPLD puede funcionar de inmediato en el inicio del sistema. Para muchos dispositivos heredados CPLD, enrutamiento limita la mayoría de bloques de la lógica de tener señales de entrada y de salida conectado a los pines externos, reducir las oportunidades de almacenamiento de estado interno y la lógica profunda de capas. Esto no suele ser un factor de mayor CPLDs y nuevas familias de productos CPLD. FPGA: Una matriz de puertas programables de campo (FPGA) es un circuito integrado diseñado para ser configurado por el cliente o el diseñador después de la fabricación, por lo tanto " programable en campo”. La configuración de la FPGA generalmente se especifica mediante un lenguaje de descripción de hardware (HDL), similar a la utilizada para un circuito integrado específico de aplicación (ASIC) ( diagramas de circuito se utilizaron anteriormente para especificar la configuración, como lo fueron para ASICs, pero esto es cada vez más raro). FPGAs se pueden utilizar para implementar cualquier función lógica que podría realizar un ASIC. La capacidad de actualizar la funcionalidad después de la expedición, parcial re-configuración de la parte del diseño y la no-recurrentes de ingeniería de bajo costo
47
relativo a un diseño de ASIC (a pesar de la unidad de mayor costo en general), ofrecen ventajas para muchas aplicaciones. FPGAs contienen lógicos programables componentes llamados "bloques lógicos", y una jerarquía de interconexiones reconfigurables que permiten a los bloques para ser "interconectados"-algo así como un chip programable un protoboard . Los bloques lógicos se pueden configurar para realizar complejas funciones combinadas, o simplemente simples puertas lógicas como Y yXOR . En la mayoría de FPGAs, los bloques de la lógica también incluyen elementos de la memoria, que pueden ser simples flip-flops o más bloques completos de memoria. OTROS: Actualmente, existe bastante interés en sistemas reconfigurables. Estos sistemas se basan en circuitos microprocesadores y contiene algunas funciones prefijadas y otras que pueden ser alteradas por código en el procesador. Para diseñar sistemas que se auto-alteren, es necesario que los ingenieros aprendan nuevos métodos y que nuevas herramientas de software se desarrollen. Las PLDs que se venden actualmente, contienen un microprocesador con una función prefijada (el núcleo) rodeado con dispositivos de lógica programable. Estos dispositivos permiten a los diseñadores concentrarse en añadir nuevas características a los diseños sin tener que preocuparse de hacer que funcione el microprocesador.
a) Tecnologías de Fabricación.
Los PLDs están situados en una zona intermedia entre los dispositivos a medida y la lógica de catálogo formada por los CI de función fija. Tienen casi todas las ventajas de los ASICs sin estar penalizados por un costo elevado para pequeñas series. Además el ciclo de diseño con PLDs es mucho más rápido que los de las matrices de puertas o las células normalizadas. En determinadas aplicaciones, un PLD puede sustituir desde unos pocos hasta unas decenas de CI de función fija, mientras que los grandes ASICs pueden sustituir a cientos e incluso miles de CI. En ocasiones, los PLD se utilizan para realizar prototipos que posteriormente se llevarán a un ASIC más complejo. El trabajo con PLDs proporciona: facilidad de diseño, prestaciones, fiabilidad, economía y seguridad. Facilidad de diseño Las herramientas de soporte al diseño con PLDs facilitan enormemente este proceso. Las hojas de codificación que se utilizaban en 1975 han dejado paso a los ensambladores y compiladores de lógica programable (PALASM, AMAZE, ABEL, CUPL, OrCAD/PLD, etc.). Estas nuevas herramientas permiten expresar la lógica de los circuitos utilizando formas variadas de entrada tales como; ecuaciones, tablas de verdad, procedimientos para máquinas de estados, esquemas, etc. La simulación digital posibilita la depuración de los diseños antes de la programación de los dispositivos. Todo el equipo de diseño se reduce a un software de bajo coste que corre en un PC, y a un programador. Prestaciones. Los PLDs TTL que hay en el mercado tienen tiempos de conmutación tan rápidos como los circuitos integrados de función fija más veloces. Los PLDs ECL son todavía más rápidos. Sin embargo, el incremento de velocidad obtenido con los dispositivos CMOS, que ya han igualado o superado en prestaciones a los dispositivos TTL, está provocando el abandono de la tecnología bipolar por parte de los fabricantes. En cuanto al consumo de potencia, los PLDs generalmente consumen menos que el conjunto de chips a los que reemplazan.
48
Seguridad. Los PLDs tienen fusibles de seguridad que impiden la lectura de los dispositivos programados, protegiendo los diseños frente a copias. Además de los puntos mencionados, podemos añadir que los PLDs facilitan el ruteado de las placas de circulo impreso debido a la libertad de asignación de patillas que proporcionan. Permiten realizar modificaciones posteriores del diseño y en ocasiones hacen posible la reutilización de circuitos impresos con algunos fallos, mediante una reasignación de los PLDs. Actualización. Debido a la constante evolución de los PLDs, aunque intentemos catalogarlos, hoy en día existen una gran cantidad de PLDs con estructuras diferentes a las consideradas en este trabajo, por lo que aunque por mucho que nos esforcemos en obtener una lista más o menos reciente, siempre habrán algunos modelos que no se muestren aquí.
b) Programación VHDL. Ventajas, desventajas.
VHDL es un lenguaje de descripción de circuitos electrónicos digitales que utiliza distintos niveles de abstracción. El significa de las siglas VHDL es VHSIC (VERY HIGH SPEED INTEGRATED CIRCUITS) HARWARE DESCRIPTION LANGUAJE. Esto significa que VHDL permite acelerar el proceso de diseño. VHDL no es un lenguaje de programación, por ello conocer su sintaxis no implica necesariamente saber diseñar con él. VHDL es un lenguaje de descripción de hardware genérico, que permite describir circuitos síncronos y asíncronos. Para realizar esto debemos: Pensar en puertas y biestables, no en variables y funciones Evitar bucles combinacionales y relojes condicionados Saber que parte del circuito es combinacional y cual secuencial
Ventajas: Permite diseñar, modelar y comprobar un sistema desde un alto nivel de abstracción
bajando hasta el nivel de definición estructural de puertas. Siguiendo unas guías para su síntesis pueden ser utilizados por herramientas de
síntesis para crear implementaciones de diseños a través de puertas. Al estar basado en un estándar (IEEE std. 1076-1987 los ingenieros de todas las
industrias pueden utilizar este lenguaje para minimizar errores de comunicación y problemas de compatibilidad.
Permite el diseño TOP/DOWN esto es permite describir (modelado) el comportamiento de los bloques de alto nivel, analizándolos (simulación), y refinar la funcionalidad de alto nivel requerida antes de llegar a niveles más bajos de abstracción de la implementación del diseño.
Modularidad: permite dividir o descomponer un diseño hardware y su descripción VHDL en unidades más pequeñas.
49
Desventajas: VHDL es principalmente un lenguaje para diseño digital. Actualmente tiene
capacidades muy limitadas en el área analógica, pero existen trabajos para crear una versión analógica del lenguaje.
El estándar 1076 define un estándar y su sintaxis, sin describir ningún “estilo” para usarlo en un diseño. Hay otros estándares que usan, o que requieren definir un “estilo” antes de usar el lenguaje en ciertas áreas.
PREGUNTA 12:
Describir los programas VHDL, de los siguientes dispositivos
a) Codificador decimal b) Decoder a display de anodo comun c) Multiplexor de 8/1 d) Demultiplexor 1/8 e) Sumador paralelo de 8 bits f) Flip Flops JK,D,T,RS g) Registro de almacenamiento de 8 bits h) Contador BCD i) Contador Hexadecimal UP7DOWN.