분석 포트가 3 개의 스코어 보드에 연결되어 있습니다. 분석 포트에서 쓰기가 수행되면 구독자 (스코어 보드)가 특정 순서로 호출됩니다. 그러나 나는 그들이 다른 순서로 부름 받기를 원한다.UVM 분석 포트 가입자의 순서를 제어하는 방법은 무엇입니까?
명시 적 순서의 실제 사용 사례는 다음과 같습니다. 하나의 스코어 보드는 로깅 만하기 때문에 먼저 스코어 보드를 호출해야합니다. 다른 스코어 보드는 매우 기본적인 하위 레벨 검사를하므로 초라고 부릅니다. 세 번째 점수 판은 매우 복잡한 상위 수준 검사를하므로 마지막으로 호출해야합니다.
SV 조각 :
sb1 = scoreboard_1::type_id::create("sb1", null);
sb2 = scoreboard_2::type_id::create("sb2", null);
sb3 = scoreboard_3::type_id::create("sb3", null);
// Connect analysis port to scoreboard
m_ap = new("ap", null);
m_ap.connect(sb2.m_imp);
m_ap.connect(sb3.m_imp);
m_ap.connect(sb1.m_imp);
m_ap.resolve_bindings();
// Write
m_ap.write(10);
전류 출력 :
# UVM_INFO design.sv(15) @ 0: sb1 [write] scoreboard_1
# UVM_INFO design.sv(32) @ 0: sb2 [write] scoreboard_2
# UVM_INFO design.sv(49) @ 0: sb3 [write] scoreboard_3
가 어떻게 가입자가 호출되는 순서를 제어하는? EDA 놀이터에
- scoreboard_3
- scoreboard_2
- scoreboard_1
예제 코드 : http://www.edaplayground.com/x/2zQ
최상위 스코어 보드 위임자를 갖는 것이 혼란스러워 보입니다. 이 경우, 등록 된 순서로 등록자를 유지하는 uvm_analysis_port를 작성하는 것이 더 깔끔할 수 있습니다. –