HOME > 사업부문 및 제품소개 > EDA사업부문

디자인 입력(Design Entry)

2007 년부터 개발된 Editors에는 등록자 지정을 도와주는 사용자 친화적인 등록 템플릿이 있습니다. 심플하고 복잡한 레지스터를 계층 적으로 생성하여 대형 SoC 설계를 상징적으로 표현하고 설계하고 연결 한 관리 가능한 하위 블록으로 나눌 수 있습니다. 이 방법론을 사용하면 대형 팀과 병렬로 디자인의 다른 부분을 작업할 수 있습니다.

Word, Excel 또는 OpenOffice ™에 대한 추가 기능을 사용하여 다음을 수행 할 수 있습니다:

  • 레지스터 필드 이름, 너비, 설명 및 액세스 유형 및 다양한 속성을 포함하여 레지스터를 지정하십시오.
  • IP-XACT, SystemRDL, YAML or RALF 가져오십시오.
  • 클로킹, 리셋, 특수 레지스터, 카운터, 인터럽트, 다중 도메인, 메모리 매핑 기술에 대한 RTL 등록 정보 정의.
  • 정적 값을 사용하여 자동 생성 된 코드를 매개 변수화하고 일반 연산자로 표현
  • Check for consistencies and errors
IDesign

매개 변수화(Parameterization)에 대한 광범위한 지원을 통해 다양한 매개 변수를 지정하고 사양에서 매크로로 사용할 수 있습니다. 매개 변수의 값은 정적이거나 표현식을 기반으로 할 수 있습니다. 문자열 표현식과 숫자 표현식 모두 허용되며 다음과 같은 일반적인 연산자(common operators) :

  • 산술 연산자: +, -, *, /, %, <<, >>, ()
  • 비교 연산자 / 관계 연산자: >,<, >=, <=, ==
  • 조건부 삼항 연산자: ?:
  • 연속/연결 연산자 (Concatenation): + (문자열 컨텍스트에서 오버로드 됨)

편집기 컴파일러(Editor Compiler)는 다음 데이터를 검사하여 구조별로 정확한 사양을 만드는 데 도움이 됩니다.

  • 사양에 대한 주소 계산 및 백에노테이션(back-annotation)
  • 삽입 레지스터 맵 - 내용 표 (주소, 기본값)
  • 겹침 (비트, 레지스터, RegGroup 및 블록)
  • 불완전한 데이터 또는 잘못된 데이터
  • 중복되거나 불법적 인 이름
  • 잘못된 액세스 또는 호환되지 않는 액세스

우리의 문서 생성기(Document Generator)는 HTML alt1 / alt2, .doc, .PDF, .xls, IP-XACT 또는 SystemRDL과 같은 파일 형식을 출력 할 수 있습니다.

두 가지 구성 요소가있는 매우 간단한 아키텍처를 기반으로 한 벨로시티 템플릿(velocity template)을 사용하여 출력을 사용자 정의 할 수도 있습니다

데이터 모델 및 템플릿 데이터 모델은 기본적으로 설계 스펙을 설명하는 입력이며 템플리트는 데이터 모델의 정적 출력 및 동적 요소를 설명하는 일반 텍스트 파일입니다. 이를 통해 고객이 필요로 하는 특수 코드 및 문서를 생성 할 수 있습니다.



코드 생성

황금 사양을 기반으로 다양한 SoC 팀이 GUI 또는 명령 줄을 통해 고성능 코드 생성기를 사용할 수 있습니다.

레지스터에 대해 생성된 RTL 코드(RTL Code) (VHDL, Verilog, SystemVerilog 또는 SystemC)는 사람이 쉽게 읽을 수 있는 주석을 달아 읽을 수 있습니다. 또한 RTL에는 버스 프로토콜 (AHB, APB, AXI, AXI-Lite 또는 독점 제품)에 특정한 버스 슬레이브 및 디코드 로직이 포함되어있어 애플리케이션 로직을 레지스터 버스에 즉시 연결할 수 있습니다.

IDesign

포괄적인 RTL 등록 정보(RTL Properties) 목록은 골든 사양에서 계층 적으로 정의할 수 있으며 생성된 RTL 코드에 반영될 수 있습니다. 따라서 디자인 요구 사항을 충족시키기 위해보다 맞춤화된 RTL이 가능합니다. 예를 들어 clock_edge = posedge, reset_type = async 또는 reset_level = high를 쉽게 지정할 수 있으며 생성된 RTL 코드는 이를 반영합니다.

RTL 속성은 쉐도우(Shadow), 인터럽트(Interrupt), 카운터(Counter), 별칭(Alias), 간접(Indirect), 잠금(Lock), FIFO 또는 트리거 버퍼(Trigger Buffer), 와이드(Wide), 다차원(Multi-Dimensional) 또는 RO-WO 페어(Pair)와 같은 특수 레지스터를 지정하는 데 사용할 수 있습니다.
생성된 RTL 코드는 다음을 지원합니다.

  • 외부 레지스터 - 생성된 RTL 외부에서 사용자가 구현 한 레지스터 또는 regGroup.
  • 파이프 라인 스테이지 - 특별한 타이밍 요구 사항을 충족시키기 위해
  • 특수 제어 신호 - 원격 신호의 쓰기 펄스, 1 펄스 쓰기, 0 펄스 쓰기, 읽기 펄스, 지우기 필드를 예로들 수 있습니다.
  • 저전력 출력 - 모든 클럭 에지에서 동일한 값을 할당하거나 쓰기 작업을 모두 제거 할 필요가 없습니다.

생성된 UVM 레지스터 모델은 사람이 읽을 수 있는 주석을 쉽게 읽을 수 있으며 레지스터 배열, 메모리, 간접 액세스 레지스터, FIFO 레지스터 및 범위, 제약 조건 모델 및 hdl_path를 포함합니다.

'coverage'라는 UVM 속성을 정의하면 특정 레지스터, reggroup, 메모리 또는 블록의 적용 범위를 제어할 수 있습니다. 이 속성은 계층 구조이므로 칩 수준에서 적용되면 자동으로 요소의 나머지 부분에 적용 범위가 설정됩니다. 다음과 같이 'coverage'를 설정할 수 있습니다:

  • 'a'- 주소 맵에서 읽거나 쓰는 주소에 대한 적용 코드.
  • 'b'- 레지스터에서 읽히거나 쓰인 비트에 대한 적용 코드.
  • 'f'- 필드 값에 대한 적용 범위 코드입니다.
  • 'on'- 위에서 언급 한 모든 유형에 대한 적용 코드
  • 'off'- 적용 범위 코드가 생성되지 않습니다.

'hdl_path'라는 속성을 사용하여 hdl_path를 추가할 수 있습니다. 이 속성은 값을 계층 경로로 설정합니다. hdl_path는 UVM 모델의 각 개별 요소가 요소의 RTL 모델에 연결되는 메커니즘입니다.

SystemRDL, CMSIS-SVD, IP-XACT, XML 및 소프트웨어 팀에서 필요로하는 C / C ++ 헤더 파일 및 API와 같은 기타 프로젝트 중요 파일을 생성 할 수 있습니다.

IDesign
JOIN OUR COMMUNITIES