Как мне остановить все запущенные последовательности в UVM?
Есть ли способ остановить все запущенные последовательности во время симуляции (скажем, когда вы получаете сброс)? Есть ли способ вывести список всех запущенных последовательностей в определенное время во время симуляции?
2 ответа
Да. sequencer_h.stop_sequence () См. https://verificationacademy.com/cookbook/Sequences/Stopping чтобы узнать, что вам нужно делать и к чему нужно быть осторожным с активным драйвером.
В UVM нет ничего встроенного для выгрузки всех запущенных последовательностей, но если вы используете Questa, есть команда отладки "uvm findsequence", которая выведет их для вас.
Есть немного received_item_done
в каждой последовательности. Вы можете подождать posedge
этого бита перед остановкой любой конкретной последовательности. Вы можете использовать current_grabber
функция из базового класса секвенсора, чтобы получить дескриптор последовательности, которая в настоящий момент имеет блокировку или захват последовательности.
stop_sequences
остановит последовательность, загруженную в данный момент на секвенсоре.