Desplazador de Barril
Construye un desplazador de barril que puede desplazar datos cualquier número de posiciones en un solo ciclo de reloj — un componente clave en las ALUs para multiplicación y división rápidas.
Overview
Mientras que un registro de desplazamiento mueve datos un bit por cada pulso de reloj, un desplazador de barril puede desplazar cualquier cantidad instantáneamente usando lógica combinacional. Un desplazador de barril de 4 bits usa multiplexores para enrutar cada bit de entrada a cualquier posición de salida basándose en una cantidad de desplazamiento. Así es como las CPUs realizan desplazamientos rápidos para multiplicación, división y manipulación de bits sin esperar múltiples ciclos de reloj.
Components Needed
- 4x SN74HC153 IC (MUX Dual 4:1)
- 4x LED
- 6x Interruptor
- variosx Cables
Instructions
Diseña la Red de Desplazamiento
Para un desplazador de barril de 4 bits, cada salida necesita un MUX 4:1 que seleccione de las 4 entradas. La cantidad de desplazamiento (0-3) controla qué entrada llega a cada posición de salida.
Cablea el Arreglo de MUX
Usa cuatro MUX 4:1 (dos ICs 74HC153). Conecta las líneas de selección compartidas a interruptores que representen la cantidad de desplazamiento de 2 bits. Conecta las entradas a los MUX según el patrón de desplazamiento.
Conecta la Ruta de Datos
Conecta 4 interruptores de entrada de datos a las entradas de MUX apropiadas basándote en la cantidad de desplazamiento. Conecta las salidas de los MUX a 4 LEDs que muestren el resultado desplazado.
Prueba Todas las Cantidades de Desplazamiento
Configura un patrón como 1000, luego prueba las cantidades de desplazamiento 0, 1, 2, 3. Verifica: desplazamiento-0 = 1000, desplazamiento-1 = 0100, desplazamiento-2 = 0010, desplazamiento-3 = 0001.
Challenges
- Agrega control de dirección de desplazamiento izquierda/derecha
- Implementa modo de rotación (desplazamiento circular)
- Extiende a 8 bits usando más etapas de MUX
- Construye un desplazador aritmético que preserve el bit de signo