서로 다른 두 UVM 에이전트의 두 가지 무관 한 UVM 시퀀스 항목을 동기화하는 방법은 무엇입니까?
이것은 패리티 인코더 - 디코더 DUT를 검증하는 나의 시나리오입니다. 디코더 여기서 입력 에이전트는 재 활성화 에이전트이며 Encoder Output 에이전트의 패시브 모니터에서 캡처 한 데이터 스트림에 오류를 주입합니다.
이제 인코더 및 디코더 입력 에이전트 모두에 대해 시퀀스 및 시퀀스 항목을 따로 갖고 있습니다. 그러나 디코더 재 활성화 에이전트가 오류를 추가하고 모든 데이터에 대해 새 패킷을 순서대로 생성하도록 두 에이전트를 모두 동기화하는 방법은 무엇입니까?
예를 들어 인코더가 1000, 1010, 0100, 1011 순서로 데이터를 전송하고 디코더 재 활성화 에이전트가 0010, 1000, 0001, 0100 순서로 오류 패킷을 생성한다고 가정합니다. 서로 관련없는 패킷. 그러나 재 활성화 에이전트는 패시브 에이전트 모니터에서 두 개의 데이터, 즉 1000과 1010을 함께 수신하더라도 첫 번째 데이터를 1000^0010과 같은 첫 번째 패킷으로 추출해야합니다. 또한 두 에이전트 모두 항목을 생성하므로 디코더는 (인코더 에이전트 모니터를 통해) 인코더 에이전트에서 데이터를 받기 전에 항목을 보내면 안됩니다.
의미 상으로 실용적입니다. 두 에이전트를 서로 존속시키고 타이밍 순서를 따르는 코드 작성 방법을 알고 싶습니다. –
시퀀스 항목 또는 순차를 동기화 하시겠습니까? –
일단 엔코더 드라이버에서 보내고 엔코더 모니터에서 수신 된 디코더 드라이버가 디코더 드라이버로 보내지도록 시퀀스 항목을 동기화하려고합니다. 또한 모니터에서 순서가 잘못된 수신을 고려해야합니다. –