Sistema Logico Secuencial

49
INDICE INTRODUCCION……………………………………………………………...……Pág. 4 SISTEMAS LÓGICOS SECUENCIALES………………………………………Pág. 5 1.DEFINICION………………………………………………………………..…..Pág. 5 2. CARACTERISTICAS………………………………………………………..Pág. 5 3. LA RELACION………………………………………………………………Pág. 6 4. CLASIFICACIÓN…………………………………………………………....Pág. 7 5. CAMBIO DE VARIABLES…………………………………………………...Pág. 11 6. ELEMENTOS DE MEMORIA..……………………………………………...Pág. 12 7. BIESTABLE……...……………………………………………………………Pág. 12 7.1 CARACTERISTICAS DE BIESTABLE…………………..……………Pág. 13 7.2 TIPOS DE BIESTABLE………………….………………..……………Pág. 13 7.2.1 BIESTABLE S-R……………………………………………………Pág. 14 7.2.2 BIESTABLE J-K……………………………………………….….…Pág. 18 7.2.3 BIESTABLE D………………………………………………………Pág. 19 7.2.4 BIESTABLE T…………………………………………………….…Pág. 20 8. REGISTROS Y CONTADORES………………………………………......Pág. 21 8.1 REGISTROS…………………………………………………………….Pág. 21 8.1.1 REGISTRO DE ALMACENAMIENTO…………………………...Pág. 22 8.1.2 REGISTRO DE DESPLAZAMIENTO……………………... …….Pág. 23 8.2 CONTADORES…………………………………………………………Pág. 28 8.2.1 TIPOS DE CONTADORES……………………………………….Pág. 28 8.2.2 CARACTERISTICAS DE CONTADORES………………………Pág. 29 8.2.3 DISEÑO DE CONTADORES………………………………...…...Pág. 29 8.2.3.1 D.C. ASINCRONOS………………………...………………Pág. 29 8.2.3.2 D.C. SINCRONOS…………………………………………....Pág. 32

Transcript of Sistema Logico Secuencial

INDICEINTRODUCCION……………………………………………………………...……Pág. 4SISTEMAS LÓGICOS SECUENCIALES………………………………………Pág. 5 1.DEFINICION………………………………………………………………..…..Pág. 5 2. CARACTERISTICAS………………………………………………………..Pág. 5 3. LA RELACION………………………………………………………………Pág. 6 4. CLASIFICACIÓN…………………………………………………………....Pág. 7 5. CAMBIO DE VARIABLES…………………………………………………...Pág. 11 6. ELEMENTOS DE MEMORIA..……………………………………………...Pág. 12 7. BIESTABLE……...……………………………………………………………Pág. 12 7.1 CARACTERISTICAS DE BIESTABLE…………………..……………Pág. 13 7.2 TIPOS DE BIESTABLE………………….………………..……………Pág. 13 7.2.1 BIESTABLE S-R……………………………………………………Pág. 14 7.2.2 BIESTABLE J-K……………………………………………….….…Pág. 18 7.2.3 BIESTABLE D………………………………………………………Pág. 19 7.2.4 BIESTABLE T…………………………………………………….…Pág. 20 8. REGISTROS Y CONTADORES………………………………………......Pág. 21 8.1 REGISTROS…………………………………………………………….Pág. 21 8.1.1 REGISTRO DE ALMACENAMIENTO…………………………...Pág.22 8.1.2 REGISTRO DE DESPLAZAMIENTO……………………...…….Pág. 23 8.2 CONTADORES…………………………………………………………Pág. 28 8.2.1 TIPOS DE CONTADORES……………………………………….Pág. 28 8.2.2 CARACTERISTICAS DE CONTADORES………………………Pág.29 8.2.3 DISEÑO DE CONTADORES………………………………...…...Pág.29 8.2.3.1 D.C. ASINCRONOS………………………...………………Pág.29 8.2.3.2 D.C.SINCRONOS…………………………………………....Pág. 32

INTRODUCCIONLos sistemas combinacionales se construyen mediante funcionesbooleanas de sus variables de entrada. Pero no todo sistemadigital es combinacional: existen sistemas en que lacorrespondencia entre el vector de entrada y el vector desalida no es unívoca; es decir, no se pueden obtener lassalidas como funciones de «sólo» las entradas.

