OparinVD 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба Соседняя тема про редакторы HDL подтолкнула меня к созданию подобной ветки про симуляторы. Я хочу выбрать для себя средство отладки так, чтобы сразу всё стало качественно и по-взрослому :) Поставить всё, что есть на рынке, опробовать и выбрать физически не возможно, хотелось бы выбрать одно направление и развивать его. Из рекламных описаний ничего не поймешь, все без сомнения лидеры индустрии, и уж с ними процесс оладки точно сократится на 90%. С сайта Альдека, например, я так и не понял, чем классический ActiveHDL отличается от Rivera'ы. Собственно, вопрос можно распространить на все тулзы: что для чего предназначено? есть только вкус и цвет или есть некая узкая (или не очень узкая) специализация каждого инструмента? По второму вопросу сначала повторюсь. Я с первого дня знакомства с ПЛИС работал с ActiveHDL. Мне функционала хватало, но я регулярно встречаю мнение, что он слабоват для верификации, и это наводит на мысли, что я что-то упускаю... Как я делаю: совсем простенькие низкоуровневые куски гоняю в интерактиве, для остального пишу тестбенч на SV. Где-то визуально анализирую результат, где-то пишу автоматическое сравнение с эталоном. Моделирует быстро, по крайней мере по сравнению с Vivado :) Отсюда вопрос: какими хотелками в области верификации полезно обзавестись разработчику? Какие фишки предлагают серьезные пакеты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба изучите стандарт на SV, книги SV for design, SV for verification, UVM methodology manual от Яника Берджерона и вы сами сможете ответить на свой вопрос. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 1 hour ago, OparinVD said: Собственно, вопрос можно распространить на все тулзы: что для чего предназначено? Глобально ответ прост - удобство верификации и поддерживаемые функции/библиотеки/тулзы. Серьёзные симуляторы предназначены не только погонять сигналы, но и для автоматизированного покрытия и верификации Вашего кода. И насколько удобно потом делать оценку покрытия. Также гиганты индустрии могут предлагать как миксед-сигнал симуляцию, так и быструю бэк-аннотейтед симуляцию (когда задержки всех компонентов/функций описаны в отдельном файле, а не заданы в виде идеальных/константных значений). вместе с симуляцией для павер анализа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 3 hours ago, des00 said: изучите стандарт на SV, книги SV for design, SV for verification, UVM methodology manual Спасибо, принял к сведению. Займусь, как только прожую тот кусок информации, который уже пришлось отхватить за последнее время :) 1 hour ago, Nick_K said: Также гиганты индустрии могут предлагать как миксед-сигнал симуляцию, так и быструю бэк-аннотейтед симуляцию На сегодня миксед-сигнал мне не нужен, на потребляемых ваттах мы не экономим. Бэк-аннотейтед для себя пока тоже не вижу. Я гоняю модель на чисто функциональном уровне, потом скармливаю проект Виваде, и, если тайм-анализ сказал Ок, то я этим удовлетворен. Code-coverage в ActiveHDL видел, но не пользовался, надо будет уделить ему время. SV модули у меня написаны на средне-колхозном уровне, Альдек их спокойно переваривает и без проблем разрешает напрямую кидать на диаграмму... Значит ли это, что на данном этапе своего развития мне нет смысла пересаживаться на что-то новое? И еще вопрос: чем всё-таки отличаются ActiveHDL и Rivera? Одно является логическим развитием другого или они всё-таки для разных задач? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 14 minutes ago, OparinVD said: И еще вопрос: чем всё-таки отличаются ActiveHDL и Rivera? Одно является логическим развитием другого или они всё-таки для разных задач? Rivera - advanced verification, Aldec обрезан. Если ООП не используете, то не заметите разницы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба А ООП это что? Объектно-ориентированное проектирование? Я почему в сторону Ривьеры смотрю, она вроде как под Линукс должна работать. Мне сейчас пришлось ActiveHDL на виртуальной машине запускать и через папку синхронизации давать исходники Виваде. Вроде не сказать, что сильное извращение, но если получится без него, то будет лучше :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 33 minutes ago, OparinVD said: А ООП это что? Объектно-ориентированное проектирование? объектно ориентированное программирование, все для constraint based verification. но это вам в те 4 ре книги что я вам уже советовал. Движок альдека это обрезанная ривера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 8 hours ago, OparinVD said: Значит ли это, что на данном этапе своего развития мне нет смысла пересаживаться на что-то новое? Как сказать. Если нет никаких планов подниматься на гигантские проекты, тогда можно остаться и так. Не примите за подтрунивает или сарказм. Просто если в перспективе может маячить что-то серьёзное, то ИМХО (лично моё мнение!), лучше сразу начинать пользоваться этими тулами. Ибо потом переходить будет сложнее и могут возникнуть различные неприятности и т.п. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба 9 hours ago, Nick_K said: Не примите за подтрунивает или сарказм Ни в коем случае :) Если сравнивать с поделками из прошлой жизни, то мой текущий проект уже выглядит огромным :) И да, я уже столкнулся с болью от того, что мой Альдек не может моделировать криптованные корки новых Vivado. Пришлось вести две версии проекта: одну можно моделировать в Альдеке, вторую можно синтезировать и моделировать в Vivado, но это вызвано несовместимостью версий, как уже обсуждали весной, а не принципиальными ограничениями Альдека... Из планов на обозримое будущее - довести текущий проект до полнофункционального состояния, не задерживаясь на оптимизации. Основная цель - найти все грабли на прикладном уровне, и понять, где нужны чугунные мосты, а где ими никто пользоваться не будет. А потом займусь причесыванием, и вот там уже, надеюсь, подключу в свой арсенал все фишки SV. 12 hours ago, Nick_K said: лучше сразу начинать пользоваться этими тулами. Можете на свой вкус порекомендовать, в сторону какого тулза смотреть? Хотелок у меня не так уж много: хочется, чтобы весь маршрут оставался в рамках одного пакета, чтобы Виваде отдать готовый проверенный кубик и запустить синтез; очень хочется FSM-рисовалку, без них прямо жизни нет :) желательна версия под Линукс Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба 6 minutes ago, OparinVD said: Можете на свой вкус порекомендовать, в сторону какого тулза смотреть? Когда я говорил про переход на серьёзные тулы, то имел ввиду систему для моделирования. А это бесспорно Моделсим или Квеста (Зависит от потребностей и возможности купить/"установить" ). Рисовалки нет, но со временем в ней необходимость отпадёт, так как на SV проще кейсом описать все состояния и не заморачиваться графикой. Для документации вроде тот же Моделсим может нарисовать сгенерированый FSM. И с прожёвыванием Вивадовских корок проблем нет, нужно только сгенерировать нужные либы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба А.. понял. Значит мой следующий шаг - прикрутить Моделсим как основной симулятор в Виваде и научиться его готовить. Тогда последний вопрос из области симуляторов. В свое время я его отбросил, как нечто из области фантастики, но вдруг я ошибался... Вопрос такой: могут ли современные симуляторы взаимодействовать с внешним миром кроме как через файловую систему? А именно, можно ли организовать такой стенд, где тестер накидывает пакеты через изернет и получает интерактивно ответы, но обработка идет не железе, а в модели? Или оно не стоит потраченных сил? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба 24 minutes ago, Nick_K said: А это бесспорно Моделсим или Квеста моделсим обрезанная квеста, по возможностям на уровне альдека, а работает медленнее. Just now, OparinVD said: Тогда последний вопрос из области симуляторов. В свое время я его отбросил, как нечто из области фантастики, но вдруг я ошибался... Вопрос такой: могут ли современные симуляторы взаимодействовать с внешним миром кроме как через файловую систему? А именно, можно ли организовать такой стенд, где тестер накидывает пакеты через изернет и получает интерактивно ответы, но обработка идет не железе, а в модели? Или оно не стоит потраченных сил? DPI, PLI, matlab-cosimulation, Verilator Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба Приветствую! 13 minutes ago, des00 said: Тогда последний вопрос из области симуляторов. В свое время я его отбросил, как нечто из области фантастики, но вдруг я ошибался... Вопрос такой: могут ли современные симуляторы взаимодействовать с внешним миром кроме как через файловую систему? А именно, можно ли организовать такой стенд, где тестер накидывает пакеты через изернет и получает интерактивно ответы, но обработка идет не железе, а в модели? Или оно не стоит потраченных сил? Все основные симуляторы поддерживают один или несколько внешних интерфейсов DPI, PLI/VPI - через них вы можете расширить функционал симулятора своими С/С++ библиотеками. Через них же делаются стыковка с надстройками типа Matlab или cocоtb. Да и часть функционала той же UVM тоже делается через DPI. На github можете найти готовый DPI інтерфейс для общения с сетью из сима. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
OparinVD 0 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба Ух! Это ж еще одно поле не паханное! Боюсь, что в ближайшее время для моей психики будет проще считать, что "доктор сказал, ты умрешь..." :) Спасибо за науку, дальше тогда сам копать буду Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 11 декабря, 2020 Опубликовано 11 декабря, 2020 · Жалоба Приветствую! 19 minutes ago, OparinVD said: Ух! Это ж еще одно поле не паханное! Боюсь, что в ближайшее время для моей психики будет проще считать, что "доктор сказал, ты умрешь..." :) Спасибо за науку, дальше тогда сам копать буду Копайте, копайте В том же Aldec есть (во всяком случае были раньше) готовые примеры для работы с DPI/PLI по которым я когда-то учился работать c этим функционалом. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться