Reverse binary para numeros de bits grandes

#1
Hola a todos,

estoy empezando en el mundo del HDL y para ello estoy siguiendo el libro FPGA protyping by vhdl examples y estoy realizando el experimento propuesto para un desplazador de bits (barrel shift) pero después de darle muchas vueltas a la cabeza y no encontrar la solución les propongo la cuestión: ¿Como implementar un reverse binary number ( Es decir, si en la entrada tengo a7a6a5a4a3a2a1a0 a la salida debería tener a0a1a2a3a4a5a6a7. ) sin hacer la asignación directa bit a bit? Para números pequeños no es problema aunque la solución sea muy básica (asignar bit a bit), pero si quiero hacer lo mismo con 64, 128 o más bits?
Alguna idea o sugerencia? (quizás hay atributos que aún no conozco y el problema es trivial?).

Gracias desde ya :)

saludos

Novato
 
#2
Vas recorriendo el numero a la derecha (o izquierda) y la salida la aplicas a un multiplexor que va llenando una memoria bit a bit... (no se si me explique bien)
 
#3
gracias por tu respuesta,

entiendo lo que dices, pero dado que hablamos de VHDL entiendo que los bucles no son sintetizables. He visto googleando que mucha gente sugiere utilizar (no sé si por desconocimiento) una función que incluye un for y cuyo resultado supuesto es cambiar la dirección del vector (cambian donwto por un to), lo cual quizás para simular si puede servir. Pero en el caso que fuera posible, qué es un for en circuitos digitales?

Agradeciendo nuevamente la atención

Novato
 

Temas similares

Arriba