Есть ли способ остановить все запущенные последовательности во время моделирования (скажем, когда вы получаете сброс)? Есть ли способ сбросить список всех запущенных последовательностей в определенное время во время моделирования?
Как остановить все запущенные последовательности в UVM?
Ответы (2)
Да. sequencer_h.stop_sequences() См. https://verificationacademy.com/cookbook/Sequences/Stopping, что что нужно делать и чего нужно опасаться с активным водителем.
В UVM нет ничего встроенного для вывода всех запущенных последовательностей, но если вы используете Questa, есть команда отладки «uvm findsequences», которая выведет их для вас.
sequencer_h
? Вы имели в виду вызов stop_sequences
на всех запущенных секвенсорах? У меня нет доступа к ссылке, которую вы разместили.
- person Jean; 05.10.2013
sqr.stop_sequences
, я получаю это UVM_FATAL
. Можете ли вы дать какие-либо советы о том, как отладить это? Ошибка: Item_done() called with no outstanding requests. Each call to item_done() must be paired with a previous call to get_next_item().
- person Kaushal Modi; 19.08.2014
В каждой последовательности есть бит received_item_done
. Вы можете дождаться posedge
этого бита, прежде чем остановить какую-либо конкретную последовательность. Вы можете использовать функцию current_grabber
из базового класса секвенсора, чтобы получить дескриптор последовательности, которая в настоящее время имеет блокировку или захват последовательности.
stop_sequences
остановит секвенцию, загруженную в данный момент в секвенсор.