'SOC' 태그의 글 목록
본문 바로가기
반응형

SOC9

[UVM 1.1d] 6-3. Advanced UVM Topics (UVM CLI) 6.5.3 Generating the Item or Sequence in Advance사전에 아이템 또는 시퀀스를 생성하기는 UVM에서 시퀀스가 실행되기 전에 필요한 아이템이나 하위 시퀀스를 미리 준비하는 방식을 설명합니다. 이는 복잡한 프로토콜 계층을 Layering하거나, 복수의 시퀀스 간 동기화가 필요한 상황에서 유용합니다.주요 개념사전 생성의 필요성: 아이템이나 시퀀스를 미리 생성하면 시퀀스 실행 중에 발생할 수 있는 지연 문제를 최소화하고, 예측 가능성을 높일 수 있습니다.효율성 향상: 시퀀스가 실행되기 전에 필요한 데이터를 준비하여 시퀀스의 실행 속도를 향상시킬 수 있습니다.구현 예시class advanced_sequence extends uvm_sequence#(uvm_sequence_ite.. 2024. 11. 19.
[UVM 1.1d] 6-2. Advanced UVM Topics (SEQ_LIB, Layering) 6.4 Sequence Library (seq_lib)Sequence Library는 다양한 시퀀스를 수집하여 검증 환경에서 재사용 가능하게 모아두는 시퀀스 집합체입니다. seq_lib는 검증 환경에서 특정 프로토콜이나 인터페이스를 검증하기 위한 시퀀스를 조직적으로 관리하고, 각 시퀀스를 필요에 따라 호출하여 사용할 수 있도록 합니다.Sequence Library의 주요 기능시퀀스 관리: 자주 사용하는 시퀀스를 미리 라이브러리로 등록하여 관리하고, 각 시퀀스를 쉽게 호출해 사용할 수 있습니다.재사용성 향상: 다양한 시퀀스를 라이브러리 형태로 저장하여 검증 환경 내에서 일관성 있게 사용할 수 있습니다.유연성 제공: 검증 요구사항에 따라 시퀀스를 추가하거나 교체할 수 있어, 검증 환경의 유연성이 높아집니다... 2024. 11. 13.
[UVM 1.1d] 6-1. Advanced UVM Topics (Factory, Callback) 6.1 UVM Factory 개요UVM Factory는 UVM 환경에서 객체와 컴포넌트를 생성하고 관리하는 중앙 관리 시스템으로, 검증 환경에서 유연한 객체 생성과 재사용성을 보장합니다. 이를 통해 객체의 타입을 동적으로 설정하고, 특정 객체나 컴포넌트를 대체할 수 있는 Override 기능을 제공합니다.UVM Factory의 주요 기능:동적 객체 생성: 코드 내에서 객체의 타입을 고정하지 않고 필요할 때마다 원하는 타입으로 생성할 수 있습니다.Override 메커니즘: 기존 객체를 새 객체로 대체할 수 있으며, 이를 통해 테스트 환경의 구성을 유연하게 변경할 수 있습니다.객체 재사용성: 동일한 객체를 여러 테스트에서 사용하여 코드의 중복을 줄이고, 유지 보수성을 높입니다.객체 생성 예시class my_.. 2024. 11. 12.
[UVM 1.1d] 5-4. Register Model (Register Abstraction Layer) 5.9 Register Sequences (레지스터 시퀀스)UVM에서 Register Sequence는 레지스터의 값을 읽거나 쓰기 위한 시퀀스입니다. 레지스터 접근 작업을 관리하며, 이를 통해 레지스터 값을 쉽게 제어할 수 있습니다.1. Register Sequence와 Virtual Sequence 제어Virtual Sequence는 여러 하위 시퀀서를 한꺼번에 제어하는 시퀀스입니다. 레지스터 시퀀스는 이러한 Virtual Sequence에 포함될 수 있으며, 하위 시퀀서를 통해 레지스터 읽기/쓰기 작업을 관리할 수 있습니다. 이를 위해, p_sequencer를 사용하여 가상 시퀀서에서 하위 시퀀서를 참조하고, 이를 통해 레지스터 시퀀스를 실행합니다.Register Sequence에서 Virtual .. 2024. 10. 20.
[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.
반응형