Sequencer4 [UVM 1.1d] 7-2. UBus Verification Example 7.6 UBus EnvironmentUBus Environment는 검증 환경의 상위 컨테이너로, 에이전트와 모니터, 스코어보드 등 다양한 컴포넌트를 포함합니다.주요 역할에이전트 관리: Master와 Slave Agent를 생성하고 환경 내에 통합.데이터 흐름 관리: 모니터와 스코어보드 간 연결 설정.예제 코드class ubus_env extends uvm_env; `uvm_component_utils(ubus_env) ubus_master_agent master_agent; ubus_slave_agent slave_agent; ubus_monitor bus_monitor; function new(string name = "ubus_env", uvm_component parent = null);.. 2024. 11. 26. [UVM 1.1d] 4-2. Reusable UVM Component 4.8 가상 시퀀스 (Virtual Sequences)**가상 시퀀스(Virtual Sequence)**는 여러 시퀀서를 동시에 제어하고 조정할 수 있는 시퀀스입니다. 이를 통해 복잡한 시스템 수준 테스트를 보다 효율적으로 작성할 수 있습니다. 가상 시퀀스는 복수의 시퀀서를 조정하여, 병렬로 시퀀스를 실행하거나 다양한 시퀀스를 한꺼번에 관리할 수 있습니다.가상 시퀀스 예제 코드가상 시퀀스를 작성하고 환경에 설정하는 방법은 아래와 같습니다.class my_virtual_sequence extends uvm_sequence#(uvm_sequence_item); `uvm_object_utils(my_virtual_sequence) my_sequencer seqr1; my_sequencer seqr2; .. 2024. 10. 10. [UVM 1.1d] UVM Sequence Macro (uvm_do/uvm_do_with) uvm_do와 uvm_do_with는 UVM에서 자주 사용하는 매크로로, 시퀀스에서 시퀀스 아이템을 생성하고 실행하는 데 사용됩니다. 이 매크로들은 시퀀스를 더 간결하고 명확하게 작성할 수 있도록 도와줍니다. 다음은 uvm_do와 uvm_do_with의 핵심 개념과 사용 방법입니다.1. uvm_douvm_do는 시퀀스 아이템을 생성하고, 시퀀서에 전달하여 실행하는 기본 매크로입니다. 주로 시퀀스의 body 메서드 내에서 사용됩니다.형식: `uvm_do(item)item: 생성하고 실행할 시퀀스 아이템예시:task body(); my_sequence_item req; `uvm_do(req); // 시퀀스 아이템 생성 및 실행endtask 2. uvm_do_withuvm_do_with는 시퀀스 아이템.. 2024. 9. 29. [UVM 1.1d] 3-1. UVM Components 3-1장: 재사용 가능한 검증 Component 개발UVM(Universal Verification Methodology)에서는 재사용 가능한 검증 Component를 효율적으로 개발하는 것이 중요합니다. 각 컴포넌트는 데이터 항목(Transaction), 드라이버(Driver), 시퀀서(Sequencer), 모니터(Monitor), 에이전트(Agent), 환경(Environment) 등의 요소로 구성되어 있습니다. 이들은 각각 고유한 역할과 목적을 가지며, 통합하여 강력한 검증 환경을 제공합니다.1. 데이터 항목 (Transaction)목적: 데이터 항목은 설계 검증에서 DUT(Device Under Test)로 전달되는 정보를 표현하는 객체입니다. 트랜잭션은 네트워크 패킷, 버스 트랜잭션, 명령어 등.. 2024. 9. 25. 이전 1 다음 반응형