2014-09-22 3 views
2

Это дает мне ошибку, говоря, что я не могу присвоить упакованный тип распакованному типу. Я согласен с тем, что правая сторона представляет собой массив упакованных типов, но почему левая часть выражения является распакованным типом?Как инициализировать массив параметров в Verilog

parameter [7:0] lsfr_taps [0 : 7] = {8'd9, 8'd5, 8'd3, 8'h21, 8'd9, 8'd9, 8'd5, 8'd9}; 

Независимо более важный вопрос, как я inialize двумерный массив многоразрядных параметров в Verilog?

ответ

2

Ваша инициализация в порядке. Вам просто нужно добавить ' перед тем {:

parameter [7:0] lsfr_taps [0 : 7] = '{8'd9, 8'd5, 8'd3, 8'h21, 8'd9, 8'd9, 8'd5, 8'd9}; 
+0

что делает "означает? Кроме того, модели не поддерживают отображение двумерных сигналов? кажется, что он скомпилирован отлично, но я не могу отобразить его в modelsim –

+0

Апостроф используется в литералах массива. Я не знаю, поддерживает ли Modelsim 2D-массивы для Verilog. Обычно я использую ISim и VHDL. – 0xMB

+0

Если вы используете Cadence NCVerilog для моделирования, вам нужно будет включить переключатель + sv при запуске симулятора из командной строки. Это относится к файлам, содержащим определения параметров, как файлы SystemVerilog – Prashant

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