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

Что посоветуете вместо ModelSim на VHDL

Здравствуйте, уважаемые форумчане!

 

Какое средство верификации вы бы посоветовали взамен ModelSim на VHDL? Я работаю на ISE XILINX, и мне очень не хватает возможности связывать тестируемый модуль с testbench через нестандартные сигналы (в т.ч. массивы и записи). Иными словами, если из тестируемого модуля торчит наружу ARRAY of STD_LOGIC_VECTOR, то просимулировать его невозможно.

Кроме этого, хотелось бы сделать так, чтобы программный код для microBlaze так же мог бы исполняться и в среде симуляции. Это позволило бы значительно увеличить "тестовое покрытие проекта".

Поизучав форум, прихожу к выводу, что наверное следует начать с SV. Тогда вопрос - в какой среде работать? Какой симулятор использовать?

 

Заранее благодарен.

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


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

Наверное, Incisive (ncsim). Лучше вряд-ли кто-то может работать с SV, чем Cadence. Или VCS

 

Хотя, пишут что Modelsim DE имеет неплохую поддержку SV. Но тут я сам не знаю точно.

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


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

Наверное, Incisive (ncsim). Лучше вряд-ли кто-то может работать с SV, чем Cadence. Или VCS

 

Хотя, пишут что Modelsim DE имеет неплохую поддержку SV. Но тут я сам не знаю точно.

 

Спасибо.

Я смотрю, Incisive - редкая штука. На ftp - только под Linux, а на трекерах - и вовсе нет...

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


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

Приветствую!

 

Что то я не понял - Modelsim прекрасно понимает struct и record в качестве портов для VHDL.

Естественно если и testbench тоже на VHDL.

 

Сложнее если testbench писан на Verilog/SVerilog.

В этом случае приходится городить враперы для протаскивания портов в виде плоских шин.

Хотя для SV вроде есть возможность делать импорт/экспорт SV package <-> VHDL package но я сам такое пока не пробовал.

 

Да и программы для microBlaze прекрасно исполняются в модели под Modelsim - но само собой уж ооочень медленно - Linux не запустиш :)

 

Успехов! Rob.

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


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

Что то я не понял - Modelsim прекрасно понимает struct и record в качестве портов для VHDL.

Естественно если и testbench тоже на VHDL.

Если в Xilinx ISE попытаться сгенерить testbench для модуля с array или record, ISE выдаст ошибку. А если размер задан константой generic, то и говорить не о чем.

М.б. есть более популярные средства для генерации testbench?

Сложнее если testbench писан на Verilog/SVerilog.

В этом случае приходится городить враперы для протаскивания портов в виде плоских шин.

Хотя для SV вроде есть возможность делать импорт/экспорт SV package <-> VHDL package но я сам такое пока не пробовал.

Придется ли городить врапперы в случае SV, а если тестируемый модуль написан не на VHDL, а на Verilog?

Да и программы для microBlaze прекрасно исполняются в модели под Modelsim - но само собой уж ооочень медленно - Linux не запустиш :)

Не совсем понял Вашу мысль, как связаны между собой медленное исполнение программы MicroBlaze под Modelsim и запуск Linux.

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


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

Если в Xilinx ISE попытаться сгенерить testbench для модуля с array или record, ISE выдаст ошибку. А если размер задан константой generic, то и говорить не о чем.

...

.. как связаны между собой медленное исполнение программы MicroBlaze под Modelsim и запуск Linux.

Я так понял вам корректно намекнули что всё там поддерживается. Это Xilinx ISE не поддерживает.

 

М.б. есть более популярные средства для генерации testbench?

Нормальных нет, иначе бы не зазывали на работу нормальных верификаторов :laughing:

 

 

Придется ли городить врапперы в случае SV, а если тестируемый модуль написан не на VHDL, а на Verilog?

в общем - нет

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


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

Приветствую!

 

Если в Xilinx ISE попытаться сгенерить testbench для модуля с array или record, ISE выдаст ошибку. А если размер задан константой generic, то и говорить не о чем.

М.б. есть более популярные средства для генерации testbench?

А вот Вы о чем - ну тут дело не в Modelsim а в скриптах ISE.

Но боюсь тут Вам надо ручками (ну и головой) работать! Никто за Вас писать testbench не будет.

А самое популярное средство для написания testbench наверное Notepad++ :biggrin:

 

Придется ли городить врапперы в случае SV, а если тестируемый модуль написан не на VHDL, а на Verilog?

Нет - SV включает в себя Verilog и модули на Verilog вставляются в SV без всякого геморроя.

 

Не совсем понял Вашу мысль, как связаны между собой медленное исполнение программы MicroBlaze под Modelsim и запуск Linux.

Ну если Вы попробуете симулировать поведение Вашего дизайна на Microblaze при выполнении загрузчика Linux то дожидаться окончания симуляции нужно будет очень долго - приблизительный расклад по времени - 1 мs симуляции -> 1..10 мин. реального времени.

 

Успехов! Rob.

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


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

aabmail

А что насчёт Active-HDL или QuestaSim?

All

Пользуясь случаем, можно задать вопрос?

Вроде бы в тему.

