Как заставить UVM build_phase взаимодействовать с функцией сборки в SVunit
Я новичок в UVM и SVunit. Поскольку я пытаюсь написать модульный тест для табло, я обнаружил, что если uvm_analysis_imp
Порт создается в фазе построения табло, и если мы подключим его к uvm_analysis_port
в функции сборки модуля Scoreboard_unit_test возникнет проблема с нулевым дескриптором. Кажется, что этап построения табло выполняется позже, чем функция build() внутри модуля. Если я положу в уставе uvm_analysis_imp
в конструктор табло, не будет никаких проблем. Но мы не можем просто изменить проверяемое оборудование, чтобы оно соответствовало нашему тесту, верно? Если я все еще хочу сохранить все установки внутри фазы сборки, что я могу сделать с этой проблемой?
1 ответ
Я думаю, что вы хотите создать экземпляр портов TLM в SV, чтобы передавать данные из SVunit в UVM, а также выполнять синхронизацию. Я верю, что вы не можете использовать порт uvm_analysis_imp в SVunit, потому что SVunit просто не знает, что это за объект. Я думаю, что вам нужно сделать синхронизацию между SVunit и кодом UVM в run_phase из UVM. Таким образом, вы можете определить какое-либо событие для их синхронизации, чем использовать другую функцию для передачи данных. Или вы можете почтовый ящик пользователя там