Перейти к содержанию
    

GateLevel Simulation мультиразмерных сигналов

Доброго времени суток!

Пытаюсь просимулировать с помощью 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 эти сигналы не обнаруживает и выдает ошибку. Как быть в таких ситуациях?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам.

А применение части SV возможно ?

Уж больно мне нравится тип logic и описание FSM у SV. Почти как на VHDL, на котором я пишу :rolleyes: .

Я просто все больше и больше начинаю рассматривать вариант перехода на Verilog\SV. Т.к у них больно много всяких полезных "фич" для верификации, недоступных на VHDL. Да и синтаксис всё-же попроще будет....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нетлист это формат structural verilog, он не поддерживает интерфейсы sv. Поэтому все было расфлатовано. И отчасти поэтому же sv очень ограничено используется в эсико-строении. Решение: топ-левел пишите на верилоге, либо вообще все пишите на верилоге. А sv оставьте верификаторам.

 

т.е. structural verilog не поддерживает мультиразмерные сигналы, в принципе? или есть способ "правильного" описания сигнала? Подскажите, как должна выглядеть декларация сигнала out_a в таком случае.

Изменено пользователем TamRazZ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

или есть способ "правильного" описания сигнала?

скорее есть способ "правильной" настроки софта. Смотрите EDA Tool Settings/Simulation/More EDA Netlist Writer Settings

А так в Quartus 17 и sv можно нетлист писать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С шинами вроде разобрался! Спасибо!

 

Подобная же проблема с параметризируемыми модулями... При создании квартусом *.svo или *.vo файла из модуля верхнего уровня пропадают параметры, и когда тестбенч передает значения параметра топ-левел модулю возникает ошибка. Как быть в такой ситуации... В настройках нетлист врайтера ничего подобного не обнаружил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подобная же проблема с параметризируемыми модулями... При создании квартусом *.svo или *.vo файла из модуля верхнего уровня пропадают параметры,...

А они (параметры) не пропадают, а принимают уже вполне конкретные значения при синтезе. Нетлист - это ж принципиальная схема устройства (если по старому), а не настраиваемой модели, какие уж тут параметры?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...