Los sistemas secuenciales necesitan recordar su pasado, la«secuencia de vectores de entrada» a través de la cual se hallegado a la situación presente; para ello han de tener«memoria», que se configura mediante un vector de «estado»que contiene la información que el sistema necesita sobre supasado. La memoria se consigue mediante «realimentaciónlógica»: las variables de estado son, a la vez, variables desalida y de entrada en las funciones de evolución del estado.

Tres vectores: entrada, estado y salida, y dos conjuntos defunciones: las de evolución del estado (estado anterior yentradas determinan el nuevo estado) y las de activación delas salidas (que dependen, también, del estado y de lasentradas).

La evolución de un sistema secuencial puede ser representadamediante un grafo de estados, a partir del cual pueden

construirse las funciones de modificación del estado. Enocasiones, hay dos formas diferenciadas de configurar elgrafo de estados: distinguiendo salidas distintas con estadosdiferentes (autómata de Moore) o reduciendo el número deestados al mínimo y admitiendo que un mismo estado puedatener varios vectores de salida (autómata de Mealy).

El presente capítulo presenta gradualmente los conceptosbásicos necesarios para comprender y describir los sistemassecuenciales, a través de una serie de ejemplos; se reservapara el capítulo siguiente la metodología de diseñosecuencial.

La necesidad de memoria, como recuerdo del pasado de unsistema secuencial, se concreta en el concepto de estado.Pero existe otra perspectiva complementaria que nos lleva ala memoria como necesidad de almacenar datos y resultados, esdecir, conservar información que puede ser utilizadaposteriormente. El biestable como celda capaz de almacenar unbit y el registro (conjunto de biestables) como bloque capazde almacenar una palabra binaria son los elementos básicos dela memoria.

Precisamente, el siguiente capítulo desarrollará el diseño decircuitos secuenciales, utilizando los biestables como celdasque contienen las variables de estado.

SISTEMAS LÓGICOS SECUENCIALES

1. DEFINICIONSistema Lógico Secuencial es un sistema capaz dememorizar el nivel lógico de las variables de entrada yconvertirlo en un estado interno del propio sistema, detal manera que el nivel lógico de las variables de salidaen un instante determinado no depende solamente del de

las variables de entrada en dicho instante sino tambiéndel que tuvieron en el pasado.

También se denomina autómata finito o máquina de estadosfinita, conocida como FSM (Finite State Machine)

2. CARACTERISTICAS

Todo sistema secuencial posee:

Un conjunto de n variables de entrada x0, x1,......,xn-1 que dan lugar a un conjunto finito de 2ncombinaciones que reciben el nombre de vectores deentrada.

Un conjunto de m variables de estado interno y0,y1,...., ym-1 que dan lugar a un conjunto finito de2m estados internos que reciben el nombre devectores de estado interno.

Un conjunto de p variables de salida z0, z1,....,zp-1 que dan lugar a un conjunto finito de 2pcombinaciones o vectores de salida.

3. LA RELACIÓN

Según la relación entre las salidas y los estadosinternos podemos distinguir:

AUTÓMATA de MEALY, las salidas se obtienen enfunción de las entradas y los estados internos:

AUTÓMATA de MOORE, las salidas coinciden o dependensolo de los estados internos:

4. CLASIFICACIÓN

Según la forma de realizar el elemento de memoria nospodemos encontrar distintos tipos de sistemassecuenciales, principalmente dos:

Sistemas Secuenciales Asíncronos, actúan de formacontinua en el tiempo, un cambio de las entradasprovoca cambios en las variables internas sinesperar a la intervención de un reloj. Son sistemasmás difíciles de diseñar.

Sistemas Secuenciales Síncronos, en los que sucomportamiento puede definirse en instantes dediscretos de tiempo, se necesita una sincronizaciónde los elementos del sistema mediante una señal dereloj, que no es más que un tren de pulsos

periódico. Las variables internas no cambian hastaque no llega un pulso del reloj.

Las operaciones de un sistema asíncrono tienen efecto, esdecir, se almacena el próximo estado, en intervalostemporales diferentes. Por lo tanto, su velocidad deoperación será distinta para cada secuencia de entradas.De esta forma se toma como el parámetro de la velocidadde operación el valor medio de todas las velocidades.Así, la operación de un sistema asíncrono se denominaoperación del caso medio.

En cambio, las operaciones de un sistema síncrono tienenefecto en el mismo intervalo temporal, el dictaminado porel periodo de la señal de reloj. Por lo tanto, suvelocidad de operación será siempre la misma para todaslas secuencias de entrada. Esta velocidad debe ser talque todas las operaciones tengan el tiempo necesario parapoder llevarse a cabo. Así, la velocidad de un sistemasíncrono (y por tanto la frecuencia de la señal de relojasociada) debe estar limitada por la operación más lenta.A este tipo de operaciones se le suele denominaroperación del caso peor.

