0
我知道这个问题之前已经被问过了,但是,我能找到的每个答案都指向SystemVerilog及其语法。如何初始化Verilog-2005中的二维参数数组?
我有以下代码:
parameter NUM_TILES = 2;
parameter [15:0] TILE_SIZE [NUM_TILES - 1'b1:0];
parameter [15:0] TILE_PRV_SIZE [NUM_TILES - 1'b1:0];
parameter [15:0] TILE_LOOP [NUM_TILES - 1'b1:0];
我曾尝试以下,但数组常量不是用Verilog-2005支持。
parameter [15:0] TILE_SIZE [NUM_TILES - 1'b1:0]; = '{16'd4, 16'd4};
的defparam声明似乎将是一些使用的,但我需要实例我台模块,并从外面实例使用它。我相信我的另一种选择是使用模块实例参数值分配,例如
module top_tb UUT #(.TILE_SIZE[i](16'd4),...,...)();
但我试图远离那个。是否有一些我可以使用的较少知道的技巧,或者我将不得不诉诸上述两种方法之一?
参数这工作得很好。我使用预处理器宏来定义查找表来解决我的问题,但这更简单。谢谢! –