Registros de Corrimiento
Un registro de corrimiento es un circuito secuencial síncrono capaz de contractar varios bits de información. El formato de esta información puede ser de dos tipos:
• Serie: los bits se transfieren uno a continuación del otro por una misma línea.
• Paralelo: se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de transferencia igual al número de bits.
REGISTROS CON ENTRADA SERIE Y SALIDA SERIE
A continuación se muestra un registro de desplazamiento con entrada y salida en serie de 5 bits formado con biestables maestro esclavo RS:
Observamos que la entrada S del primer biestable está conectado a la entrada y está negada a la entrada R. Con esto se consigue que, cuando en la entrada haya un 1, el primer biestable contendrá un 1 (Q=1, Q’=0) y los demás un 0. Con la siguiente señal de reloj el bit almacenado en el primer biestable se desplazará al siguiente y así un tras otro hasta la salida en serie. Esto sucede así porque la salida Q está conectada a la S del siguiente biestable. También podemos observar que los biestables nunca pueden estar en estado de mantenimiento o en estado prohibido, ya que la entrada enserie pasa afirmada a la S y negada a la R.
Los registros de desplazamiento se implementan con biestables maestro – esclavo, pues son capaces de almacenar la información un flanco, y transmitirla durante el siguiente.
Cuando el registro se efectúa de izquierda a derecha se denomina desplazamiento hacia la derecha. Si el registro combina ambos tipos se llama bidireccional.
REGISTROS CON ENTRADA SERIE Y SALIDA PARALELO
La estructura de un registro serie paralelo es muy similar a la de un registro con entrada y salidas en serie:
Observamos que la única diferencia es que se le añade una salida a cada una de las salidas Q del biestable: de esta manera se pueden obtener todos los datos a la vez. Por otro lado, también se puede obtener una salida en serie de cualquier salida Q o Q’.
Habitualmente se suele añadir una entrada de puesta a cero asíncrona (CLEAR) cuya función es inicializar el registro.
En último lugar destacar que estos registros se suelen utilizar para el cambio de una palabra de serie a paralelo.
REGISTROS CON ENTRADA PARALELO Y SALIDA SERIE
A continuación se muestra un esquema de un registro con entrada paralelo y salida serie y carga asíncrona.
El funcionamiento es el siguiente: cuando en la entrada de selección desplazamiento /carga’ hay un 0 se realiza la carga. Con el inversor este cero se convierte en un 1 y por lo tanto las puertas NAND que hay arriba y debajo de los biestables se convierten en inversores.
A continuación se introducen los datos: en el bit que haya un 1, se activa el Preset, y en el que haya un cero, se activa el Clear.
Para el desplazamiento se coloca un 1 en D/C’ de esta manera se consigue que nunca se activan las entradas ni PR ni CL, ya que de las puertas NAND siempre saldrá un 1. El desplazamiento se realiza como en un registro serie-serie.
A continuación se muestra un registro con carga paralelo y salida serie pero en este caso la carga es síncrono, ya que se carga por las entradas síncronas
Observamos que esto se consigue con un multiplexor de dos canales gobernado por DESPLAZAMIENTO/ CARGA’. Con esto se consigue que si se quiere cargar los datos, se activan las entradas en paralelo que van cada una a las entradas S R. Para obtener los datos se tiene que realizar la entrada serie.
En conclusión, podemos observar que la función del multiplexor es elegir entre la carga en serie o en paralelo.
REGISTRO DE ENTRADA Y SALIDA EN PARALELO
Como se puede ver, se ha creado un registro de entrada y salida paralelo a partir de biestables D con entrada de habilitación. La entrada de datos es cada una de las entradas D del biestable; la entrada de habilitación se une a una entrada de habilitación global, de manera que cuando se activa, permite que se lean los datos. Hay otra entrada (control de salida) que al activarse permite que se lean las salidas. Aquí hemos utilizado puertas AND, aunque también podríamos haber utilizados puertas OR y un inversor, o también buffers con entradas de alta impedancia.
• Serie: los bits se transfieren uno a continuación del otro por una misma línea.
• Paralelo: se intercambian todos los bits al mismo tiempo, utilizando un número de líneas de transferencia igual al número de bits.
REGISTROS CON ENTRADA SERIE Y SALIDA SERIE
A continuación se muestra un registro de desplazamiento con entrada y salida en serie de 5 bits formado con biestables maestro esclavo RS:
Observamos que la entrada S del primer biestable está conectado a la entrada y está negada a la entrada R. Con esto se consigue que, cuando en la entrada haya un 1, el primer biestable contendrá un 1 (Q=1, Q’=0) y los demás un 0. Con la siguiente señal de reloj el bit almacenado en el primer biestable se desplazará al siguiente y así un tras otro hasta la salida en serie. Esto sucede así porque la salida Q está conectada a la S del siguiente biestable. También podemos observar que los biestables nunca pueden estar en estado de mantenimiento o en estado prohibido, ya que la entrada enserie pasa afirmada a la S y negada a la R.
Los registros de desplazamiento se implementan con biestables maestro – esclavo, pues son capaces de almacenar la información un flanco, y transmitirla durante el siguiente.
Cuando el registro se efectúa de izquierda a derecha se denomina desplazamiento hacia la derecha. Si el registro combina ambos tipos se llama bidireccional.
REGISTROS CON ENTRADA SERIE Y SALIDA PARALELO
La estructura de un registro serie paralelo es muy similar a la de un registro con entrada y salidas en serie:
Observamos que la única diferencia es que se le añade una salida a cada una de las salidas Q del biestable: de esta manera se pueden obtener todos los datos a la vez. Por otro lado, también se puede obtener una salida en serie de cualquier salida Q o Q’.
Habitualmente se suele añadir una entrada de puesta a cero asíncrona (CLEAR) cuya función es inicializar el registro.
En último lugar destacar que estos registros se suelen utilizar para el cambio de una palabra de serie a paralelo.
REGISTROS CON ENTRADA PARALELO Y SALIDA SERIE
A continuación se muestra un esquema de un registro con entrada paralelo y salida serie y carga asíncrona.
El funcionamiento es el siguiente: cuando en la entrada de selección desplazamiento /carga’ hay un 0 se realiza la carga. Con el inversor este cero se convierte en un 1 y por lo tanto las puertas NAND que hay arriba y debajo de los biestables se convierten en inversores.
A continuación se introducen los datos: en el bit que haya un 1, se activa el Preset, y en el que haya un cero, se activa el Clear.
Para el desplazamiento se coloca un 1 en D/C’ de esta manera se consigue que nunca se activan las entradas ni PR ni CL, ya que de las puertas NAND siempre saldrá un 1. El desplazamiento se realiza como en un registro serie-serie.
A continuación se muestra un registro con carga paralelo y salida serie pero en este caso la carga es síncrono, ya que se carga por las entradas síncronas
Observamos que esto se consigue con un multiplexor de dos canales gobernado por DESPLAZAMIENTO/ CARGA’. Con esto se consigue que si se quiere cargar los datos, se activan las entradas en paralelo que van cada una a las entradas S R. Para obtener los datos se tiene que realizar la entrada serie.
En conclusión, podemos observar que la función del multiplexor es elegir entre la carga en serie o en paralelo.
REGISTRO DE ENTRADA Y SALIDA EN PARALELO
Como se puede ver, se ha creado un registro de entrada y salida paralelo a partir de biestables D con entrada de habilitación. La entrada de datos es cada una de las entradas D del biestable; la entrada de habilitación se une a una entrada de habilitación global, de manera que cuando se activa, permite que se lean los datos. Hay otra entrada (control de salida) que al activarse permite que se lean las salidas. Aquí hemos utilizado puertas AND, aunque también podríamos haber utilizados puertas OR y un inversor, o también buffers con entradas de alta impedancia.