Как подключить модель SystemC к SystemVerilog?

  • Скажем, у нас есть модель десятичного счетчика SystemC, и я хочу проверить RTL счетчика SystemVerilog, используя модель SystemC. Как мы можем соединить эти два в тестовом стенде на основе SV / UVM, чтобы общаться между ними.

person MayurKubavat    schedule 02.11.2015    source источник
comment
SystemVerilog предоставляет интерфейс прямого программирования (DPI) для взаимодействия с другими языками. Для получения дополнительной информации о SystemC DPI может быть полезен этот PDF-файл.   -  person sharvil111    schedule 02.11.2015
comment
Спасибо, шарвил... Выглядит полезно. Я попробую.   -  person MayurKubavat    schedule 03.11.2015
comment
Многие современные коммерческие симуляторы, поставляемые с поддержкой Verilog/SystemC, должны уметь выполнять совместное моделирование. Однако команды и инструкции инструмента различаются и зависят от того, какой инструмент моделирования вы используете. Пожалуйста, проверьте руководства вашего симулятора.   -  person jclin    schedule 05.11.2015


Ответы (2)



Если вы используете QuestaSim, я думаю, что вам подойдет UVM-connect от Mentor. Когда я впервые использовал его (4 года назад), он был очень глючным и выдавал самые загадочные ошибки segfault, которые я когда-либо видел. Но с помощью поддержки наставника мне удалось преодолеть их и добиться цели. Теперь он должен быть более стабильным, но если у вас возникнут проблемы с ним, не стесняйтесь обращаться в службу поддержки Mentor. Они очень отзывчивы.

Однако, если вы используете инструменты Cadence и/или язык e, я думаю, что UVM-ML от Cadence является гораздо более комплексным решением. Он позволяет подключать компоненты, написанные на любой комбинации языков (SV-SC, SV-e, SC-e), и имеет более качественную документацию и примеры. Насколько я понимаю, теперь он также совместим со всеми симуляторами. Вы можете найти его здесь: http://forums.accellera.org/files/file/65-uvm-ml-open-architecture/

Не уверен, что люди Synopsis рекомендуют для своего набора инструментов. Может быть, кто-то, кто использовал их, может предложить больше информации об этом. Но я предполагаю, что и UVM-ML, и UVM-Connect могут работать, поскольку их производители утверждают, что они портативны.

И, наконец, если вы планируете использовать SystemC в качестве языка проверки (очень маловероятно, но просто ради разнообразия), есть что-то под названием UVM-SystemC, которое по сути является клоном SV-UVM, написанным на C++/SystemC. В настоящее время он находится в альфа-версии, и ему не хватает многих функций (моделирование регистров, ограниченная рандомизация, сбор покрытия и т. д.). Это очень похоже на SV-UVM, и я думаю, что это хорошая игрушка, в которую можно поиграть в свободное время, если вы не можете позволить себе коммерческую лицензию на симулятор. Вы можете найти его здесь http://accellera.org/images/downloads/drafts-review/uvm-systemc-1.0-alpha1.tar.gz

person Tiberius P.    schedule 26.09.2016