У меня есть массив шириной 32 бита из n элементов, и я пытаюсь назначить эти элементы вектору, у меня есть следующий код:
function automatic logic [SIZE-1:0] my_function (my_array x_map);
logic SIZE-1:0] y_map = '0;
int fctr = (SIZE)/32;
int top_bnd = 31;
int lwr_bnd = 0;
for(int k0 = 0; k0 < fctr; k0++)
begin
y_map[top_bnd:lwr_bnd] = x_map[k0];
top_bnd = (top_bnd + 32'hFFFF);
lwr_bnd = (lwr_bnd + 32'hFFFF);
end
return y_map;
endfunction
Однако это не работает, и я получаю две ошибки:
1) "диапазон выбора детали недопустим"
2) «Невозможно оценить выражение в выражении левого среза, выражение должно быть постоянной времени компиляции»
Спасибо