Necesito implementar una variante del cambio bidireccional (básicamente necesito procesar la parte de los bits menos significativos que se pierden durante el cambio correcto específicamente). Como es una pequeña variante que necesito implementar, básicamente me preguntaba qué tan eficiente podría ser el modelado de un cambio bidireccional en vhdl, dejando el procesamiento específico que necesito hacer por el momento.
Suponiendo que el parámetro de cambio n
sea positivo o negativo, lo haría en paralelo a la izquierda y a la derecha en n
, y luego utilizando el signo de n
seleccionaría entre la izquierda o la derecha (así que básicamente usaría el stamenent concurrente when ... else
). No estoy completamente seguro de la eficiencia de dicho código porque el compilador podría crear una instancia de ambos desplazadores. ¿Hay una mejor manera de lograr tal resultado pero de manera más eficiente? (También me gustaría evitar, si es posible, trabajar a nivel de bits para implementar dicha palanca de cambios, solo pregunto si hay algún tipo de "receta" de la que valga la pena estar consciente).
Por cierto ... estoy hablando de "cambiador de cañón" no de "registro de cambios", no me interesa mantener el resultado en absoluto.