Está en la página 1de 33

Sistemas Secuenciales de Mayor Porte

Unidad 3

Manrique 2005

Sistemas Digitales II

Introduccin

Mientras avanzamos en el diseo de sistemas de mayor porte, nos damos cuenta de que los datos ya no puede ser almacenados en flip flops, y pasamos a un segundo nivel de almacenamiento en dispositivos denominados de Registros. Los registros y los contadores comerciales son dispositivos que usan tecnologa de tipo MSI (medium-scale integration)

Manrique 2005

Sistemas Digitales II

Registros

Un registro es una coleccin de flip flops, usualmente con un nombre en comn y tambin con un clock en comn. Por ejemplo, existen dos registro en la entrada de una unidad lgica aritmtica de un procesador de computadora, que dependiendo de la arquitectura de la computadora estos registros podrn ser de 8, 16, y 32 flip flops, un flip flop por bit.

Manrique 2005

Sistemas Digitales II

Registros de Corrimiento (shift registers)

Este tipo de registros, en su forma ms sencilla, consiste en un conjunto de flip flops, de tal forma que los datos se mueven un espacio a la derecha en cada seal de clock o seal de entrada de corrimiento. Por lo general este tipo de registros est implementado con flip flops de tipo SR, pero es posible tambin el uso de flip flops de tipo JK y D.
Sistemas Digitales II
4

Manrique 2005

Registro de corrimiento de 4 bits

En cada pulso de clock, la entrada x, es transferida a q1 y el contenido de cada flip flop es recorrido un lugar hacia la derecha. Estos circuitos tambin son denominados como serial-in, serial-out

Manrique 2005

Sistemas Digitales II

Almacenamiento con un registro de corrimiento

Se puede usar el registro de corrimiento para almacenar bits de forma serial.

Manrique 2005

Sistemas Digitales II

74164 serial-in parallel-out shift register


La entrada x es remplazada por las entradas A y B en una compuerta AND Una aplicacin de este circuito es el puerto del modem, los datos son transmitidos de forma serial en la lnea telefnica y almacenados en un registro de corrimiento hasta completar el byte, una vez que se completa el byte entonces se efecta la comunicacin con la computadora.
U1 1 2 9 8 A B ~CLR CLK 74164N QA QB QC QD QE QF QG QH 3 4 5 6 10 11 12 13

Manrique 2005

Sistemas Digitales II

Registros de corrimiento de tipo parallel-in serial-out

Este tipo de registros permite que el registro realice la carga de los datos en forma paralela, en un solo pulso de clock, claro que para esto se necesita que cada flip flop tenga una entrada directa, as como una lnea de control para la carga Dos ejemplos de estos registros son el 74165 y el 74166
U1 11 12 13 14 3 4 5 6 A B C D E F G H QH 9 ~QH 7 2 3 4 5 10 11 12 14 1 A B C D E F G H SER U2 QH 13

10 SER 1 SH/~LD 15 INH 2 CLK 74165N

15 ~SH/LD 9 ~CLR 6 INH 7 CLK 74166N

Manrique 2005

Sistemas Digitales II

Parallel-in parallel-out shift register

Estos circuitos son limitados en nmero de bits a 4 o 5 debido al gran nmero de conexiones requeridas. 7495, es un registro de tipo entrada y salida en paralelo. La mayora de las computadoras tienen instrucciones de corrimiento a la derecha a la izquierda y rotaciones, para implementarlas se puede usar un registro right/left shift register como el 74194
U1 3 4 5 6 7 2 A B C D SL SR QA QB QC QD 15 14 13 12

Clear Clear Hold Shift Left Shift Right Load 0 1 1 1 1

S0 X 0 0 1 1

S1 X 0 1 0 1

QA* 0 QA QB SR A

QB* 0 QB QC QA B

QC* 0 QC QD QB C

QD* 0 QD SL QC D

9 S0 10 S1 1 ~CLR 11 CLK 74LS194N


