Jump to content

    

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

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


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

 

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

 

Спасибо.

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

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

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

 

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

 

Успехов! Rob.

Share this post


Link to post
Share on other sites
Что то я не понял - 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.

Share this post


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

...

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

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

 

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

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

 

 

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

в общем - нет

Share this post


Link to post
Share on other sites

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

 

Если в 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.

Share this post


Link to post
Share on other sites

aabmail

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

All

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

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

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

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

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

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

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

Share this post


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

 

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

Share this post


Link to post
Share on other sites

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

 

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

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.

 

 

Share this post


Link to post
Share on other sites
Пользуясь случаем, можно задать вопрос?

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

Share this post


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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

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

 

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

 

 

Share this post


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

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

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

modeltech_installation_directory \examples\verilog\pli

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this