2014-10-10 3 views
0

Как инициализировать массив параметров в verilog, где каждый из членов представляет собой 32-разрядные шестнадцатеричные номера нотации? Я пробовал следующее, но это дает мне синтаксическую ошибку.Как инициализировать массив параметров в verilog?

parameter [31:0] k[0:63] = {32'habc132, 32'hba324f, ...}; 

Я использую последнюю версию iverilog для компиляции.

+1

Возможный дубликат [Parameter array in Verilog] (http://stackoverflow.com/questions/23507629/parameter-array-in-verilog) – Greg

+0

@Greg Нет, потому что это не работает. –

+2

Verilog-1995 не поддерживает массивные параметры. Verilog-2005 делает это, но LRM не является явным о многомерных массивах параметров, он должен его поддерживать. Вся версия SystemVerilog поддерживает ее, некоторые требуют '' {} 'для определения массива. – Greg

ответ

3

На 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 не работает или не доступна для вашего симулятор, я предлагаю включить в вопрос синтаксическую ошибку.

Смежные вопросы