Estos dos tipos de operaciones se muestran esquematizadasen la figura 1.4. Ambos se pueden modelar de la mismaforma, es decir, con una lógica combinacional yrealimentaciones a través de elementos de memoria. Ladiferencia radica en el control de estos elementos: en elcaso síncrono, los elementos de memoria son controladospor una señal externa, que por lo general es controladadirectamente por el usuario; mientras que en el casoasíncrono, esta señal de control no existe (por lo que elelemento de memoria se traduce en un elemento de retraso)o en su defecto dicha señal es generada por el propiocircuito, luego el gobierno de las operaciones recaencompletamente en el propio circuito. Así podemos apreciarque el cambio de las señales de próximo estado a estado

presente se llevan a cabo mediante un mayor o menorretraso en el caso asíncrono o cuando lo indique unaseñal externa en el caso síncrono.

SISTEMA SECUENCIAL DE REALIMENTACIÓN DIRECTA

Las variables de entrada actúan de formadirecta sobre él y por ello se le da también ladenominación genérica de sistema secuencialasíncrono.

CELDA BÁSICA BINARIA ASÍNCRONA

Sistema secuencial asíncrono que posee una solavariable de estado interno.

Es un sistema secuencial asíncrono derealimentación directa sobre cuyo estado actúande forma inmediata las variables de entradacuando se ponen en un determinado nivel lógicoo cuando cambian de nivel lógico.

Puede ser utilizado para implementar sistemassecuenciales asíncronos.

CELDA BÁSICA BINARIA SÍNCRONA

Se caracteriza por tener una variable deentrada especial, denominada entrada desincronización o de disparo (Trigger), a la quealgunos autores llaman también entrada de reloj(Clock) porque en la mayoría de los casos se leaplica la salida de un generador de impulsos.Las variables de entrada solamente actúansobre el estado de la celda en el instante enel que la citada entrada de sincronizacióncambia de nivel.

5. CAMBIO DE VARIABLES

El cambio de las variables internas se puede producir dedos maneras en un sistema secuencial síncrono:

Por niveles, cuando permiten que las variables deentrada actúen sobre el sistema en el instante en elque la señal de reloj toma un determinado nivellógico (0 ó 1).

Nivel alto ("1"): El biestable podrá cambiarde estado cuando la señal de reloj esté a "1".

Nivel bajo ("0"): El biestable podrá cambiarde estado cuando la señal de reloj esté a"0".

Por flancos, o cambios de nivel, cuando la acción de lasvariables de entrada sobre el sistema se producecuando ocurre un flanco activo del reloj. Esteflanco activo puede ser de subida (cambio de 0 a 1)o de bajada (cambio de 1 a 0).

Flanco de subida: El biestable podrá cambiarde estado en el instante en que la señal de reloj pase de "0" a "1".

Flanco de bajada: El biestable podrá cambiarde estado en el instante en que la señal dereloj pase de "1" a "0".

El elemento de memoria básico de los circuitossecuenciales síncronos es el biestable. Almacena elestado 0 ó el estado 1, y de ahí su nombre, tienen dosestados estables de funcionamiento.

6. ELEMENTOS DE MEMORIA

Ya que estamos hablando de circuitos lógicos, lasentradas de estos serán valores booleanos (verdadero ofalso, 1 o 0,...) Por esta razón, los elementos que seutilizan como memoria en los SLS tendrán que ser capacesde almacenar la información bit a bit.

Definimos el elemento básico de memoria, que denominamosbiestable, como un circuito lógico que pueda:

Mantener un bit de información indefinidamente Modificar su contenido en función de algún

tipo de entrada.

7. BIESTABLE

Los biestables son circuitos lógicos capaces depermanecer en uno de entre dos estados estables, aúndespués de desaparecer la causa que provocó el paso alestado alcanzado. Son, pues, capaces de almacenar unainformación binaria (1 bit).

7.1. CARACTERISTICAS DE BIESTABLE

Retardo de propagación

Desde el cambio en la entrada hasta elcambio en la salida.

Para un biestable hay varios retardos(tantos como distintos cambios en lasdiferentes entradas).

Tiempo de set-up (establecimiento)

Tiempo mínimo que la entrada debepermanecer estable antes del suceso delreloj.

Tiempo de hold (mantenimiento)

