반응형 SystemVerilog16 [UVM 1.1d] 5-2. Register Model (Register Abstraction Layer) 5-2. Register Model 구축 (Building a Register Model)UVM의 Register Model은 하드웨어 설계에서 레지스터 맵을 추상화하여 검증 환경에서 관리하는 방법을 제공합니다. 이 모델은 레지스터와 필드의 객체를 생성하고, 이를 테스트벤치에서 사용할 수 있도록 조직화하는 데 중점을 둡니다.Register Model을 구성하는 주요 컴포넌트:uvm_reg_block: 레지스터 모델에서 최상위 블록으로, 레지스터와 서브 블록을 포함하는 컨테이너 역할을 합니다.uvm_reg: 실제 레지스터를 나타내는 객체로, 레지스터 필드를 포함합니다.uvm_reg_field: 레지스터 내에서 특정 필드를 나타내며, 여러 필드가 모여 하나의 레지스터를 구성합니다.Register Model .. 2024. 10. 15. [UVM 1.1d] 5-1. Register Model (Register Abstraction Layer) 5. Using the Register Layer Classes Register Layer는 UVM에서 설계의 레지스터 맵을 추상화하고, 쉽게 접근할 수 있는 방법을 제공합니다. 이를 통해 복잡한 설계의 레지스터 모델을 효율적으로 관리하고 테스트할 수 있습니다. 레지스터 모델은 하드웨어 레지스터에 대한 읽기/쓰기 작업을 추상화하고 자동화하여 검증 환경의 생산성을 높여줍니다.5.1 Register Model 개요Register Model은 하드웨어 설계에서 레지스터 맵을 테스트벤치 내에서 추상화하여 표현하는 모델입니다. 이를 사용하면 하드웨어 레지스터에 대한 복잡한 접근 작업을 간단하게 처리할 수 있습니다.목적레지스터 접근을 추상화하여 검증 코드와 레지스터 맵 간의 결합도를 낮춤.재사용성을 극대화하여 다양.. 2024. 10. 15. [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] 4-1. Reusable UVM Component 4장: Reusable Verification ComponentsUVM에서 **검증 컴포넌트(Verification Components)**는 설계 검증을 위한 중요한 요소입니다. 이 장에서는 검증 컴포넌트를 사용하는 방법, 구성하는 방법, 그리고 테스트에 맞춰 커스터마이징하는 방법을 설명합니다.4.1 검증 컴포넌트 사용 (Using a Verification Component)검증 컴포넌트는 트랜잭션 레벨 모델링(TLM)과 UVM 시퀀서를 사용하여 디자인을 검증하는 데 핵심적인 역할을 합니다. 컴포넌트는 Driver, Monitor, Sequencer 등의 구성 요소로 이루어져 있으며, 설계와 테스트 시나리오 간의 상호작용을 관리합니다.특징:모듈화 및 재사용 가능 구조디자인의 특정 기능을 독립적으로 검.. 2024. 9. 29. [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-2. UVM Components 1. UVM 설정 메커니즘 (UVM Configuration Mechanism)UVM에서는 검증 환경에서 **설정 메커니즘(Configuration Mechanism)**을 통해 여러 컴포넌트 간의 파라미터를 쉽게 전달하고 공유할 수 있습니다. 이는 테스트벤치의 유연성을 높이고, 다양한 검증 시나리오를 구현하는 데 도움을 줍니다. UVM에서는 uvm_config_db와 uvm_resource_db라는 두 가지 주요 설정 메커니즘을 제공합니다.uvm_config_dbuvm_config_db는 검증 환경의 트리 구조 내에서 데이터를 설정하고 검색하는 데 사용됩니다. 설정된 값은 트리 하위 계층에 있는 모든 컴포넌트에서 접근할 수 있습니다. 특징:설정 데이터의 계층적 전달: 상위 컴포넌트에서 설정된 값이 하위.. 2024. 9. 26. 이전 1 2 3 다음 반응형