Icarus Verilog: ошибка разбора многобитного массива

Что такое правильное объявление многобитного массива в Icarus Verilog? Я получаю ошибку синтаксического анализа в этом коде input [19:0] array [0:9];, но когда я попробовал input [20*10-1] array;, ошибки синтаксического анализа нет, но есть ошибки в моем вводе / выводе.


person ellekaie    schedule 11.12.2014    source источник
comment
Я понимаю. Я обрабатываю свой массив через индекс распакованного массива, поэтому я получаю ошибки. Но почему input [19:0] array [0:9]; незаконно в Icarus Verilog?   -  person ellekaie    schedule 11.12.2014


Ответы (1)


Verilog, а не только Icarus, не позволяет объявлять операции ввода-вывода как многомерные массивы. Это просто не так. SystemVerilog делает. Люди делают разные вещи для решения этой проблемы, например, объявляют многомерные провода, а затем подключают их к плоскому входу.

person Eugene Sh.    schedule 11.12.2014