Manrique 2005

Sistemas Digitales II

Contadores

Manrique 2005

Sistemas Digitales II

10

Introduccin

En la unidad anterior ya se abord el diseo de contadores, aqu veremos algunos circuitos contadores que existen en el comercio y algunas aplicaciones para este tipo de dispositivos. Como ya se explic anteriormente los contadores pueden ser sincrnicos o asincrnicos. Puede ser base 10, 12, 16 Pueden tener carga paralela Pueden tener seal de Clear o el Master Reset La mayora de ellos cuenta tanto para arriba como para abajo
Sistemas Digitales II
11

Manrique 2005

Contador 74161 de 4 bits


Contador sincrnico Con carga paralela Usa un CLR asincrnico por nivel bajo Tiene dos habilitadores de conteo, ENT y ENP, los cuales debern estar en 1 para habilitar el conteo.
U1 3 4 5 6 A B C D QA QB QC QD 14 13 12 11

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

RCO 15

74160N

Manrique 2005

Sistemas Digitales II

12

Encadenando contadores de 4 bits

Se encadenan (cascadean) los contadores de 4 bits para alcanzar conteos mayores, por ejemplo, se pueden usar dos contadores para alcanzar hasta 255 (28-1) U1 U2
VCC 5V Clear 3 4 5 6 A B C D S0 14 13 S1 12 S2 11 S3 15 RCO QA QB QC QD 3 4 5 6 A B C D S4 14 13 S5 12 S6 11 S7 15 RCO QA QB QC QD

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

74160N

74160N

V1 1 Hz 5 V

Manrique 2005

Sistemas Digitales II

13

Otros contadores

Existen contadores de dcada (de 0 a 9) semejantes al que acabamos de describir, el 74160 con CLR esttico y el 74162 con CLR sincrnico. Hay contadores que trabajan en varias modalidades, dependiendo como estn configurados, el 74193 y el 74191 son contadores de dcada y binarios, el 74190 y el 74192 tambin que son contadores U1 de tipo Down/Up.
15 1 10 9 A B C D QA QB QC QD 3 2 6 7

11 ~LOAD 14 CLR 5 UP 4 DOWN

~BO 13 ~CO 12

74192N

Manrique 2005

Sistemas Digitales II

14

El 74191
LD CTEN D/U

0
1 1 1

X
1 0 0

X
X 0 1

Carga esttica
No hace nada Cuenta arriba Cuenta abajo

Manrique 2005

Sistemas Digitales II

15

Contadores asincrnicos

7490 base 10 7492 base 12 7493 base 16

Cada uno de estos contadores son con disparo en rampa descendente y consisten en un flip flop y en un contador de 3 bits. La salida del flip flop deber estar conectada externamente al clock del contador para alcanzar un conteo completo. Ver hoja de datos
Sistemas Digitales II
16

Manrique 2005

Ejemplo de aplicacin

En este ejemplo se muestran dos formas de resolver un mismo problema, dependiendo del contador que se use se deben considerar algunos detalles para que el funcionamiento sea correcto. Problema: Disea un sistema que para cada nueve pulsos de entrada de clock exista en la salida un pulso. Solucin: Para esto el contador debe pasar por nueve estados, la salida se obtiene haciendo una AND con el clock con un circuito que detecte los nueve estados.

Manrique 2005

Sistemas Digitales II

17

Solucin usando un contador sincrnico con limpieza sincrnica 74163


VCC 5V 3 4 5 6 U2A A B C D U1 QA QB QC QD 14 13 12 11

U3A

7404N

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

RCO 15

7408N

74163N V1 100 Hz 5 V

Manrique 2005

Sistemas Digitales II

18

Usando un contador con limpieza asincrnica (esttica) 74160


U3A VCC 5V 3 4 5 6 7400N U1 A B C D QA QB QC QD 14 13 12 11 U2A U2C

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

RCO 15

