Перейти к содержанию
    

использование SVA для большего, чем BFM.

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

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

вернее монитор в духе книжек Spear/Bergeron может быть гибчее, но кажется, что его описание для этой задачи значительно сложнее, чем набор правил

 

для целей верификации понадобилось мне залезть внутрь синтезируемого UUT. что бы не париться с иерархией. Встроил классы с API прямо в когд синтезируемых модулей. И получил нормальный переносимый интерфейс к внутренностями ртлного блока. Для синтеза все лечиться тегами синтеза %) В общем такой подход рекомендую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В качестве примера BFM-чекера, можете посмотреть на ассерты для шины AMBA3-AXI.

По указанному адресу нужно зарегистрироваться и тогда можно будет скавчать саму спецификацию и набор assert'ов.

http://www.arm.com/products/solutions/axi_spec.html

 

P.S. В VCS_08 есть встроенные Assert'ы на стандартные интерфейсы (USB, I2C, OCP, AXI, PCI и т.д.).

 

для целей верификации понадобилось мне залезть внутрь синтезируемого UUT. что бы не париться с иерархией. Встроил классы с API прямо в когд синтезируемых модулей. И получил нормальный переносимый интерфейс к внутренностями ртлного блока. Для синтеза все лечиться тегами синтеза %) В общем такой подход рекомендую.

Тэгами синтеза вы запретили изменение полярности триггера? У меня было пару раз после синтеза на вход внутреннего триггера приходило инверсное значение (по сравнению с RTL) и на выходе тоже инвертор стоял, а т.к. тест ссылался на само значение триггера - получалось нехорошо - на RTL тест работал, на NETLIST'e нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тэгами синтеза вы запретили изменение полярности триггера? У меня было пару раз после синтеза на вход внутреннего триггера приходило инверсное значение (по сравнению с RTL) и на выходе тоже инвертор стоял, а т.к. тест ссылался на само значение триггера - получалось нехорошо - на RTL тест работал, на NETLIST'e нет.

 

нет я вырезал все ООПовское из ртлного кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет я вырезал все ООПовское из ртлного кода.

Тогда это осложнение, связанное с тем, что некоторые триггера в дизайне изменят свою полярность в результате синтеза необходимо учитывать при использовании white box подхода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...