uvm

    1

    1답변

    UVM 모니터에서 아래의 두 문이 run_phase에 추가 된 경우 tr.pkt에 샘플링 된 값은 data_in에 따라 정확합니다. 그러나 명령문의 순서가 바뀌면 tr.pkt이 샘플링 된 것이 올바르지 않습니다 ('h0 샘플링 됨). 전에 본 사람 있니? tr.pkt.push_back(this.wr_if.mon_clk_blk.data_in); `uvm_i

    3

    1답변

    Cadence의 NC 도구를 사용하여 커버리지 회귀를 실행하려고합니다. RTL 범위를 볼 수는 있지만 스코어 보드의 기능적 범위가 누락되었습니다. NCSIM 인수에서 covdut 옵션에이 스코어 보드를 어떻게 추가 할 수 있습니까? 스코어 보드에는 표지 그룹이 있습니다.

    1

    2답변

    나는 공장으로 UVM 테스트를 등록에 사용되는 다음의 SystemVerilog 구조와 혼란 스러워요 : 여기 class random_test extends uvm_test; `uvm_component_utils(random_test); ... function new (... 우리가 클래스 random_test의 정의를 가지고

    5

    1답변

    실수로 입력 신호 대신 개발자가 UVM 드라이버 내부에서 DUT 출력 신호에 쓰는지 여부를 알아낼 수 있는지 알고 싶습니다. 나는 이것을 시험해 보았고 컴파일/런타임 에러 메시지가 없다. 이 예는 (시도 아웃 내 컴퓨터에 예리한에서 수행하고 코드가 나중에 업로드) 여기에 있습니다 : http://www.edaplayground.com/x/386 'some_

    0

    1답변

    현재 UVM에서 제한 조건 32 비트 주소를 임의로 지정하려고합니다. 주소의 특정 비트를 제한하는 방법이 있습니까? rand bit [31:0] addr; // last two bits should always be zero req.randomize() with { addr[1:0] == 2'b00; };

    1

    1답변

    누군가 가상 클래스를 공장에 등록하는 방법이 있습니까? object_utils 매크로를 사용하면 불법 인 가상 클래스에 대해 new (...)를 호출하는 type_id :: create (...) 메소드가 정의됩니다. 당연히 유형 대체는 공장에 등록 된 모든 가상 클래스에 필수입니다. 만약 누군가가 이것에 대한 우아한 해결책을 가지고 있다면 멋질 것입니다.

    2

    3답변

    나는 가상 시퀀서를 가지고 있는데,이 가상 시퀀서에서 3 개의 트랜잭션을 각각 해당 시퀀서에서 병렬로 실행한다. 그래서 이런 일이 : class top_vseqr extends uvm_seqr extends uvm_sequencer; type_a_seqr seqr_a; type_b_seqr seqr_b; type_c_seqr se

    3

    1답변

    에서 (regmodel에서 사용 가능한) 레지스터의 이름을 도출 할 수 regmodel.REGx.write (...) 내가 regmodel의 즉 아래 8 개 레지스터를했습니다 고려할 수 있습니다.NUM = 4라고 말하면 시험 합계 인수로 숫자를 전달하고 싶습니다. $ sformat 또는 $ psprintf를 사용하여 적절한 레지스터 이름을 사용하여 문자

    0

    1답변

    UVM 드라이버의 디자인에서 특정 출력을 기준으로 설계 입력 신호를 조합하여 조합하려는 경우 가장 좋은 방법은 무엇입니까? 실행 단계에서이를 구현하고 설계 출력 신호를 살펴 본다면 다음 호의 클럭에서 볼 수 있습니다. 맞습니까? 이것은 한주기를 낭비 할 것입니다. 예. rd 입력 신호가 랜덤하게 어서 트되어 설계된다. 빈 상태가 높은 경우를 제외하고는 같은

    4

    3답변

    우리의 UVM 시뮬레이션은 흔히 연결되지 않은 분석 포트에 대한 디버깅을 끝내는 시그니처로 실패합니다. run_phase 앞에 분석 포트가 연결되어 있는지 확인하는 방법이 있습니까?