반응형 RTL18 [UVM 1.1d] 5-3. Register Model (Register Abstraction Layer) 5.6 Predicting Values in the Register Model (레지스터 모델에서의 예측 값)UVM 레지스터 모델에서는 **예상 값(Predict)**을 추적하여 하드웨어와의 동기화를 관리합니다. 이는 레지스터에 대한 읽기/쓰기 작업이 실제 하드웨어와 일치하는지 확인할 수 있도록 도와줍니다.주요 기능:레지스터 값이 읽기/쓰기 작업 후 하드웨어와 일치하는지 확인.자동 동기화를 통해 소프트웨어 모델의 상태를 하드웨어 상태와 일치시킴.5.7 Backdoor Access and uvm_hdl_pathUVM에서 Backdoor Access는 설계의 레지스터에 접근할 때 버스를 거치지 않고 직접적으로 레지스터 값을 읽거나 쓸 수 있게 해주는 방법입니다. 이 방식은 시뮬레이션 성능을 높이는 데 유용하.. 2024. 10. 20. [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. 이전 1 2 3 다음 반응형