Как инициализировать массив параметров в Verilog?
Как можно инициализировать массив типов параметров в verilog, где каждый из членов представляет собой 32-разрядные шестнадцатеричные числа записи? Я пробовал следующее, но это дает мне синтаксическую ошибку.
parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...};
Я использую последнюю версию iverilog для компиляции.
1 ответ
Решение
На EDA Plyground Следующий пример работает с использованием modelsim 10.1, файл имеет расширение.sv, поэтому его следует интерпретировать как SystemVerilog:
module test;
parameter [31:0] k [0:1] = {32'habc132, 32'hba324f};
initial begin
$displayh(k[0]);
$displayh(k[1]);
end
endmodule
Если настройка SystemVerilog не работает или недоступна для вашего симулятора, я предлагаю включить в вопрос синтаксическую ошибку.