Builder 0 20 августа, 2009 Опубликовано 20 августа, 2009 · Жалоба Возникла ситуация, когда код тестбенча большой и сильно повторяет то, что потом будет писать обычный программер на С/С++. Особенно там где всякие инициализации в зависимости от настроек устройства, обмен и др. Естественно желание писать этот код 1 раз, а не сначала на SV/Verilog, а потом переписывать на С/С++. Беглый обзор, что бывает, указал на Verilog PLI. Есть ли у кого опыт использования, есть ли смысл тратить время на изучение/использование? Проект видится так: общие куски верификации пишем с использованием Verilog PLI, а всё что остальное на SV. Насколько оправдано использование? Не будет так, что весь эффект съедает сложность/глючность сред (Прицеливаюсь на Active-HDL), и быстрее и проще будет как обычно - на SV сделать тесты и передать программеру спецификацию, пусть кодит? Поискал по форуму, вроде почти не обсуждалось, а то что было - давно очень. Добавлю: такая ситуация особенно актуальна, когда есть более-менее законченное устройство на FPGA и есть проц, котоый посредством какого-то интерфейса общается с FPGA. Тогда описанное, на мой взгляд очень актуально, делаем эмуляцию интерфейса на том-же SV, сам основной тест тоже на нём может, а весь код, который отвечает скажем за настойку и обмен с устройством пишем на С/С++. Он потом с мимальными правками перекачёвывает в ПО внешнего проца. Возможно ли такое легко и эффективно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 20 августа, 2009 Опубликовано 20 августа, 2009 · Жалоба Есть еще SystemVerilog DPI. http://www.doulos.com/knowhow/sysverilog/tutorial/dpi/ Сам пока не пробовал, но скоро, надеюсь, начну. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 0 20 августа, 2009 Опубликовано 20 августа, 2009 · Жалоба Есть еще SystemVerilog DPI. http://www.doulos.com/knowhow/sysverilog/tutorial/dpi/ Сам пока не пробовал, но скоро, надеюсь, начну. Спасибо, как-то его просмотрел, DPI по идее более перспективен, чем PLI, и Active-HDL поддерживает, хоть и не всё, с ходу наткнулся на: "Calls in the opposite direction (i.e. from C/C++ to SystemVerilog) are not supported yet." что в 8.1 что в 8.2, что очень жалко, т.к. душой прирос к Active-HDL и не хочу соскакивать :) Судя по описанию и примерам по ссылке - всё должно быть как я хочу - делаю как описал и будет мне счастье. Сейчас уже дёргаться не буду, а вот перед следующим проектом нужно будет покавырять и попробовать использовать. Кто-то уже пробовал, какие отзывы? Насколько удобно отлаживаться? В чём С/С++ код писали и отлаживали? Применительно к Active-HDL, написано что можно через gdb отлаживать С/С++ код не выходя из единой среды, в самом Active-HDL. Работоспособно? Покопал доки, если нужно по максимуму, то в текущих версиях Active-HDL слабо поддерживает DPI, если нужно по максимуму, то на сегодня это - ModelSim. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopart 0 23 августа, 2009 Опубликовано 23 августа, 2009 · Жалоба Покопал доки, если нужно по максимуму, то в текущих версиях Active-HDL слабо поддерживает DPI, если нужно по максимуму, то на сегодня это - ModelSim. Использовал VerilogPLI. Вполне удобно было верифицировать RTL с эталонной моделью на C. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться