본문 바로가기
Knowledge/Basic

IP-XACT란?

by VIR&US 2023. 7. 3.
반응형

 

IP-XACT는 전자 시스템 설계를 위한 XML 형식의 메타 데이터 표준입니다. 이 표준은 디자인 데이터디자인 환경 간의 상호 운용성을 단순화하여 IP 기반 설계를 쉽게 할 수 있도록 해줍니다. 이러한 파일은 중요한 정보, 예를 들어 최상위 포트, 논리적 인터페이스, 메모리 맵에 대한 자세한 설명과 같은 IP 모델링 세부 정보를 담고 있습니다.

 

IP-XACT의 주요 기능

최상위 포트 정보 문서화

IP-XACT는 최상위 포트 이름과 같은 핵심 모델링 세부 정보를 문서화하는 데 효과적입니다. 이 정보는 설계 프로세스에서 중요한 역할을 합니다. 최상위 포트는 IP의 입력 및 출력과 상호 작용하며, 시스템과의 인터페이스를 구성합니다.

 

다양한 뷰 포인터 제공

IP 이미지 내에서 다양한 뷰가 있는 위치에 대한 포인터를 제공함으로써, IP 사용자는 파일 이름이나 디렉토리 구조를 표준화할 필요 없이 어떤 뷰가 있고 어디에 있는지 쉽게 파악할 수 있습니다.

 

시스템 구성 및 연결 문서화

IP-XACT를 사용하여 모델링된 IP 시스템의 구성과 연결을 문서화하면, 설계 도구를 통해 자동화된 시스템 개발을 촉진할 수 있습니다.


IP-XACT의 Versions

IP-XACT 표준은 현재까지 여섯 가지 버전이 출시되었습니다. The Spirit Consortium에서 처음 네 가지 버전을 출시했고, IEEE에서 마지막 두 가지 버전을 출시했습니다. 초기 버전 1.0, 1.1, 1.2는 IP 블록의 레지스터 전송 레벨(RTL) 설명을 지원하는 것이 목표였습니다. 버전 1.4는 IP 블록의 트랜잭션 수준 모델(TLM) 설명을 확장하는 것을 목표로 했습니다. 최신 버전은 조건부, 계층적 구성 요소를 통한 확장된 매개변수 전파, 보기별 포트 맵, SystemVerilog 표현식 언어 등 많은 새로운 기능이 추가되었습니다.

 

Versions

  • IP-XACT 1.0, December 2004
  • IP-XACT 1.1, June 2005
  • IP-XACT 1.2, April 2006
  • IP-XACT 1.4, March 2008
  • IEEE Std. 1685-2009, December 2009
  • IEEE Std. 1685-2014, June 2014June 2014

IP-XACT를 통한 효율적인 IP 모델링

IP-XACT는 설계 데이터와 설계 환경 간의 상호 운용성을 단순화하여, IP 기반 설계를 쉽게 할 수 있도록 해주는 강력한 도구입니다. 최상위 포트 정보, 시스템 구성, 다양한 뷰 포인터와 같은 핵심 모델링 세부 정보를 문서화하는 데 있어 중요한 역할을 합니다. 여러 버전의 IP-XACT 표준은 이러한 기능을 지속적으로 향상시키고 있으며, 설계자들에게 더욱 효율적인 IP 모델링 방법을 제공합니다.


TGI(Tight Generator Interface)와 IP-XACT meta-data의 활용

TGI(Tight Generator Interface)

는 IP-XACT 환경에 맞는 인터페이스를 제공하여 IP-XACT 문서를 처리할 수 있습니다. IP-XACT meta-data 생성뿐만 아니라, 해당 meta-data를 통한 다양한 파일생성 또한 가능합니다.


*API provided by IP-XACT Design Environment.


IP-XACT meta-data 생성에 활용하는 데이터

IP-XACT meta-data의 생성에는 다양한 요소들이 포함되어 있습니다. component packaging, design assembly와 같은 다양한 형식의 데이터를 읽고 해당 데이터로부터 TGI 생성기로 IP-XACT meta-data를 생성합니다.

 

HDL(VHDL, Verilog)파일 또는 Table 형식

해당모듈 이름, 모델 파라미터, 포트, 파일 세트 및 버스 인터페이스를 생성합니다.

SystemRDL 파일 또는 Table 형식

레지스터를 생성하는데 활용됩니다.

구성 가능한 IP 구성의 구성 값

이들은 구성된 IP를 설명하는 (계층적) IP-XACT 컴포넌트를 생성하는데 활용됩니다.

HDL 파일 또는 Table 형식 

이들은 컴포넌트 인스턴스, 파라미터 값, 연결을 생성하는데 활용됩니다.

design partitioning information

이들은 설계 계층 구조 변환 또는 클램프, 레벨 시프터, 클록 도메인 크로저, 리셋 동기화기, 혼합 신호 연결 모듈, 혼합 추상화 트랜잭터 등의 셀에 대한 셀 삽입을 위한 메타 데이터 조작을 수행합니다.

 


IP-XACT meta-data로 부터 파일생성

TGI 생성기는 IP-XACT 메타데이터를 읽고 netlist등 특정 포맷의 콘텐츠를 생성합니다.

 

사람이 읽을 수 있는 datasheet 생성

DITA 또는 HTML 형식으로 렌더링되는 데이터시트를 생성할 수 있습니다.

소프트웨어 레지스터 추상화 레이어 및 메모리 맵 생성기

C/C++ 또는 ARM CMSIS SVD 형식으로 이를 생성합니다.

ESL(Electronic System Level) 레지스터 구현 및 상호 연결 생성기

SystemC 형식으로 생성합니다.

RTL 레지스터 구현 및 상호 연결 생성기

Verilog 또는 VHDL 형식으로 생성합니다.

UVM 레지스터 모델 생성기

SystemVerilog 형식으로 생성합니다.

파일 목록 및 컴파일 스크립트 생성기

Make, Tcl 또는 EDA 공급업체 도구 형식으로 생성합니다.


IP-XACT component descriptions 목적

IP delivery 문서

 

IP transfer

서로 다른 당사자 간의 IP 교환 활성화

IP-XACT는 IP 전송을 효과적으로 수행하는 데 도움이 됩니다. IP-XACT를 사용하면 서로 다른 팀이나 조직 간에 설계 데이터를 효율적으로 교환할 수 있습니다. 이를 통해 IP 재사용이 증가하고, 제품 개발 시간이 단축됩니다.

 

Component documentation

IP-XACT의 중요한 기능 중 하나는 데이터 시트의 형식을 machine-readable format으로 표준화하는 것입니다. 이를 통해 설계 팀은 자동화 된 도구를 사용하여 설계 데이터를 쉽게 관리할 수 있습니다.

 

Register testing

For SFR

레지스터 설명이 포함된 IP-XACT 컴포넌트는 레지스터 테스팅을 자동화하는 데 사용할 수 있습니다. 메타데이터는 레지스터 데이터 레이아웃뿐만 아니라, 비트에 1을 쓰면 쓰기 작업 후 해당 비트가 지워지는 등의 작업 효과도 설명합니다.

For RAL

레지스터 테스팅에는 주로 UVM 기반 접근법소프트웨어 기반 접근법이 사용됩니다. 이러한 접근법은 버스 인터페이스를 통해 레지스터 블록으로 레지스터 트랜잭션을 생성하고 레지스터 블록 구현이 IP-XACT 레지스터 설명과 일치하는지 테스트합니다.

For hierarchical components

계층적 컴포넌트의 경우, 설계 계층 구조를 탐색하고 컴포넌트 레지스터가 CPU 주소 공간에 매핑되는 글로벌 메모리 맵을 계산하여, System-on-Chip 레지스터 테스팅을 수행하는 UVM 레지스터 모델소프트웨어 메모리 맵을 생성할 수 있습니다.


Assembly

IP-XACT 설계 XML 문서 생성

IP assembly는 새로운 계층적 IP 블록, 서브시스템 또는 시스템을 생성하기 위해 IP-XACT 설계 XML 문서를 생성하는 수단을 정의합니다.

물리적 및 논리적 연결성

물리적 연결성(예: 구조적 RTL 또는 TLM 설명)과 논리적 연결성(예: 시스템 메모리 맵 설명)은 IP-XACT 설계 계층구조에서 생성될 수 있습니다. 논리적 연결 및 주소 지정을 설명하여 시스템온칩의 모든 주소 지정 가능한 마스터에 대한 시스템 메모리 맵을 구성할 수 있습니다. 물리적 연결은 컴포넌트 포트와 포트 맵을 추가하여 도입됩니다.

IP와의 연결성

시스템 메모리 맵, TLM 연결성 및 RTL 연결성은 IEEE 표준 1685-2014에 의해 활성화된 동일한 IP-XACT 설계 계층 구조에서 생성될 수 있습니다. 이를 통해 설계 데이터의 일관성이 유지되며, 설계 과정의 효율성이 향상됩니다.

728x90
반응형

'Knowledge > Basic' 카테고리의 다른 글

DRAM이란? (1) 기본동작 Read, Write, Refresh  (0) 2023.07.05
AND Gate  (0) 2023.07.05
Big Endian, Little Endian  (0) 2023.07.02
[SDC] create_clock  (0) 2023.07.01
ASIC?  (0) 2023.06.25