Estoy escribiendo un modelo vhdl y tengo un problema con la declaración del puerto.
Digamos que tengo una entidad entityA
que crea una instancia de N entityB
. Ahora, entityB
tiene un puerto, out
, con bits de tamaño M, y M puede variar entre todas las entidades, por lo que out
es std_logic_vector(M-1 downto 0)
. Estos puertos deben propagarse en un tamaño mayor a entityB
.
Si todos los componentes entityB
tendrían el mismo tamaño de puerto, digamos FIX_M, la solución sería usar un std_logic_vector(N*FIX_M-1 downto 0)
en entityA
. Mi problema es que el tamaño M puede variar. La primera solución que me viene a la mente es usar la misma solución, utilizando en lugar de M a MAX_M, pero en ese caso, muchos pines quedarán sin usar (y para la entrada es un problema, ¿verdad?).
¿Tienes una idea mejor? Gracias de antemano.