UART 검증 환경을 구축 중입니다. DUT UART 수신에 프레임을 구동하기 위해 vr_ad_sequence
Specman e : 시퀀스가 BFM을 구동합니다. MAIN이 테스트에서 정의되지 않았습니다.
uart_sequence
두 시퀀스, 자신의 드라이버와 BFMs이 확인 작업 DUT의 UART 구성을 운전에 대한
- : 나는 2 sequenceses 있습니다. 그러나 구성 시퀀스 만 사용하는 간단한 테스트를 만들면 DUT UART Rx가 검증 환경에 의해 구동됩니다 (또한
MAIN uart_sequence
의 확장 없음)! 시험은 다음과 같습니다 여기// The test that does not drives UART Rx extend MAIN uart_sequence { // Rx sequence body() @driver.clock is only { }; }; extend MAIN vr_ad_sequence { // Configuration sequence body()@driver.clock is only { // Configuration logic }; };
가 어떻게 UART 수신 시퀀스 드라이버입니다 :
// The test that drives ALSO uart_sequence extend MAIN vr_ad_sequence { // Configuration sequence body()@driver.clock is only { // Configuration logic }; };
유일한 방법은 내가이
MAIN uart_sequence body()
"덮어 쓰기"에 의해 수신 구동 할 수있다 중지 성공 BFM은 검증 환경에 정의되어 있습니다sequence uart_sequence using item = uart_frame_s, created_driver = uart_driver_u; extend uart_driver_u { event clock is only rise(port_clk$) @sim; }; extend uart_rx_agent_u { driver: uart_driver_u is instance; }; extend uart_rx_agent_u { uart_monitor : uart_rx_monitor_u is instance; // like uvm_monitor uart_bfm : uart_rx_bfm_u is instance; // like uvm_bfm }; extend uart_rx_bfm_u { !cur_frame: uart_frame_s; run() is also { start execute_items(); }; execute_items() @rx_clk is { while (TRUE) do{ cur_frame = p_agent.driver.get_next_item(); drive_frame(cur_frame); }; }; drive_frame(cur_frame : uart_frame_s) @rx_clk is { // Drive frame logic }; };
는
MAIN
가 확장되지 않은 그 때uart_sequence
는 BFM도 드라이브 왜 당신이 어떤 생각을 가지고 있습니까? Specman을 문서에 도움