Sistemas Digitales Problemas 4

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

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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

AB 1

1

0

0

0

0

0

0

0

0

0

0

Datos de

AC 1

1

1

0

0

0

0

0

0

0

0

0

Datos de

AD 0

0

0

1

0

0

0

0

0

0

0

0

Datos de

BA 0

0

0

1

0

1

0

0

0

0

0

0

Datos de

BB 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

BD

2

0

0

0

0

0

0

1

0

0

0

0

Datos de

0

CA 0

0

0

0

0

0

1

0

1

0

0

Datos de

0

CB 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

CD 0

0

0

0

0

0

0

0

0

1

0

Datos de

0

AD 0

0

0

0

0

0

0

0

0

1

0

Datos de

1

BD 0

0

0

0

0

0

0

0

0

1

1

Datos de

0

CD 0

0

0

0

0

0

0

0

0

1

1

Datos de

1

DD

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