Я отлаживал загадочную ошибку в моем коде системного журнала в течение нескольких недель.Мой коллега помог мне и обнаружил, что оператор disable block_name вызывает странное поведение.
Мой поиск дал следующий комментарий от Дэйва: «Как убить поток из нескольких запущенных потоков и ждатьвсе потоки для завершения "(Mentor Verification Academy)
Одна вещь, с которой вы должны быть осторожны, это если вы пытаетесь переместить этот код в класс, и существует несколько экземпляров этого класса,Оператор disable уничтожает все потоки с именем Th3.
Это объясняет, почему мой код systemverilog неправильно себя вел.
Но я сейчас не знаю, почему стандарт systemverilog определяет этот путь.Есть ли причина, по которой стандарт был определен таким образом?Поскольку задача в классе неявно объявлена как автоматическая, я предполагал , каждый экземпляр полностью независим.