Tiempo mínimo que la entrada debepermanecer estable después del sucesodel reloj.

Frecuencia máxima de reloj.

7.2. TIPOS DE BIESTABLE

Deben distinguirse tres aspectos en las señales deentrada que producen la transición de un estado a otro:

1. La lógica de disparo, que determinará que elbiestable cambie de estado cuando en sus entradas se déuna cierta combinación de señales. Es el modo defuncionamiento. Puede haber tantos biestables comológicas de cambio nos imaginemos. En la práctica sólose usan 4 tipos de biestables.

2. El tipo de disparo, que determinará la forma en quelas excitaciones de entrada afectan al estado delbiestable.

3. El sincronismo en el disparo, que determinará si elfuncionamiento del biestable se hará de acuerdo con la

presencia de una señal adicional a las entradas, y quese denomina señal de reloj.

Combinando estos tres aspectos, los fabricantes hancomercializado una gran variedad de biestables, que sonsuficientes para las necesidades de diseño. Podemosclasificar los biestables según estos criterios.

1. Atendiendo a la lógica de disparo (modo defuncionamiento):

Biestables S-R Biestables J-K Biestables D Biestables T

7.2.1 BIESTABLE S-R

El único biestable que tiene sentido como asíncrono es el R-S. Los demás requieren reloj para un correcto funcionamiento.

Este biestable tiene dos entradas: R (Reset): permite poner a 0 el estado del biestable.S (Set): permite ponerlo a 1.Tiene dos salidas complementarias: Q y Q'. Para analizar la tabla de transición basta con que nos fijemos en Q.

La tabla de transición es la siguiente, en forma normaly forma compacta:

En el último caso, el hecho de que el nuevo estado noestá definido no quiere decir que el biestable sedeteriore si R=S=1. Lo que significa es que no podemospredecir en qué estado quedará.

El símbolo como bloque del biestable R-S es elsiguiente:

Y el circuito puede ser implementado con sólo dospuertas NOR con acoplamiento cruzado y con entradaactiva a nivel alto o con dos puertas NAND con entradaactiva a nivel bajo:

En el caso de utilizar puertas NAND, las órdenes Reset ySet suceden para entradas a nivel bajo (0); en estecaso, el biestable se llama biestable R'S', y su tablade verdad es todo invertido (R=S=0 no permitido, etc.).

Vamos a explicar el funcionamiento del biestable R-Scon el primer circuito (con puertas NOR). Lo quehacemos es cambiar los valores de las dos entradas R yS y observaremos las señales de salida Q y Q'.

Suponemos que R=S=Q=0 (nivel bajo). Dado que la salidaQ se realimenta a una entrada de la puerta 2 y su otraentrada es S=0, la salida de la puerta 2 tiene que serQ'=1. Pero esta salida está acoplada de nuevo a unaentrada de la puerta 1, asegurando así que su salidasea Q=0, es decir, el biestable no cambia de estado.

Cuando la salida Q esté a nivel bajo (Q=0), elbiestable se encuentra en estado RESET ("0") ypermanecerá indefinidamente en él hasta que se leaplique un nivel alto en la entrada S (S=1). Al tenerS=1, la salida de la puerta 2 se pone a nivel bajo(Q'=0). Como tenemos que R=0 y Q'=0, la salida de lapuerta 1 se pone a nivel alto (Q=1). Este nivel alto enla salida Q se realimenta a una de las entradas de lapuerta 2, asegurando que su salida Q' permanece a nivelbajo (Q'=0) incluso cuando se elimine el nivel alto dela entrada S (S=0).

Cuando la salida Q esté a nivel alto (Q=1), elbiestable se encuentra en estado SET ("1"), ypermanecerá indefinidamente en él hasta que se leaplique un nivel alto en la entrada R (R=1).

