Как связать модель SystemC с SystemVerilog?

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

2 ответа

Mentor разработал бесплатный пакет UVMConnect, разработанный специально для приложения, о котором вы спрашиваете. См. https://verificationacademy.com/topics/verification-methodology/uvm-connect. Вам понадобится симулятор, который поддерживает симуляции SystemVerilog и SystemC, например Questa.

Если вы используете QuestaSim, я думаю, что UVM-connect от Mentor - это то, что вам нужно. Когда я впервые использовал его (4 года назад), он был очень глючным и давал самые загадочные ошибки сегфоута, которые я когда-либо видел. Но с помощью поддержки Ментора мне удалось преодолеть их и добиться успеха. Теперь он должен быть более стабильным, но если у вас есть проблемы с ним, не стесняйтесь обращаться в службу поддержки 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

Другие вопросы по тегам