Necesito ayuda para cambiar los parámetros dinámicamente de un módulo
Estoy intentando extraer parte de los datos de red que provienen del módulo superior y van a los módulos internos
En específico tengo un módulo interno (field_extract) que recibe 4 entradas: el reloj, datos (datos de red del módulo superior), una señal que indica el inicio del marco (sof), vld (indica que los datos son válidos) y dos parámetros, uno de ellos es la cantidad de bytes que deseo extraer de los datos y la COMPENSACIÓN de estos bytes desde el inicio del marco, el parámetro que deseo modificar en el tiempo de ejecución es la COMPENSACIÓN
Además, este módulo tiene dos salidas, una es campo (el valor extraído de los datos) y vld (afirma cuándo se extrajeron los datos)
La creación de instancias de este módulo se ve así:
field_extract
#
(
.BYTES(1),
.OFFSET(TYPE_OFFSET)
)
Type_extract
(
.clk(clk),
.data(data),
.sof(sof),
.vld(vld),
.field(Type),
.field_vld(Type_vld)
);
mi pregunta es cómo puedo cambiar "TYPE_OFFSET" según los parámetros de una variable
Lo que quiero decir con esto es: quiero extraer "Tipo" en cierto DESPLAZAMIENTO en función de ciertos valores extraídos del marco en el pasado, por lo que "Tipo" no está en la misma posición del marco si la primera parte de El marco contiene ciertos valores como este:
always @ (posedge clk) begin
if (First_Message_Type == MESSAGE_TYPE_X) TYPE_OFFSET <= 50;
end
Sé que el último código no es posible porque TYPE_OFFSET es una constante, pero aquí está la pregunta otra vez ... ¿hay alguna forma de modificar esta constante en un momento de ejecución?
Espero que esto haya quedado claro Gracias por su tiempo y ayuda.