TamRazZ 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Доброго времени суток! Пытаюсь просимулировать с помощью ModelSim (Altera Edition) проект, созданный в Quartus 13.1. Модули проекта написаны на SystemVerilog. Передача данных от одного модуля к другому осуществляется за счет мультиразмерных packed массивов. RTL симуляция проходит нормально, но когда дело доходит до GateLevel ModelSim выдает ошибку, ругается на эти сигналы. Причина в том, что Quartus создает файл для симуляции *.vo (с временными задержками и тд). При генерации этого файла все мои многоразмерные сигналы вида: output logic [7:0] [255:0] out_a; Превращаются в: out_a_0_0 out_a_0_1 ... и тд. ModelSim эти сигналы не обнаруживает и выдает ошибку. Как быть в таких ситуациях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам. А применение части SV возможно ? Уж больно мне нравится тип logic и описание FSM у SV. Почти как на VHDL, на котором я пишу :rolleyes: . Я просто все больше и больше начинаю рассматривать вариант перехода на Verilog\SV. Т.к у них больно много всяких полезных "фич" для верификации, недоступных на VHDL. Да и синтаксис всё-же попроще будет.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TamRazZ 0 8 июня, 2018 Опубликовано 8 июня, 2018 (изменено) · Жалоба Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам. т.е. structural verilog не поддерживает мультиразмерные сигналы, в принципе? или есть способ "правильного" описания сигнала? Подскажите, как должна выглядеть декларация сигнала out_a в таком случае. Изменено 8 июня, 2018 пользователем TamRazZ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба или есть способ "правильного" описания сигнала? скорее есть способ "правильной" настроки софта. Смотрите EDA Tool Settings/Simulation/More EDA Netlist Writer Settings А так в Quartus 17 и sv можно нетлист писать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TamRazZ 0 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба С шинами вроде разобрался! Спасибо! Подобная же проблема с параметризируемыми модулями... При создании квартусом *.svo или *.vo файла из модуля верхнего уровня пропадают параметры, и когда тестбенч передает значения параметра топ-левел модулю возникает ошибка. Как быть в такой ситуации... В настройках нетлист врайтера ничего подобного не обнаружил... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honinbo 2 8 июня, 2018 Опубликовано 8 июня, 2018 · Жалоба Подобная же проблема с параметризируемыми модулями... При создании квартусом *.svo или *.vo файла из модуля верхнего уровня пропадают параметры,... А они (параметры) не пропадают, а принимают уже вполне конкретные значения при синтезе. Нетлист - это ж принципиальная схема устройства (если по старому), а не настраиваемой модели, какие уж тут параметры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться