Questasim - Можно ли регистрировать и перезагружать сигналы по новому дизайну? - PullRequest
0 голосов
/ 07 ноября 2019

Я запускаю тест (UVM) с большим количеством компонентов. Это тест верхнего уровня, однако я отлаживаю внутренний модуль и меня интересуют только сигналы интерфейсов, подключенных к этому модулю. Поскольку это TL, это занимает много времени, так как я дохожу до момента, который меня интересует. Эти сигналы являются продуктом других модулей, но я не заинтересован в них сейчас.

В данный момент яиспользуя Questa sim, поэтому мне было интересно, есть ли способ сохранить события из этих сигналов, чтобы я мог снова запустить только те из них. Поэтому я намерен изменить модуль, перекомпилировать и напрямую использовать входы в новой версии без необходимости фактически запускать весь тест и ждать так долго.

1 Ответ

1 голос
/ 07 ноября 2019

Внутри большой компании по производству чипов, в которой я работал, они называют это «Сохранить и восстановить». Не уверен, что ваш поставщик EDA называет это. Вы должны быть в состоянии взять файл «Vector Change Dump» или «VCD» снимка сигнала в конце имитации загрузки и преобразовать его в набор из 0 раз put s на проводах. Возможно, вам придется force провода для нескольких часов, а затем отпустить force.

Что касается вашего комментария о взаимодействии с инфраструктурой тестирования UVM, я не совсем уверен в поведениииз нескольких put с или force с на одном узле. Я предполагаю, что победит последний. Однако силы очень и очень специфичны для каждого узла. Сброс force выиграет и будет привязан к дизайну, если вы используете нисходящий поток. Если ваш дизайн выглядит следующим образом, выиграет force <path> 0 из кода сброса, потому что он является нисходящим:

                +--------------------------------------------+
                |  TopDesign.sv  +------------------------+  |
                |                | SubBlock.sv            |  |
                |                |                        |  |
           1    | 1              |  0 +--------------+ 0  |  |
           ----->---------------->----> register Foo >--  |  |
           ^    |                |  ^ |              |    |  |
    UVM Driver  |                |  | +--------------+    |  |
                |                +--|---------------------+  |
                +-------------------|------------------------+
                                    |0
                                   Reset force

Если ваша инфраструктура UVM force s на интерфейсе, а затем инициализация сброса force находится на нисходящем узле, , который будет синтезироваться в тот же самый провод , тогда нисходящий узел force победит, потому что это фактически попадет в логику.

Вам все еще нужно позаботиться о том, чтобы инициализировать UVM-шашки или табло в состояние после сброса.

...