cambiador de barril usando multiplexor: cómo hacerlo

0

Estoy tratando de entender cómo construir una palanca de cambios de barril usando multiplexores. Entiendo cómo funciona la palanca de cambio de cañón, pero no entiendo cómo decide la cantidad de multiplexores que va a usar, y cómo se realiza el desplazamiento básicamente con el multiplexor.

Hasta ahora la wikipedia no ayuda mucho. Y lo mejor que tengo hasta ahora es enlace

Pero realmente no responde a mi pregunta.

    
pregunta eskoba

2 respuestas

1

El número de etapas del multiplexor es igual al logaritmo binario del número de bits a desplazar.

Cada etapa pasa el valor sin cambios o lo desplaza en 2 ^ n, donde n es el número de la etapa que comienza con 0. La primera etapa cambia en un bit (2 ^ 0), la segunda en dos (2 ^ 1) ), el tercero por cuatro (2 ^ 2) y así sucesivamente.

Si todas las etapas están en modo de cambio, se obtiene un cambio total de 2 ^ n + 2 ^ (n-1) + ... 1 = 2 ^ (n + 1) - 1. Para tres etapas que serían 2 ^ 3 - 1 = 7 bits, ¿cuál es exactamente el máximo requerido, ya que un desplazamiento de 8 bits equivaldría a ningún desplazamiento en absoluto?

Suponiendo que el ancho de los datos es de 8 bits, se requieren 3 etapas porque 2 ^ 3 = 8.

El número total de multiplexores viene dado por el número de multiplexores por etapa multiplicado por el número de etapas. En este caso, 8 * 3 = 24 multiplexores (con dos entradas y una salida).

    
respondido por el Mario
1

Cada multiplexor produce un bit de salida, por lo que el número de multiplexores que necesita es igual al ancho del bus de salida.

El número de entradas en cada multiplexor es igual al número de turnos diferentes que desea crear. Un desplazador de barril totalmente general usaría multiplexores que tienen una entrada para cada bit del bus de entrada.

Este es un ejemplo simple para un bus de entrada y salida de 4 bits:

simular este circuito : esquema creado usando CircuitLab

Este tipo de cambio de barril tiene el retraso mínimo desde cualquier entrada Dn a cualquier salida Yn (2 niveles de lógica). El retraso desde cualquier entrada Sn a cualquier salida Yn es ligeramente mayor (3 niveles de lógica).

    
respondido por el Dave Tweed