Qué es el registro de desplazamiento bidireccional: funcionamiento y aplicaciones

Un flip flop (FF) es un dispositivo utilizado principalmente para almacenar un solo bit de datos binarios, ya sea 0 o 1. Pero para almacenar varios bits de datos, necesitamos varios FF. Por tanto, es posible almacenar n bits de datos conectando un número de flip-flops. Un registro es un conjunto de FFs conectados en serie para almacenar varios bits de datos. Los datos almacenados en este tipo de registros pueden transmitirse a través de registros de flip-flop. Un registro de flip-flop (SR) es un tipo de circuito digital compuesto por un conjunto de FFs en el que la patilla de salida del primer flip-flop está conectada a la patilla de entrada de datos del segundo FF, ya que todos los FFs funcionan simplemente con un reloj similar, por lo que el bit de la matriz que se puede almacenar dentro del registro se moverá en una sola posición. Hay diferentes tipos de registros de desplazamiento, como SISO, SIPO, PIPO y registros de desplazamiento bidireccionales. Este artículo presenta una visión general de una registro de desplazamiento bidireccional - trabajar con aplicaciones.


Índice de Contenido
  1. ¿Qué es un registro de desplazamiento bidireccional?
    1. Esquema del circuito de registro de desplazamiento bidireccional
    2. ¿Cómo funciona un registro de desplazamiento bidireccional?
    3. Aplicaciones

¿Qué es un registro de desplazamiento bidireccional?

El registro que se utiliza para desplazar los datos a la derecha o a la izquierda, según el modo seleccionado, se conoce como registro de desplazamiento bidireccional. Si el modo seleccionado es alto (1), los datos se desplazan hacia la derecha y si el modo seleccionado es bajo (0), los datos se desplazan hacia la izquierda.

En este caso, si movemos un número binario (de base dos) hacia el lado izquierdo, equivale a multiplicar el número por 2 y si movemos el mismo número binario hacia el lado derecho en una posición, equivale a dividir el número por 2. Para realizar estas operaciones, necesitamos un registro para mover los datos en cualquier dirección.

Esquema del circuito de registro de desplazamiento bidireccional

Un registro de desplazamiento bidireccional se utiliza para desplazar los datos a la izquierda o a la derecha en función de la entrada. Este registro puede implementarse mediante un flip flop en D y puertas lógicas que permiten desplazar los bits de datos de una etapa a la siguiente, a la izquierda o a la derecha, en función de una señal de entrada. En este caso, la dirección del movimiento de los datos se selecciona mediante el control de modo.

Circuito de registro deslizante bidireccional

Si utilizamos el registro de desplazamiento para multiplicar y dividir datos, podemos desplazar los datos binarios de entrada a la derecha o a la izquierda: en este caso hablamos de un registro de desplazamiento bidireccional.

¿Cómo funciona un registro de desplazamiento bidireccional?

El registro de desplazamiento bidireccional consta principalmente de dos i/ps en serie, como la entrada de datos en serie del lado derecho (DR) y la entrada de datos en serie del lado izquierdo (DL), con una entrada de selección (M). Cuando los datos deben desplazarse hacia la derecha, la entrada se da al DR. Del mismo modo, si los datos deben desplazarse hacia el lado izquierdo, la entrada se da a DL.

Cuando el control de modo tiene una señal alta, permite que los datos se muevan hacia el lado derecho, mientras que si el control de modo tiene una señal baja, mueve los datos hacia el lado izquierdo. Si los datos i/p se desplazan hacia la izquierda en 1 posición, se multiplican por 2, y si los datos i/p se desplazan hacia la derecha en 1 posición, se dividen por 2.

Tabla de la verdad

El registro de desplazamiento bidireccional funciona bajo dos condiciones, M=1 y M=0, ilustradas a continuación tabla de verdad del registro de deslizamiento bidireccional.

Condición

Operación

Si el modo de selección i/p como M = 1, la siguiente operación se desplaza a la derecha. Si el control de modo = alto (1), las puertas lógicas AND 1ª, 3ª, 5ª y 7ª están habilitadas y las restantes puertas AND 2ª, 4ª, 6ª y 8ª no están habilitadas.