7408N U2B

7408N 7408N

74160N V1 100 Hz 5 V

74160 usa CLR asinc.

Manrique 2005

Sistemas Digitales II

19

Dispositivos Lgicos Programables (PLDs)

Manrique 2005

Sistemas Digitales II

20

Introduccin

Ya que un sistema secuencial es una combinacin de memoria y lgica combinatoria, una aproximacin para su implementacin es usar una PAL (u otro arreglo visto en sistemas digitales 1) juntamente con algunos flip flops (para la memoria). Hay una variedad de dispositivos que combinan PAL y algunos flip flops tipo D. Una familia de estos dispositivos son los 16R8, 16R6 y 16R4. (ejemplo)
Sistemas Digitales II
21

Manrique 2005

PAL 16R8

Manrique 2005

Sistemas Digitales II

22

Una salida de la PAL 16R8

Manrique 2005

Sistemas Digitales II

23

Aplicacin

Los PLDs que se han mencionado aqu son tiles para circuitos relativamente pequeos, tpicamente no ms de 32 entradas y salidas. No obstante es posible tericamente construir circuitos mayores, pero es preferible usar otras aproximaciones.

Manrique 2005

Sistemas Digitales II

24

CPLD y FPGA

CPLD (Complex programmable logic device), es una arreglo de bloques de PLDs y una red de interconexiones programables. Algunas CPLDs comerciales tiene algunos cientos de bloques de PLDs. FPGA (field programmable gate array), son usados para circuitos mayores, en vez de usar PALs, las FPGAs usan como bloque bsico de construccin un generador lgico de propsito general (lookup table), con multiplexores y flip flops.

Manrique 2005

Sistemas Digitales II

25

FPGAs

Manrique 2005

Sistemas Digitales II

26

Arquitectura interna

Manrique 2005

Sistemas Digitales II

27

HDL (hardware design languages)

La mayora de los sistemas digitales significativos son hechos con ayuda de herramientas computacionales. Estas herramientas permiten especificar el comportamiento del sistema o la estructura del sistema usando una notacin semejante a un lenguaje de programacin. Las dos tecnologas ms usadas son: Verilog y VHDL, son semejantes pero varan en algunos detalles.
Sistemas Digitales II
28

Manrique 2005

Ejemplo de Verilog

Usaremos el circuito del full adder para ilustrar la estructura de una descripcin en Verilog

Manrique 2005

Sistemas Digitales II

29

Cdigo en Verilog
module full_adder (c_out, s, a, b, c); input a, b, c; wire a, b, c; output c_out, s; wire c_out, s; wire w1, w2, w3; xor x1 (w1, a, b); xor x2 (s, w1, c); nand n2 (w2, a, b); nand n1 (w3, w1, c); nand n3 (c_out, w3, w2); endmodule

Manrique 2005

Sistemas Digitales II

30

Problemas

Manrique 2005

Sistemas Digitales II

31

Problema 1

Disea un sistema usando el shift register 74164 para producir una salida 1 cuando las ltimas seis entradas han sido 1 y de lo contrario ser cero.
VCC 5V 1 2 9 V1 100 Hz 5 V 8 A B ~CLR CLK 74164N U1 QA QB QC QD QE QF QG QH 3 4 5 6 10 11 12 13
1

XLA1

U2

7430N U3A

C Q T

7404N

Manrique 2005

Sistemas Digitales II

32

Problema 2

Disea un sistema, usando un contador 74161 que produzca un 1 en la salida cuando la entrada ha sido 1 al menos 12 pulsos consecutivos.
VCC 5V Key = Space J1 3 4 5 6 A B C D U1 QA QB QC QD 14 13 12 11 U2A
1

XLA1

V1

7 ENP 10 ENT 9 ~LOAD 1 ~CLR 2 CLK

RCO 15

7420N

500 Hz 5 V

74160N

C Q T

Manrique 2005

Sistemas Digitales II

33