Jump to content

    

Верификация в SystemVerilog

Здравствуйте.

Возник вопрос связанный с верификацией, основанной на проверке случайными значениями.

Собственно вопрос: как привести (сконфигурировать) DUT к состоянию, позволяющему верифицировать тот или иной пункт?

Для конфигурации необходимо загрузить определенные значения в определенные регистры. Т.е. если я, допустим, хочу проверить работу по прерываниям, то я должен сгенерировать на на шине такую транзакцию, которая установит соответствующие биты в верифицируемом ядре. Далее прогоняем случайные значения. После этого нужно снова сгенерировать некоторую транзакцию для установки некоторого бита, а затем снова гнать случайные данные. Реализовать ограничения для генерации универсальных пакетов не представляется (на мой взгляд) возможным.

 

Видится следующее решение, но на мой взгляд оно как-то не вписывается в концепцию:

1) Включили ограничения для конфигурации N

2) Загрузили конфигурацию

3) Выключили ограничения для конфигурации N

4) Выполняем тестирование со стандартными ограничениями

5) Включили ограничения для конфигурации M

и т.д.

Share this post


Link to post
Share on other sites
Собственно вопрос: как привести (сконфигурировать) DUT к состоянию, позволяющему верифицировать тот или иной пункт?

Для конфигурации необходимо загрузить определенные значения в определенные регистры.

в верилоге доступны иерархические ссылки из любого уровня иерархии проекта (акромя синтеза) => загрузить их можно обычным присваиванием значений блок.подблок.подблок.регистр=значение;

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this