module rev_array;
int array_in[10]={0,1,2,3,4,5,6,7,8,9};
typedef integer array[9:0];
function array reverse(int array_in[10]);
for(int j=$size(array_in)-1,int i=0;j>=0;j--,i++)
begin
reverse[j]=array_in[i];
end
// working for(integer k=0;k<$size(array_in)-1;k++)
// working $display("reverse[%0d]:%0d", k, reverse[k]);
$display("inside function");
endfunction:reverse
initial
begin
reverse(array_in);
for(integer k=0;k<$size(array_in)-1;k++)
begin
$display("reverse[%0d]:%0d", k, reverse[k]);
end
end
endmodule
Ошибка - [IUS] Незаконное использование области
testbench.sv, 22
rev_array, "rev_array.reverse"
Область не может использоваться в этом контексте
Ошибка - [XMRIBS] Неверный выбор бита
testbench.sv, 22
Обнаружена ошибка в следующей межмодульной ссылке, неправильный выбор бита включен
цель.
Информация об источнике: $ display ("reverse [% 0d]:% 0d", k, rev_array.reverse [k]);
Я пытаюсь перевернуть массив и вернуть его в системную функцию verilog. Я могу увидеть перевернутый массив внутри функции, напечатав его, но
когда я пытаюсь распечатать его, используя $ display вне функции, я думаю, что это
не возвращается должным образом, в 4-й строке от конца, получая
errorError- [IUS]