Как объявить динамические массивы в системе Verilog

Я пытаюсь объявить динамический массив в исходном коде SystemVerilog, но получаю сообщение об ошибке:

Динамический диапазон разрешен только в SystemVerilog.

Я использую инструмент ModelSim. Кусок кода такой:

module sv1;

  reg [7:0] memory []; // 8 bit memory with 16 entries

endmodule

Каковы вероятные проблемы?


person Prasad Gaikwad    schedule 16.04.2015    source источник


Ответы (2)


С вашим кодом проблем нет. Единственная проблема заключается в том, что используемый вами симулятор не поддерживает SystemVerilog.

Вы можете попробовать свой код SystemVerilog на странице http://edaplayground.com.

person Puneet Goel    schedule 16.04.2015
comment
Даже я пробовал это с vivado 14.2, я получаю ту же ошибку. Требуется ли какое-либо объявление библиотеки, чтобы это работало?? - person Prasad Gaikwad; 16.04.2015
comment
Инструменты, поддерживающие SystemVerilog, обычно требуют расширения файла .sv или требуют передачи аргумента, такого как -sv, чтобы указать, что источником является SV, а не Verilog. - person dwikle; 16.04.2015

Большинство инструментов обрабатывают исходные файлы в командной строке или списке проектов как Verilog, если вы не дадите файлу расширение *.sv, чтобы они распознавались как SystemVerilog. Причина в том, что все еще есть ряд инструментов, которые не поддерживают SystemVerilog, и вы должны явно запрашивать это.

Существует также переключатель ModelSim -sv, который обрабатывает все файлы как SystemVerilog, но вы можете столкнуться с проблемами компиляции, если ваш устаревший код Verilog использует зарезервированные ключевые слова SystemVerilog, такие как bit.

person dave_59    schedule 17.04.2015
comment
действительно, я использовал расширение как .sv , я получаю эту ошибку, которая говорит, что Vivado Synthesis игнорирует спецификацию библиотеки для файлов Verilog или SystemVerilog. [C:/Users/Prasad/Desktop/vivado/system/proj1/proj1.srcs/sources_1/new/main.sv] - person Prasad Gaikwad; 17.04.2015
comment
У меня есть xil_defaultlib (1) в разделе библиотеки. Нужно ли включать какие-либо другие библиотеки?? - person Prasad Gaikwad; 17.04.2015
comment
Это совсем другой вопрос. - person dave_59; 18.04.2015