Jump to content

    

Система автосборки Verilog проекта.

Есть такая идея для текущего проекта. Собрать автосборку и проверку на ошибки при различных конфигурациях проекта (define).

Исходники на  Verilog, окружение на Perl,  все хранится в  CVS.

Хочется автоматически при обновлении в CVS запускать компиляцию проекта с различными дефайнами и несколько простых тестов с выдачей результата. Возможно ли это осуществить? 

Share this post


Link to post
Share on other sites

люди делают и не такое

USRP X300: https://github.com/EttusResearch/fpga

Vivado, Xilinx HLS,, GNU make, Git

для виндузятников у них всё даже в cygwin абсолютно также собрается, но тогда система совсем монстрообразная

Share this post


Link to post
Share on other sites

Вы бы для начала описали используемый инструментарий(СПАР, семейство FPGA, симулятор), иначе о чем вообще говорить?

Share this post


Link to post
Share on other sites

ASIC, не FPGA. Только компиляция кода и запуск нескольких тестов.

Симулятор ncverilog, в его последней реинкарнации.

Окружение на perl-е, вызов симуляций также из него.

 

P.S. Всегда возникает вопрос, а нужно ли оно мне вообще. Просто проверить код можно и вручную, запуск линта занимает не так и много времени, анализ вообще отдельный таск. Это не огромный С проект, где сборка занимает часы. Синтез отдельная задача минимум на 2 дня.

Share this post


Link to post
Share on other sites

Польза подобных проверок действительно под сомнением.

Но если уж хочется покодить, то очень полезно, к примеру, организовать работу со списками файлов и дефайнов: чтобы по одному списку файлов с синтезируемым кодом запускать симуляцию, и по тому же списку - синтез (компиляцию/элаборацию). Очевидно, что для симуляции нужен третий список - верилог моделей (модели нельзя мешать с синтезируемым кодом), а для синтеза - аналогичный список либерти моделей. Работа со списками позволит гарантировать, что на синтез передан тот же самый код, что был проверен в симуляции. Это позволит избежать множества ошибок.

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