0
내 시퀀스에는 주소와 데이터를 함께 포함해야하는 버스가 있습니다. 이제 주소와 데이터를 무작위로 추출한 다음 버스에서 무작위로 연결된 값을 연결합니다. seqItem 클래스에서이 작업을 수행하는 방법을 이해하는 데 도움을주십시오. seq_item에 2 개의 무작위 변수를 기반으로 변수 생성
class seqItem extends uvm_sequence_item;
`uvm_object_param_utils(seqItem)
rand logic [541-1:515] wfifo_addr;
rand logic [512-1:0] wfifo_data;
logic [541-1:0] wfifo_dout; // = {this.wfifo_addr, 3'b000, this.wfifo_data};
constraint wfifo_addr_ctrl { ... }
constraint wfifo_data_ctrl { ... }
…
endclass
는 어떻게
wfifo_addr
및
wfifo_data
의 무작위 값을 포함하는
wfifo_dout
를 확인합니다.
wfifo_addr
과
wfifo_data
신호를 별도로 유지해야만 임의 화 제한을 설정할 수 있습니다.
이제 시퀀스에서 wfifo_dout
값을 할당합니다.이 시퀀스는 seqItem 트랜잭션을 무작위로 지정합니다. 그러나 wfifo_dout
의 값을 seqItem에 만들면 좋을 것입니다.