verilog; нельзя использовать строковый тип в $ display - PullRequest
0 голосов
/ 29 мая 2020

Я использую последнюю сборку основной ветки icarus verilog.

Стоит ли ожидать, что будет запущено следующее? * Однако, если я определю 'x' как регистр, раскомментировав строку выше, он будет работать, как ожидалось ...

x =       aaaaa
x =        bbbb

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Нет, вы не должны ожидать, что Icarus Verilog будет поддерживать ключевое слово string, которое было введено в IEEE Std 1800 для SystemVerilog.

Согласно веб-сайту Icarus :

Собственно компилятор предназначен для синтаксического анализа и разработки описаний проектов, написанных в соответствии со стандартом IEEE IEEE Std 1364-2005 . Это довольно большой и сложный стандарт, поэтому потребуется некоторое время, чтобы заполнить все темные переулки стандарта, но это цель.

IEEE Std 1800 не упоминается.

Вы можете посмотреть файл extensions.txt с сайта github, в котором говорится:

Icarus Verilog поддерживает определенные расширения базового стандарта IEEE1364. Некоторые из них выбраны из расширенных вариантов языка, таких как SystemVerilog, ...

Но здесь нет упоминания о string.

Я пробовал ваш код с опцией -g2012 на edaplayground , но я получаю ту же ошибку. Вы можете попробовать это на своей версии.

2 голосов
/ 29 мая 2020

Сообщение об ошибке сообщает вам, что именно не так: « не реализовано ». Это означает, что он распознает то, что вы хотите сделать, но это еще не реализовано.

...