Cómo concatenar parámetros sin tamaño

1

Mi módulo verilog se crea una instancia en una entidad superior de VHDL. Quiero pasar las configuraciones de tiempo de diseño de enteros al módulo verilog. Estas son las configuraciones iniciales que deberían aparecer al reiniciarse.

module abcmod
#(
  parameter  [23:0] VT_PARAM1           = 1280,
  parameter  [7:0]  VT_PARAM2           = 53,
 ..
)
( .. );

reg [31 : 0] params; 

always @( posedge Clk )
  begin
    if ( Resetn == 1'b0 )
      params <= {VT_PARAM1,VT_PARAM2}; //Assign default 32-bits
    ..

Los ejemplos anteriores se compilan con Xilinx ISE 14.4, pero no funcionan. Los parámetros VHDL no se pasan a los parámetros verilog con [L-1: 0]. Solo funcionan los parámetros con formato parameter par_name = DEF_VALUE, sin tamaño.

Así que tengo que pasar valores de parámetros enteros, sin tamaño, luego verilog debería expandirlos a 24 y 8 antes de concatenarlos. ¿Cómo podría hacer esto?

    
pregunta Tarek Eldeeb

1 respuesta

1

Puedes MAYÚS y OTRAS

params <= (VT_PARAM1 << 8) | VT_PARAM2; //Assign default 32-bits
    
respondido por el dave_59

Lea otras preguntas en las etiquetas