На работе руководство задало вопрос: "Какое средство верификации будем использовать в дальнейшем?"

Предложили рассмотреть ModelSim и Active-HDL.

Требуется поддержка совместной верификации проекта для ПЦОС, проекта для СнК и проекта в FPGA.

Сейчас основной код делается на VHDL и VerilogHDL.

Планируем перейти на SystemVerilog.

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


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

Я смотрю, Incisive - редкая штука. На ftp - только под Linux, а на трекерах - и вовсе нет...

 

Ну это, так сказать, се ля ви. Все серьезные моделировщики произросли из систем unix, а именно рабочих станций Sun, и теперь живут под линуксом...

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


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

Приветствую.

 

Надо немного прояснить -

ModelSim, QuestaSim - это хорошие симуляторы -

ModelSim более ориентирован на отладку и симуляцию RTL в нем отсутствует продержка некоторых фич SV для верификации,

QuestaSim же ориентируется для полноценной верификации с использованием всех новомодных методологий и наворотов SV.

Но для продуктивной работы в этих симуляторах желателен хороший редактор и обязательно умение работать со скриптами tcl.

 

Active-HDL - это отличная интегрированная IDE для дизайна - этакий швейцарский нож для FPGA дизайнера - тут тебе и редакторы (схематик и текстовый), менеджер библиотек и проектов, и интегратор с внешними тулзами для синтеза и PR, ну и естественно неплохой всеядный симулятор.

Я сам долгое время работал в основном в Active-HDL но года 4 назад, в начале очередного большого проекта, оказалось что поддержка симуляции SV в Active-HDL на тот момент была хуже чем в QuestaSim - да и большие по объему дизайны симулировать в ModelSim/QuestaSim было проще и быстрее - поэтому теперь работаю в основном в QuestaSim.

 

В качестве альтернативы Active-HDL есть Mentor HDL Designer - это навороченная IDE для дизайна но без симулятора - так как он интегрируется с ModelSim/QuestaSim.

 

Успехов! Rob.

 

 

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


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

Пользуясь случаем, можно задать вопрос?

Вроде бы в тему.

На работе руководство задало вопрос: "Какое средство верификации будем использовать в дальнейшем?"

Предложили рассмотреть ModelSim и Active-HDL.

Требуется поддержка совместной верификации проекта для ПЦОС, проекта для СнК и проекта в FPGA.

Сейчас основной код делается на VHDL и VerilogHDL.

Планируем перейти на SystemVerilog.

Active-HDL имеет глючноватый симулятор и поддерживает ограниченное подмножество SDL, из-за чего в принципе не способен к тайминговой симуляции для Xilinx и Altera. Зато у него оболочка более-менее:), при том что в Моделсиме оболочка - редкостное глюкало. Надо больше скриптами пользоваться:). Если отлаживать какую-нибудь не очень сложную поведенческую модель с частыми перезапусками, качество оболочки становится важным, тут Active-HDL удобнее.

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


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

Кстати, а какие средства умеют генерировать теплэйты тест бенчей на базе имеющегося модуля? Знаю ISE; при большом желании Quartus можно заставить (но с такой кучей гемора, что быстрее руками). А в Моделсиме никак?

 

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


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

Active-HDL имеет глючноватый симулятор и поддерживает ограниченное подмножество SDL, из-за чего в принципе не способен к тайминговой симуляции для Xilinx и Altera.

 

Кхм... Вы какую версию Active-HDL имеете ввиду? Парни из Aldec, кажется, не в курсе.

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


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

Здравствуйте!

Ну если Вы попробуете симулировать поведение Вашего дизайна на Microblaze при выполнении загрузчика Linux то дожидаться окончания симуляции нужно будет очень долго - приблизительный расклад по времени - 1 мs симуляции -> 1..10 мин. реального времени.

 

Симуляция микропроцессорной системы, с загрузчиком, ОС и т.п. - не очень то нужная вещь. Я имел ввиду другое.

Допустим, имеется адаптивный цифровой фильтр, а также некая обратная связь. Динамическое вычисление коэффициентов фильтра реализовано на процессоре, так как там задействовано множество математических функций, трудно реализуемых на HDL. И вопрос в том, можно ли функции вычисления коэффициентов фильтра запускать в test bench? Думаю, это значительно проще, чем симуляция EDK.

 

Из сказанного в этой теме делаю вывод, что подойдет Questa и Active-HDL. Но все-таки пока непонятно, где генерить болванки для test bench. В modelsim-e - я не нашел.

 

Всем спасибо за ответы.

 

 

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


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

Допустим, имеется адаптивный цифровой фильтр, а также некая обратная связь. Динамическое вычисление коэффициентов фильтра реализовано на процессоре, так как там задействовано множество математических функций, трудно реализуемых на HDL. И вопрос в том, можно ли функции вычисления коэффициентов фильтра запускать в test bench?

Если я правильно понял вопрос, то копать нужно в сторону PLI (Programming Language Interface)

В комплекте поставки ModelSim есть примеры. Смотрите на своей машине:

modeltech_installation_directory \examples\verilog\pli

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


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

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

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

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

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

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

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

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

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

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