PREGUNTA 1: Diseñar un registro de desplazamiento bidireccional, que permita ingresar datos en modo paralelo de 4 bits;
Views 205 Downloads 19 File size 2MB
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.
D2 LED-YELLOW D3
LED-YELLOW D4
LED-YELLOW D1
U3
7474
10 S
Q
Q
9
LED-YELLOW
CLK 8
7474
14 2 1 15
A B 1E 2E
2X0 2X1 2X2 2X3 10 11 12 13
1X0 1X1 1X2 1X3
74153
6 5 4 3
A B 1E 2E 14 2 1 15
2X0 2X1 2X2 2X3 10 11 12 13
1X0 1X1 1X2 1X3
D
U4
74153
6 5 4 3
6
Q
U2:B
R
R 1
7474
12 11
2Y
7474
5
Q
CLK
8
Q
9
R
6
D
3
13
4 2
CLK
9
1
Q
9
Q
U2:A
S
10 D
11
S
12
13
5
2Y
7 1Y
Q
CLK
7
D
R
3
U1:B
1Y
2
S
4
U1:A
1 1 0 0
0 0
CONTROL DERECHA IZQUIERDA
A 0 1
B 1 0
1
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
A A 1
0
1
0
0
0
0
0
0
0
0
0
Datos de
AB 1
1
0
0
0
0
0
0
0
0
0
0
Datos de
AC 1
1
1
0
0
0
0
0
0
0
0
0
Datos de
AD 0
0
0
1
0
0
0
0
0
0
0
0
Datos de
BA 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
B C 0
0
0
1
1
1
0
0
0
0
0
0
Datos de
BD
2
0
0
0
0
0
0
1
0
0
0
0
Datos de
0
CA 0
0
0
0
0
0
1
0
1
0
0
Datos de
0
CB 0
0
0
0
0
0
1
1
0
0
0
Datos de
0
C C 0
0
0
0
0
0
1
1
1
0
0
Datos de
0
CD 0
0
0
0
0
0
0
0
0
1
0
Datos de
0
AD 0
0
0
0
0
0
0
0
0
1
0
Datos de
1
BD 0
0
0
0
0
0
0
0
0
1
1
Datos de
0
CD 0
0
0
0
0
0
0
0
0
1
1
Datos de
1
DD
Q0 Q1 Q2 Q3
EI
EO
14 1
QA QB QC QD
12 9 8 11
R0(1) R0(2)
2
3 7 1 2 6 4 5 3
1
2 3
CKA CKB
1
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9
CKB CKA
QD QC QB QA
11 8 9 12
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
D0 D1 D2 D3 D4 D5 D6 D7
CE OE WE
RDY/B
11 12 13 15 16 17 18 19
2
2
2
3
3
f=0.2 Hz
3
1
2
14 1
2 3
CKA CKB
QA QB QC QD
2
3
1
1
0 0
13 12 11 10 9 15 14
# PUESTO
1
20 22 27
0 0
QA QB QC QD QE QF QG
3
1
0 0
10 9 8 7 6 5 4 3 25 24 21 23 2
A B C D BI/RBO RBI LT
1
1 14
0 0
1
SENSORES
R0(2) R0(1)
1
3 2
12 9 8 11
2
2
2
3
3
7 1 2 6 4 5 3
A B C D BI/RBO RBI LT
QA QB QC QD QE QF QG
13 12 11 10 9 15 14
3
# PARTICIPANTE
R0(1) R0(2)
Reloj para la vizualisacion de los resultados cada 5 segundos
(Diseño del circuito de registro en PROTEUS)
3
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.
4
U1:A
0
1 3
A
2
B
74LS32
C D
U1:B 4 6 5 74LS32
S
4
U2:A Q
Q
5
CLK
1
3
D
R
2
6
74LS74
C1 R1 10k
1u
(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
5
C) Tabla de estado
X
D
Qn
Qn
Z
0 0 0 1
1 0 1 1
0 1 0 1
1 0 1 0
0 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-
6
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
QA
A
QB
B
QC
C
QD
D
U9 7 1 2 6 4 5 3
A B C D BI/RBO RBI LT
QA QB QC QD QE QF QG
13 12 11 10 9 15 14
JA
QB
7447
U6:A 2 3 1 74LS86
U5:C
U4:D
9
13
10
11
U1:A(CLK)
U2:A
U2:B
7
U3:C
9
12 8
10 7476
11
8
4
10 1
CLK
74LS32
K
Q
10
16
J
7476
Q
15
9 6
CLK K
Q
14
12
J
S
14
S
S
U4:C
Q
Q
Q
R
K
3
5
CLK
J
Q
7476
11
CLK K
8
16
6
3
74LS32 6
74LS32
U1:B 9
9 74LS08
S
5
R
4
Q
8
1
J
R
4
R
4
15
6 3
2
12 74LS08
2
U4:B
U1:A
7
2
U3:A 1
U3:B
QC
74LS266
1
QD
8
10
7476
4
3
74LS08
U4:A
U5:B
74LS08
6
5
1
U5:A 11
2 3 1
U3:D
74LS266
6
U7:A
13
12
74LS32
U8:B
2 3
74LS08
1
5
6
4
74LS32
U7:B
5
74LS32
4
2
74LS266
U8:A 1 3 2 74LS08
7
A) La secuencia de números es: 0, 15, 10, 5, 13, 4, 11, 6, 1, 12 así sucesivamente
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
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
8
CLOCK
JC
KC
JD
KD
PREGUNTA 5:
9
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º 5 4 3 2 1 0 15 14 13 12 11 10
A 0 0 0 0 0 0 1 1 1 1 1 1
B 1 1 0 0 0 0 1 1 1 1 0 0
C 0 0 1 1 0 0 1 1 0 0 1 1
D 1 0 1 0 1 0 1 0 1 0 1 0
1 U8 7 1 2 6 4 5 3
A B C D BI/RBO RBI LT
QA QB QC QD QE QF QG
13 12 11 10 9 15 14
7447
U1 15 1 10 9 5 4 11 14
0
D0 D1 D2 D3
Q0 Q1 Q2 Q3
UP DN PL MR
TCU TCD
3 2 6 7 12 13
U3:B 3
U3:A
74193
74LS04 2
3
1
4
U2:A
74LS04
3 2
5 4
74LS08
74HC4072
2
1
U9:A
220
C1
1
R1 10u
10
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.
11
U7:A 1 3 2
U5:A
U4:A
4
2
7432
5
6
Q
7408
2
D
3
12
1
4
R
6
Q
U4:B
10
CLK
U5:B
D
7474 11
Q
Q
9
CLK
2
13
7408
S
5
R
1
S
3
8
7474
U6:A
8
7404 15 1 10 9 5 4 11 14
D0 D1 D2 D3
Q0 Q1 Q2 Q3
UP DN PL MR
TCU TCD
74193
3 2 6 7 12 13
U2 15 1 10 9 5 4 11 14
D0 D1 D2 D3
Q0 Q1 Q2 Q3
UP DN PL MR
TCU TCD
3 2 6 7 12 13
10
U3
1
U1
U5:C 9
10 12 13 15 9 11 14 1 2 3 4
A0 A1 A2 A3 B0 B1 B2 B3 AB
7408
QAB
7485
74193
7 6 5
D4 D3
LED-YELLOW
D2
LED-YELLOW
D1
LED-YELLOW
LED-YELLOW
(Diseño de un contador 74LS193 con Flip Flop D)
PREGUNTA 7:
SOLUCION: A) Mapa de transición de Estado δ (00 , S0 ) = S0
12
δ (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
13
C) Tabla de Estados Estados
Entradas 00 S0/0 S0/0 x/x S0/0
S0 S1 S2 S3
01 S0/0 x/x S3/0 S3/0
10 S1/0 S1/0 S3/1 S3/1
11 x/x S2/0 S2/0 S3/0
D) Para el diseño del FF-JK: Los Estados { S3 , S 2 , S1 , S 0 }={11,10,01,00} Las entradas { X 2 , X 1 }= {00,01,10,11} Se utiliza 2 FF-JK
Q2 n
Qn
X2
X1 Y
Q2 n 1
Qn 1
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 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
0 0 0 X 0 X 0 0 X 0 1 0 0 0 1 0
Para Qn+2:
14
Q2n 1 Q2n .(Q n X 1 X 2 ) Q 2n . X 1 .Qn
Comparando:
Q2n 1 Q2n .K 2 Q 2n .J 2
J 2 X 1 .Qn
K 2 Qn . X 1 . X 2 Para Qn+1:
Qn 1 Qn ( X 1 . X 2 X 2 .Q2n . X 2 . X 1 ) Q n ( X 2 Q2n )
Qn 1 Qn ( X 1 X 2 X 2 .Q2n ) Q n ( X 2 Q2n )
Comparando:
15
Qn 1 Q2n .K 2 Q 2n .J 2
J 1 X 2 Q2 n
K1 X 1 X 2 X 2 .Q2n Para Y:
Y Q2 n . X 2 . X 1
U5:A
U4:B
1 3
3
4
U5:B
2 4
74LS04
74LS08
6 5
U3:A
U4:A
1 3
1
74LS08 2
2
U2:A 1
U5:C
74LS04
74LS86
9
3
X1
8
2
0
10 74LS32
U6:B
74LS08 3 4 5
X2
6
74LS11
0 U1:A
U1:B
9
CLK K
6 Q
14 12
J
S
12
15 Q
R
16
Q
Q
11
CLK K
74LS76
8
13
1
J
R
74LS04
U4:D
4
3
6
S
7
2
U4:C 5
74LS04
10
74LS76
U6:A 1 2 13
12
74LS11
16
PREGUNTA 8:
8
SOLUCION: A) para la Tabla 1
17
A B C D
0 B.0 A.0 B.1 A.0
1 C.0 D.1 B.1 D.1
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} ={ S3 , S 2 , S1 , S 0 }={11,10,01,00) Las entradas {x}= {0,1}
Q2 n
Qn
x
y
Q2 n 1
Qn 1
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
18
a) Utilizando FF- JK Para Q2n+1 :
Q2n 1 Q2n . X .Qn Q 2n . X Comparando:
Q2n 1 Q2n .K 2 Q 2n .J 2 J2 X K2 X Qn Para Qn+1 :
Qn 1 Qn . X Q n ( X Q2n ) Comparando
Qn 1 Qn .K 1 Q n .J 1 J 1 Q2 n X K1 X
19
Para Y:
Y Qn . X Q2n Q n U2:B
U2:A 1
6 3
X
U3:A
4 1
5
3
2
2 74LS32
0
74LS32
74LS08
U2:C 9 8 10
U3:B
74LS32
4 6 5
U1:B
Q
K
9 6
Q
74LS08
15
CLK
3
16
J
14 12 74LS76
J
S
1
Q
R
74LS04
4
Q
11
CLK K
8
6
R
5
S
7
2
U4:C
U1:A
10
74LS76
b) Utilizando FF-T Convertiremos de un FF-T a un FF-JK J K
Qn
Qn 1
T
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 0 0 1 1 1 0
0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1
20
T J .Q n K .Qn B) Para la Tabla 2
A B C D
00 A.0 D.0 A.0 D.0
i) ii)
01 D.0 B.1 C.1 D.0
10 A.0 D.0 D.0 A.0
11 D.0 D.0 D.0 D.0
Es un FSM de Mealy Haciendo el grafo de la tabla 2
iii) Los Estados {D,C,B,A} ={ S3 , S 2 , S1 , S 0 }={11,10,01,00} Las entradas { X 2 , X 1 }= {00,01,10,11} Se utiliza 2 FF-JK
21
Q2 n
Qn
X2
X1
Y
Q2 n 1
Qn 1
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 :
Q2n 1 Q2n (Qn . X 2 X 1 X 2 .Q n ) Q 2n (Qn . X 1 Q n . X 1 X 2 . X 1 )
Q2n 1 Q2n (Qn X 2 X 1 ) Q 2n (Qn X 1 X 2 . X 1 )
Comparando:
22
Q2n 1 Q2 n .K Q 2n .J J 2 Qn X 1 X 2 .X 1
K 2 Qn X 2 .X 1 Para Qn+1:
Qn 1 Qn ( X 1 Q 2n . X 1 X 1 . X 2 ) Q n (Q 2n . X 1 Q2n . X 2 ) Comparando:
Qn 1 Qn .K Q n .J J 1 (Q 2 n . X 1 Q2 n . X 2 ) K1 ( X 1 Q 2 n ). X 1 .( X 1 . X 2 ) Para Y:
Y Q 2n .Qn . X 2 . X 1 Q2n .Q n . X 2 . X 1
23
Y X 2 . X 1 (Q2n Qn ) U5:B 4 6 5
U7:A
U3:A U2:A
3 3
1
X1
1
1
74LS08
2
U7:C
9
3
9 8
74LS86
2
0
U3:C
2
8
10
74LS32
U2:B
74LS08
10 74LS32
74LS86
4 6 5
X2
U6:A
74LS08 1 2 13
0 U4:B U1:A 15 9
CLK K
6
3
16
Q
Q
14 12
J
S
74LS04
J
Q
R
1
Q
4
12
74LS11
74LS04
11
CLK K
74LS76
8
4
S
6
R
5
3
U1:B
7
2
U4:C
10
74LS76
U6:C 9 10 11
8
U5:C 74LS11
9 8 10
U3:B
74LS08
4
U7:B
6 5
U4:A
4 6 74LS32
1
2
5 74LS86
74LS04
U2:C 9 8 10 74LS08
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K
Qn
Qn 1
T
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 0 0 1 1 1 0
0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1
24
A B C D
0 B.0 C.0 B.0 C.0
1 B.0 A.1 D.0 B.1
T J .Q n K .Qn
C) Para la Tabla 3
i) ii)
Es un FSM Mealy Diseñando su grafo.
25
iii) Los Estados {D,C,B,A} ={ S3 , S 2 , S1 , S 0 }={11,10,01,00}
Las entradas {X}= {0,1} Se utiliza 2 FF-JK
Q2 n
Qn
x
y
Q2 n 1
Qn 1
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
a) Utilizando FF- JK
Para Q2n+1:
Q2n 1 Q2n (Qn . X Q n . X ) Q 2n . X .Qn
Ahora Comparando:
Q2n 1 Q2 n K Q 2n J
26
J 2 X .Qn K 2 Qn X
Para Qn+1:
Qn 1 Qn (Q2n . X Q2n . X ) Qn
Comparando:
Qn 1 Qn .K Qn J J1 1 K 1 Q2 n X Para Y:
27
Y X .Qn
U7:A 1 3 2 74LS86
X
U2:B
0
4
U2:A
6
1 3
U4:C 5
5
2
74LS08
6 74LS08 74LS04
U1:A
U1:B
9 6
Q
14 12 74LS76
Q
Q
U5:A
11
CLK K
8
K
J
S
15
R
Q
CLK
3
16
S
7
2 1
J
R
4
10
74LS76
U3:A
1 3
1
2
2 74LS86
74LS04
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K
Qn
Qn 1
T
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 0 0 1 1 1 0
0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1
28
T J .Q n K .Qn
D) Para la Tabla 4
i) ii)
A B C D
Es un FSM Mealy Diseñando su grafo.
0 D.1 D.0 C.0 A.0
1 B.0 B.0 A.1 C.0
iii) Los Estados {D,C,B,A} ={ S3 , S 2 , S1 , S 0 }={11,10,01,00}
Las entradas {X}= {0,1} Se utiliza 2 FF-JK
1º y 2º FF-JK = { Q2 n , Qn }
29
Q2 n
Qn
x
y
Q2 n 1
Qn 1
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
a) Utilizando FF- JK
Para Q2n+1:
Q2n 1 Q2n . X Q2n ( X .Qn X .Qn )
Comparando ahora:
Q2n 1 Q2n .J 2 Q2 n K 2 J2 X K 2 X Qn Para Qn+1:
30
Qn 1 Qn .Q 2n Q n .Q 2n
Comparando ahora:
Qn 1 Qn K Q n .J J 1 Q 2n K 1 Q2 n
Para Y:
Y Q n . X .Q 2 n Q2 n . X .Q n Y Q n ( X Q2 n )
31
U2:B
X
U3:A
4
0
6
U2:A 1 3
U4:C 5
1
2
5 74LS86
74LS04
2 6 74LS86
74LS04
U1:A
U1:B
9
CLK
3
K
6 Q
14 12 74LS76
J
S
15 Q
R
Q
Q
11
CLK K
8
S
7
2 1 16
J
R
4
10
74LS76
b) Utilizando FF-T
Convertiremos de un FF-T a un FF-JK
J K
Qn
Qn 1
T
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 0 0 1 1 1 0
0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1
T J .Q n K .Qn
32
E) Para la Tabla 5
i) ii)
Es un FSM es de tipo FSM Mealy Diseñando su grafo.
iii) Los Estados {E,D,C,B,A} ={ S 4 , S3 , S 2 , S1 , S 0 }={100,011,010,001,000} Las entradas {X}= {0,1} Se utiliza 2 FF-JK
1º , 2º y 3º FF-JK = { Q3n , Q2 n , Qn }
Q3 n
Q2 n
Qn
X
Y
Q3n 1
Q2 n 1
Qn 1
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
33
Para Q3n+1:
Q3n 1 0 Comparando:
Q3n 1 Q3n. 0 Q3n .0 J3 0 K3 1 Para Q2n+1:
Q2n 1 Q2n ( X Q n ) Q 2n .(Q n . X )
Comparando:
34
Q2n 1 Q2n .K 2 Q 2n .J J 2 X .Q n K 2 X .Qn Para Qn+1:
Qn 1 Q n . X .Q 3n Qn (Q2n X ) Comparando:
Qn 1 Qn K 1 Q n .J J 1 X .Q 3n K1 Q 2n .X Para Y:
Y Q2 n .Q n Q n X .Q3n
35
U3:A 1 2 13
12
U7:A 1
74LS11
3 2
U2:C
X
9
0
U6:A
5
8
U2:A
1
10
1 3
U4:C
74LS32
3
2
74LS08
2
6 74LS08
74LS08
74LS04
12 74LS76
U5:A
2 1
CLK K
4
Q
10
74LS76
16
J
S
14
11
Q
R
6 Q
Q
Q
15
CLK K
3
K
J
S
9
R
16
S
7
U1:B
15
CLK
3
74LS08
Q
8
1
J
R
4 6
5
U1:A
2
U6:B 4
14
74LS76
U2:B 4 6 5 74LS08
b) Utilizando FF-T Convertiremos de un FF-T a un FF-JK J K
Qn
Qn 1
T
0 0 0 0 1 1 1 1
0 1 0 1 0 1 0 1
0 1 0 0 1 1 1 0
0 0 0 1 1 0 1 1
0 0 1 1 0 0 1 1
T J .Q n K .Qn
36
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
37
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
38
δ (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)
39
(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
40
PREGUNTA 10:
SOLUCION: Analizaremos el circuito asumiendo el control del multiplexor C1
C1 0
C 0 igual a:
C0 0
CLOCK
Z0
Z1
↑
0
1
↑
1
0
↑
1
1
↑
0
0
↑
1
0
C1 0
y
C0 1
CLOCK
Z0
Z1
↑
1
1
↑
0
1
↑
1
0
↑
0
0
41
C1 1
C0 0
Z0
Z1
0
0
C1 1
D1 0
C0 1
CLOCK
Z0
Z1
↑
1
0
↑
0
0
C1 1
C0 1
Z0
Z1
0
0
D1 0
D0 0
D0 0
C1 1
C0 1
D1 0
CLOCK
Z0
Z1
↑
1
1
↑
0
1
C1 1
C0 1
Z0
Z1
0
1
D1 1
D0 0
D0 1
42
Ahora sustituyamos el biestable T por el biestable JK.
Tabla de estado de 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
Tabla de habilitación del FF-T q
Q
T
0
0
0
0
1
1
1
0
1
1
1
0
Tabla de conversión del FF-T a FF-JK
J
K q Q T
0 0 0
0
0
0 0 1
1
0
0 1 0
0
0
43
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
Hallando la conversión del FF-T a FF-JK a través del mapas de Karnaugh J 1
1
1
0
1
0
0
0
Q
Q
Q
K
La función T es:
T J Q KQ Finalmente el diseño queda:
Fig. 9 (Circuito modificado, sustitución del biestable T por el biestable JK)
44
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.
45
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 reconfiguración de la parte del diseño y la no-recurrentes de ingeniería de bajo costo
46
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 autoalteren, 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.
47
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.
48
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) b) c) d) e) f) g) h) i)
Codificador decimal Decoder a display de anodo comun Multiplexor de 8/1 Demultiplexor 1/8 Sumador paralelo de 8 bits Flip Flops JK,D,T,RS Registro de almacenamiento de 8 bits Contador BCD Contador Hexadecimal UP7DOWN.
49