Si estando en este estado SET (Q=1), eliminamossimultáneamente los niveles altos de las dos entradas(R=S=0), como la salida Q se realimenta en una entradade la puerta 2, y la otra entrada es S=0, su salidaestará a nivel bajo (Q'=0). Como esta salida estáacoplada de nuevo a una entrada de la puerta 1, y laotra entrada es R=0, su salida estará a nivel alto(Q=1). Vemos que el biestable no cambia de estado.

En operación normal, las salidas de un biestable (Q yQ') son siempre complementarias una de la otra. Sinembargo, se produce una condición de funcionamiento noválida en un biestable R-S cuando se aplicansimultáneamente niveles altos a las dos entradas R y S(R=S=1). En esta situación, las dos salidas deberíanestar forzosamente a nivel bajo (Q=Q'=0), lo que violala condición de complementariedad de las salidas.

Además, si se eliminan simultáneamente los nivelesaltos de las dos entradas (R=S=0), las dos salidas vana tender al nivel alto y, dado que siempre va a existir

un cierto retraso de propagación de la señal eléctricaa través de las puertas, una de las puertas dominará enla transición a nivel alto (una de las puertas siempreserá más lenta que la otra). Esto hará que la salida dela puerta más lenta permanezca a nivel bajo. Cuando seproduce esta situación, no se puede predecir elsiguiente estado del biestable. Si los tiempos depropagación de las dos puertas fueran exactamenteiguales se producirían oscilaciones 0, 1, 0,1,...

Este tipo de biestable, y todos los que vamos a ver,pueden tener una entrada adicional de habilitación(STROBE o ENABLE), que puede activarse en estado alto("1") o bajo ("0"). Cuando esta señal está activa, elbiestable funciona (puede cambiar de estado); cuandoestá inactiva, no funciona.

En el caso del biestable R-S, debemos añadir lasiguiente lógica al circuito para tener dicha entradade habilitación. El símbolo lógico o de bloques es elmismo que antes pero añadimos esta entrada dehabilitación.

Los símbolos lógicos o de bloques de los biestables R-Ssíncronos son los siguientes. Todos tienen una entradaadicional de reloj (Clock). En el caso de los flip-flops disparados por flanco colocamos un triángulodentro del bloque en la entrada del reloj. Este

triángulo se denomina "indicador de entrada dinámica".Para distinguir si se activa por flanco de subida o porflanco de bajada, colocamos un círculo (como los denegación) en la entrada del reloj.

Activados por nivel:

Activados por flanco:

7.2.2 BIESTABLE J-K

El flip-flop J-K es uno de los más ampliamenteutilizados. Las denominaciones J y K de sus entradas notienen ningún significado conocido, excepto el hecho deque son dos letras consecutivas del alfabeto.

Es similar al R-S, pero elimina la indeterminación quese presenta cuando las dos entradas son "1". En estecaso, para esa combinación el estado cambia de valor,es decir, si tenía el valor "0" pasa a valor "1" yviceversa.

La razón de utilizar el biestable R-S es porque esmucho más simple y económico que el biestable J-K. Haymuchos casos en que tenemos la certeza de que elcircuito conectado al biestable no podrá activarsimultáneamente las dos entradas a la vez ("1").

La tabla de transición es la siguiente, en forma normaly forma compacta:

El símbolo como bloque es:

7.2.3 BIESTABLE D

Sólo tiene una entrada D, y su funcionamiento es tal,que el estado siguiente Q (t+1) es la entrada D,independientemente del estado actual del biestable Q(t).

Su tabla de transición es:

Puede observarse que el nuevo estado coincide siempre con la entrada D. Si lo definimos así, esto no es un biestable, ya que no almacena ninguna información. Lo que ocurre es que este biestable no tiene sentido como asíncrono.

El biestable D síncrono es un elemento típico dealmacenamiento gobernado por la señal de reloj. Laseñal lógica que haya en la entrada D, no modificará elestado Q hasta que se active la señal de reloj. Estoconstituye una memoria elemental de 1 bit, ya que elvalor presente en la entrada D, queda almacenado alllegar la señal de reloj. Para cambiar el contenido deesta celdilla de memoria, no hay más que colocar elnuevo valor en la entrada D y activar la señal dereloj, momento en el cual el nuevo valor quedaalmacenado en el biestable.

Su símbolo como bloque es:

Puede obtenerse también a partir de un biestable J-K y un inversor, según podemos observar en el esquema

siguiente:

7.2.4 BIESTABLE T

Tiene una única entrada T. Si esta entrada estáinactiva ("0"), el estado no cambia. Si T está activa("1"), el estado cambia.

Su tabla de transición es:

Su símbolo como bloque es:

Puede comprobarse que un biestable J-K con las dosentradas unidas actúa como un biestable T, razón por lacual éste no existe comercialmente, sólo existe a nivelteórico.

Por tanto, todo lo dicho para el biestable J-K esaplicable para el biestable T.

8. REGISTROS Y CONTADORES

Hasta ahora hemos estudiado circuitos combinacionales ycircuitos secuenciales por separado. En este apartadovamos a unir ambos conceptos, para poder analizar losbloques funcionales secuenciales básicos, como son losregistros y los contadores.

Los registros y los contadores son bloques funcionalessecuenciales que se utilizan extensamente en el diseñode sistemas digitales. Los registros son útiles paraalmacenar y manipular información; los contadores seemplean en los circuitos que secuencian y controlan lasoperaciones de los sistemas digitales.

8.1 REGISTROS

Un registro no es más que una agrupación de biestablesdel mismo tipo. Puesto que un biestable es capaz dealmacenar 1 bit de información, si tenemos "n"biestables, el registro será capaz de almacenar "n"bits de información binaria (de forma temporal).

El registro más sencillo consta tan sólo de flip-flopssin puertas lógicas externas. Estas puertas son las quedeterminan los nuevos datos a almacenar.

8.1.1 REGISTRO DE ALMACENAMIENTO (TIPO D)

El registro tipo D es un conjunto de biestables Dy es el más utilizado como almacén temporal deinformación. Cada entrada D se conecta a una líneade entrada de información y cada salida Q seconecta a una línea de salida de información. Porotro lado, todas las señales de reloj van unidasentre sí, activando todos los flip-flops porflanco (de subida o bajada) o por nivel para quela información se almacene en todos los biestablesal mismo tiempo.

El esquema es el de la figura (para n=4 bits):

En este caso, la señal de reloj es con flanco desubida. Además, podemos observar como estos flip-flops tienen una entrada asíncrona de Resetactivada por 0 (Clear') para la inicialización delregistro con ceros antes de su operación, aunqueesto es opcional (depende del uso que vayamos adarle al registro en el sistema). Lo que haremosserá tener la entrada Clear' a un valor de "1"durante la operación normal sincronizada, haremosque sea "0" sólo cuando queramos inicializar elregistro.

La transferencia de información nueva a unregistro se conoce como carga del registro. Comoestamos utilizando una señal de reloj por flancopara la sincronización de todos los flip-flops,todos los bits del registro se cargan de manerasimultánea. Por ello decimos que la carga se haceen paralelo.

La entrada de reloj en los biestables tipo D puedeser por flanco o por nivel. La actuación porflanco requiere un circuito mucho más caro que pornivel y no presenta ventajas salvo en casos muyparticulares. Por esta razón, en los computadoresse utilizan casi siempre registros D activados pornivel, pero con una señal de reloj, realmente setrata de actuación por nivel con señal de reloj decorta duración.

8.1.2 REGISTRO DE DESPLAZAMIENTO

Son registros en los cuales la informacióncontenida en un biestable puede ser transferida albiestable adyacente. La transferencia se realizaen todos los biestables simultáneamente, es decir,la información contenida en el biestable 1 pasa al2, al mismo tiempo que la información que habíaantes en el 2 pasa al 3, y así sucesivamente.Están conectados en cascada. La nueva informaciónen el primer biestable se toma de una entrada, yla información del último biestable se pierde.

Hay varios tipos de registros de desplazamiento:

1. Atendiendo a la entrada de información en elregistro:

1.1. Entrada paralelo: se puede modificar elvalor de todoslos biestables a la vez (igual que en unregistro tipo D).

1.2. Entrada serie: sólo hay una entradaconectada a un biestable (como hemos descritoanteriormente).

2. Atendiendo a la salida de información:

2.1. Salida paralelo: todos los biestables sonaccesibles (sus salidas).

2.2. Salida serie: sólo el último biestable(su salida) es accesible. Los datos vansaliendo uno detrás de otro, mediantedesplazamientos sucesivos.

3. Atendiendo al sentido del desplazamiento:

3.1. Desplazamiento sólo hacia la derecha /izquierda.

3.2. Desplazamiento en ambos sentidos, nosimultáneo.

3.3. Rotación hacia la izquierda /derecha.

Para caracterizar o designar un registro dedesplazamiento hay que indicar todas suscaracterísticas: tipo de entrada, tipo de salida ysentido del desplazamiento. Por ejemplo, ladesignación: "SRG8" indica que es un registro dedesplazamiento con una capacidad de 8 bits.

Suponiendo registros de 4 bits, los posiblesmovimientos de datos en los registros de

desplazamiento son:

Sus aplicaciones son muy numerosas. Entre ellaspodemos citar:

Conversión paralelo-serie y viceversaRotaciones de los datos (multiplicar y dividirpor 2n)Registros de memoria transitorios (buffers)Sistemas para unidades aritméticas (+,·,/)Como retardo de línea digitalComo generadores de secuencias

El circuito puede implementarse con biestables R-S, J-K o D síncronos, con señal de reloj activapor flanco.

Veamos unos ejemplos de circuitos (esquemas).

Caso 1: Un registro de desplazamiento de 4 bitscon entrada y salida serie, desplazamiento aderecha.

Vamos a construir un cronograma para comprobar elfuncionamiento del registro. Suponemos que elregistro se activa por flanco de subida.

Biestables D:

Vamos a ver dos ejemplos de cronogramas, paracomprobar el funcionamiento, uno con flanco desubida y otro con flanco de bajada.

Caso 2: Un registro de desplazamiento de 4 bitscon entrada serie y salida paralelo.

Biestables D:

Caso 3: Un registro de desplazamiento de 4 bits con entrada paralelo y salida paralelo.

Biestables D:

Como podemos observar, en este tipo de registrosno se realiza ningún desplazamiento, por lo que nose puede considerar como registro dedesplazamiento.

8.2 CONTADORES

Un contador es un registro que pasa por una secuenciapredeterminada de estados al aplicársele pulsos dereloj.

Básicamente, son circuitos capaces de contar losimpulsos que llegan por una línea. El valor de lacuenta se expresa mediante un código, que en la mayoríade los casos es binario natural, y a veces, BCD. Los

impulsos de entrada que son capaces de detectar son losflancos de la señal de entrada.

Dado que el estado del contador debe cambiar cuandollega un flanco de la señal de entrada, se utilizanbiestables T para construir los contadores, conectandola línea con los impulsos a contar a la entrada dereloj. También podemos utilizar biestables J-K.

8.2.1 TIPOS DE CONTADORES

1. Atendiendo al código que cuentan

1.1. Binario (natural)1.2. BCD1.3. En anillo1.4. En Gray1.5. Johnson

2. Atendiendo al sentido de conteo

2.1. Contador hacia arriba (ascendentes)2.2. Contador hacia abajo (descendentes)2.3. Contador en ambos sentidos, nosimultáneos

3. Atendiendo a la posibilidad de preselección

3.1. Contador con carga en paralelo3.2. Contador con puesta a cero inicialsolamente

4. Atendiendo a la forma de propagarse la señal dereloj internamente

4.1. Contador asíncrono (contadores conpropagación)4.2. Contador síncrono con acarreo serie

4.3. Contador síncrono con acarreo paralelo

8.2.2 CARACTERISTICAS DE CONTADORES

Para caracterizar un contador se indican todas lasposibilidades. Por ejemplo, un contador BCDascendente asíncrono.

Un contador es asíncrono.- cuando la salidadel biestable es la entrada de reloj delbiestable siguiente. Estos contadores llevanuna secuencia (ascendente o descendente) quese repite indefinidamente.

Un contador es síncrono.- Cuando la señal dereloj se conecta a la entrada de reloj de cadauno de los biestables. Se utiliza cuando losestados por los que pasa (secuencia) no soncorrelativos. Por ejemplo: 1, 8, 7, 4, etc.

8.2.3 DISEÑOS DE CONTADORES 8.2.3.1 DISEÑO DE CONTADORES ASINCRONOS

Supongamos un contador de módulo N, siendo(N-1) el mayor número representable quecontamos. Seguiremos los siguientes pasos:

1. Calcular el número de biestables (flip-flops) necesarios: n.

Deberemos cumplir que:2n-1 < N 2nDonde: N = Número de estados (0...N-1)n = Número de biestables (T o J-K).

2. Conectar las entradas de reloj de todoslos biestables

3. Conectar las entradas de todos losbiestables a "1" lógico.

Biestables T: conectando T="1"Biestables J-K: conectando J=K="1"

Ambos tipos podrán tener o no entradasasíncronas de PRESET Y CLEAR.

Sólo si nuestros biestables tienen unaentrada asíncrona PRESET seguimos con lossiguientes pasos:

4. Escribir el número N-1 en binario.

5. Para todos los biestables que tienen un1 en dicho valor binario, conectar susalida Q junto con la señal de reloj en unapuerta NAND.

6. Conectar la salida de la puerta NAND alas entradas PRESET del resto debiestables, los que su valor binario era 0en el valor N-1.

Por otro lado, sólo si nuestros biestablestienen una entrada asíncrona CLEAR seguimoscon los siguientes pasos:

4. Escribir elnúmero N-1 en binario.

5. Para todos los biestables que tienen un0 en dicho valor binario, conectar susalida Q junto con la señal de reloj enuna puerta NAND.

6. Conectar la salida de la puerta NAND alas entradas CLEAR del resto de biestables, los quesu valor binario era 1 en el valorN-1.

Lógicamente, si tenemos biestables con lasdos entradas asíncronas PRESET y CLEARpodemos utilizar cualquiera de los dosmétodos descritos.4

Si estas entradas se activan a nivel bajolo hacemos como hemos descrito; si seactivan por nivel alto, utilizaremos unapuerta AND en lugar de la NAND.

Ejemplo

Vamos a ver como ejemplo, el circuito ycronograma de un contador asíncrono de 3 bits,binario, con cuenta hacia arriba, sinpreselección (PRESET) ni puesta a cero (CLR).Utilizamos biestables T para realizar elcircuito. Recordemos la tabla de transición delbiestable T:

Necesitaremos "n" biestables. Tenemos que N = 8estados. Se debe cumplir: 2n-1 < N 2n2n-1 < 8 2n n 3

Con cuenta hacia arriba:

El funcionamiento se puede analizar en elsiguiente cronograma:

Con cuenta hacia abajo:

Lo único que tenemos que cambiar en el circuitoanterior es la señal de reloj, para que se active por flanco de subida.

El funcionamiento se puede analizar en elsiguiente cronograma:

Otra posibilidad hubiera sido conectar lasalida Q' de cada biestable a la entrada dereloj del siguiente, en vez de Q, manteniendoel flanco de bajada.

8.2.3.2 DISEÑO DE CONTADORES SINCRONOS

Para los contadores síncronos podemosutilizar cualquier tipo de biestables: R-S,J-K, D y T.

El procedimiento de diseño de contadoressíncronos es:

1. Calcular el número de biestables(flip-flops) necesarios: n.

Deberemos cumplir que:2n-1 < N 2nDonde: N = Número de estadosn = Número de biestables (R-S, J-K, D ó T).

2. Escribimos la tabla defuncionamiento del biestable.

3. Construimos una tabla detransiciones y excitacionescorrespondientes a las entradas del

biestable utilizado. En esta tabla,averiguamos el valor que deben de tener lasentradas del biestable para que en lasalida se produzca cualquier transición (0-0, 0-1, 1-0, 1-1).

4. Utilizando esta última tabla,construimos la tabla de transiciones yexcitaciones del contador. En esta tablaaveriguamos el valor que debemos tener enlas entradas para producir la secuencia deestados pedida. Lo que conocemos son lassalidas Q de los biestables, puesto que sonlas combinaciones que queremos que cuente.Por tanto, ponemos como posiblescombinaciones de entrada los distintosvalores que va a contar en binario, y setrata de calcular las funciones lógicascorrespondientes a cada una de las entradasde los biestables en función de lassalidas.

5. Simplificar por Karnaugh las funcioneslógicas obtenidas. Las tablas de Karnaughse pueden obtener directamente de la tablaanterior.

6. Realización del circuito a partir delas funciones simplificadas.

7. Comprobar el funcionamientorealizando un cronograma.

Ejemplo:

Vamos a diseñar un contador que siga la siguiente secuencia con biestables J-K: 0, 4, 6, 1, 14, 7 y vuelvan a repetirse.

Utilizamos biestables J-K, sin preselección (PRESET) ni puesta a cero (CLR).

1. Número de biestables:

Tenemos 6 posibles estados (N=6), por tanto: 2n-1 < N 2n 2n-1 < 16 2n n3 En este ejemplo vamos a utilizar n=4.

2. Tabla de funcionamiento del biestable:

3. Tabla de transiciones y excitaciones de lasentradas del biestable:

4. Tabla de transiciones y excitaciones delcontador:

Para cada biestable x, rellenamos las columnas deJx y Kx con los valores que deben tomar lasentradas para que en el siguiente estado cambiesu correspondiente Qx al valor del siguiente valorde la secuencia; si fuese el último, entoncesconsideramos de nuevo el primero para quecomience de nuevo el ciclo.

5. Simplificamos por Karnaugh las funciones de lasentradas.

6. Circuito a partir de las funciones simplificadas.

7. Cronograma:

NOTA: Para construir el cronograma, como ahoracambian todos los biestables al mismo tiempo,tendremos que mirar la entrada de cada uno en elestado anterior.

Ejemplos de IC:

74LS93: Asíncrono binario 4 bits74LS163: Síncrono binario de 4 bits74LS160: Décadas BCD síncrono

74LS190: Décadas ascendente / descendente