Я пытаюсь смоделировать синтезированный (в D-триггер) файл физического регистра (PRF). Тестовый стенд в поведенческой форме работает отлично. Но после синтеза некоторые внутренние компоненты были переименованы инструментом, и в основном я пытаюсь присвоить значение, генерируемое функциональным симулятором, в PRF. Это делается в начальном блоке. Ниже приведена часть кода тестового стенда. (Это пример кода и не полностью завершен с точки зрения загрузки всех бит во все файлы регистров):
1050 reg [`SIZE_DATA-1:0] test [`SIZE_RMT-1:0];
1051 integer x, y, z;
1052
1053 always @(*)
1054 begin
1055 for (x = 0; x < `SIZE_RMT; x++)
1056 begin
1057 for (y =0; y < `SIZE_DATA; y ++)
1058 begin
1059 coreTop.registerfile.PhyRegFile.ram_reg_95__63_.D = test[x][y];
1060 z = y;
1061 end
1062 z = z + 1 ;
1063 end
1064 end
Описание модуля ram_reg_95__63_
приведено ниже:
DFF_X1 ram_reg_95__63_ ( .D(n44180), .CK(clk), .Q(ram[6143]) );
где, n44180
и ram[6143]
- провода.
Ошибка, которую я получаю:
ncelab: *E,WANOTL (simulate_gate.sv,1059|72): A net is not a legal lvalue in this context [9.3.1(IEEE)].
Я не уверен, что / где мне не хватает.