Jump to content

    
Sign in to follow this  
yes

а как в вивадовском симуляторе с поддержкой SV? (как-то поддержка SV в синтезе насторожила)

Recommended Posts

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

хочется к ней прикрутить симуляцию. не то что там что-то сложное, но тест в программе, классы и т.п

----------------

вопрос - можно ли рассчитывать на встроенный симулятор или лучше не надо?

почему не поставить квесту и не спрашивать - ну у меня постоянно проблемы с квестой возникали при DPI, PLI вообще какой-то необходимости С, как-то там с gcc не всегда получается

то есть если встроенный симулятор левый - то я наверно сразу с квестой начну разбираться. может линуксную виваду еще поставлю и там уже с ncsim-ом буду (но ncsim не поддерживается "ис коропки", надо находить библиотеки, компилить вручную и т.п. - тоже вроде не проблема AR есть про это). вобщем по любому трудозатраты...

----------------

а в синтезе меня неприятно удивило следующее - забыл включить package - дык типы в нем объявленные заменились 1-бит проводами, без какого-либо критикал варнинга или чего-то подобного. так же и латчи в always_comb навставлял. наверно, мне надо было варнинги или инфо смотреть внимательнее, но зачем тогда вся эта автоматизация :)

 

 

Share this post


Link to post
Share on other sites

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

26 minutes ago, yes said:

вопрос - можно ли рассчитывать на встроенный симулятор или лучше не надо?

Тут к сожалению вопрос такой что пока не попробуешь не поймёшь.  На первый взгляд xsim за последнее время подрос и в нем вполне можно работает в SV со многими фичами. Тем более декларируют поддержку UVM.
Но как всегда есть некоторые нюансы.  Я мигрировал с Modelsim на xsim (SV,  не UVM но тесты и BFM с классами) и были  некоторые мелкие проблемы.    

Понятное  дело - если вы можете себе позволить Questa или ncsim  то  смысл разбирается и мигрировать в xsim сомнителен. Разве что по "политическим" мотивам в компании.  

 

26 minutes ago, yes said:

а в синтезе меня неприятно удивило следующее - забыл включить package

А вот это  странно - если нет package  то синтез ругается грязными  ошибками. Тут интересен кейс применения такого package. :scratch_one-s_head:

 

Удачи! Rob.   

Share this post


Link to post
Share on other sites
7 hours ago, RobFPGA said:

вот это  странно - если нет package  то синтез ругается грязными  ошибками. Тут интересен кейс применения такого package. :scratch_one-s_head:   

структуры объявлены в пакадже, и входы/выходы модуля тип этих структур (две структуры)

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

---------------

спасибо за разъяснения по xsim-у, пока что я xsim отложил, но надо будет наверно разбираться, так как действительно не всегда есть доступ к другим симуляторам

Share this post


Link to post
Share on other sites
9 hours ago, yes said:

хочется к ней прикрутить симуляцию. не то что там что-то сложное, но тест в программе, классы и т.п.../

...

 

Есть неплохая статейка от ребят fpga-systems.ru:

https://fpga-systems.ru/publ/jazyki/systemverilog/uvm_test_tablicy_sin_cos/13-1-0-120

Там на пальцах создание tb + UVM как раз для вивадовского симулятора, мб что-то почерпнете оттуда. В конце есть ссылка на репозиторий, можно качнуть и запустить. У меня на Vivado 2020.1 проект запустился сразу, без проблем.

Share this post


Link to post
Share on other sites

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

13 hours ago, yes said:

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

В Vivado, в project-mode, добавление  файлов SV package имеет нюансы - нужно контролировать (или ручками выcтраивать) порядок синтеза файлов (Compile order).  Так как не всегда среда в автомате корректно определяет иерархию синтеза.

 

Удачи!  Rob. 

Share this post


Link to post
Share on other sites

По мне, вивадовский симулятор даже без SV и классов сложнопредсказуемо приглюкивает.

Ну типа, неправильно может обработать строку с просто логикой. Притом, что синтез с этого же кода или там квеста работают нормально.

Share this post


Link to post
Share on other sites

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

47 minutes ago, Koluchiy said:

По мне, вивадовский симулятор даже без SV и классов сложнопредсказуемо приглюкивает.

Ну типа, неправильно может обработать строку с просто логикой. Притом, что синтез с этого же кода или там квеста работают нормально.

Нет в мире  совершенства - каждый сим  чем то да страдает.   Но хотелось бы  примеры  таких глюков,  чтобы занять "куда боятся".  :yes3:

 

Удачи! Rob.  

Share this post


Link to post
Share on other sites

в сравнении с квестой xsim проявил себя неплохо (ну по крайней мере, не зря с ним возился): 

у меня "флоу" такой, что я таскаю большие куски кода из азикового проекта (vcs, но так как тот код имеет долгую историю, то изначально работал с ncsim-ом) и как-то их патчу для ксайлинса

и при перетаскивании очередного куска квеста начала молча валиться (internal error) при элаборации, а xsim сообщил об одновременном процедурал и континоус асайменте, после исправления и квеста заработала

ну то есть без диагностики неизвестно, сколько я провозился бы - пришлось бы откатить кучу изменений и потом потихоньку добавлять...

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this