Я пытаюсь создать модуль, который имеет другой модуль памяти, я пытаюсь иметь один параметр, который из массива, и с помощью этого параметра следующий код будет генерировать экземпляр модуля, теперь я пытаюсь создать экземпляр этого модуля с настройкой только один элемент этого массива параметров только один индекс
Теперь приведенный ниже код даст вам представление о том, что я пробовал, но компилятор выдает ошибку как - "" MEM_AT_CS не является массивом ""
/////////////////////////////////////////////////////////
typedef enum {NONE , SSRAM_X16 , SSRAM_X32 , SDRAM_X8 , SDRAM_X16 ,
SDRAM_X32 , SYNC , ASYNC} memory_config_type;
module MEM_MODEL_WRAPPER (mem_intf intf , input logic mc_clk);
parameter no_of_chip_select = 8;
parameter memory_config_type MEM_AT_CS[no_of_chip_select-1 :0] =
'{NONE ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE ,NONE };
genvar i;
generate
for(i=0 ; i<no_of_chip_select;i++) begin
case(MEM_AT_CS[i])
SDRAM_X8:begin
.
.
.
теперь верхний модуль
module top ;
//////////here i want to set the parameter array by index
defparam mem_dut.MEM_AT_CS[2] = SSRAM_X16;
MEM_MODEL_WRAPPER mem_dut(mem_intf , mc_clk);
endmodule
Я тоже это пробовал
MEM_MODEL_WRAPPER #( .MEM_AT_CS[2] (SSRAM_X16) )
mem_dut(mem_intf , mc_clk);