Los datos binarios de la entrada de datos en serie se pueden desplazar a la derecha mediante un bit del flip flop3 al flip flop0 al aplicar los pulsos CLK. Así, para la condición M = 1, se puede realizar la operación de desplazamiento a la derecha en serie.

Si el modo selecciona i/p como M = 0, la operación se desplaza hacia la izquierda. Si el control de modo = bajo (0), las puertas AND 2, 4, 6 y 8 están activadas y las puertas AND 1, 3, 5 y 7 están desactivadas.

Los datos i/p en serie con desplazamiento a la izquierda (DL) se desplazan un bit a la izquierda desde el Flip Flop0 al Flip Flop3 durante la aplicación de los pulsos CLK. Así, en condiciones de M = 0, podemos obtener la operación de desplazamiento a la izquierda en serie.

Registro de desplazamiento bidireccional Código Verilog

A continuación se muestra el código verilog del registro de desplazamiento bidireccional de n bits.

módulo shift_reg #(parámetro MSB = 8) ( entrada d, // Declara la entrada de datos al primer flipflop del registro de desplazamiento

input clk, // Declara el i/p para sincronizar todos los flops del registro de desplazamiento

entrada es, //Declara i/p para activar o desactivar el registro de desplazamiento

entrada dir, //Declara que i/p debe moverse en dirección izquierda o derecha

entrada rstn, // Declara la entrada para restablecer el registro a un valor por defecto

reg. de salida [MSB-1:0] fuera; // Declara o/p para leer el valor actual de todos los flipflops en este registro

// Este bloque se activará "siempre" en el flanco ascendente del reloj

// Una vez en el bloque, primero comprobará si el reset es 0 y, si es así, reiniciará el registro

// Si no, comprueba si el registro de desplazamiento está activado

// Si no => mantiene la salida anterior. En caso afirmativo, realiza el desplazamiento según la dirección requerida

siempre @ (posedge clk)

si (!rstn)

fuera <= 0;

de lo contrario comienza

se (es)

caso (dir)

0 : out <= {out[MSB-2:0], d};

1 : out <= {d, out[MSB-1:1]};

endcase

más

out <= out;

finaliza

endmodule;

Diferencia entre los registros de desplazamiento unidireccionales y bidireccionales

A continuación se explica la diferencia entre un registro de desplazamiento unidireccional y un registro de desplazamiento bidireccional.

Registro de desplazamiento unidireccional

Registro de desplazamiento bidireccional

Este registro de desplazamiento se utiliza para desplazar los bits en una sola dirección. Este registro de desplazamiento se utiliza para mover los bits en ambas direcciones.
No es posible la carga paralela. Puede ser posible una carga paralela.

Aplicaciones

El aplicaciones del registro de desplazamiento bidireccional incluyen lo siguiente.

  • Este tipo de registros son dispositivos de memoria que se utilizan para mover los datos a la izquierda o a la derecha según el modo preferido.
  • Estos registros se utilizan ampliamente en diversas aplicaciones, como los controladores digitales de baja caída, los controladores digitales de CC y los controladores de CC
  • Estos registros de deslizamiento se utilizan en los convertidores DC buck, en los bucles digitales con retardo y en los descompresores.
  • Se utilizan para transferir datos y almacenarlos temporalmente.
  • Estos registros se utilizan en calculadoras, ordenadores, etc.

Se trata, por tanto, de una visión general del registro bidireccional registro de diapositivas - funcionamiento con aplicaciones. Los CI de registro deslizante bidireccional más utilizados son el 74498IC, el 74194IC y el 74671IC. El movimiento de datos en este tipo de registro se produce en ambas direcciones, de derecha a izquierda y de izquierda a derecha. Aquí tienes una pregunta: ¿qué es el registro de desplazamiento de la SIPO?

Si quieres conocer otros artículos parecidos a Qué es el registro de desplazamiento bidireccional: funcionamiento y aplicaciones puedes visitar la categoría Generalidades.

¡Más Contenido!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir