IEEE-1364-2001 compliant Verilog simulator with Programming Language Interface (PLI) supports language extensions

Verilog Simulator

Silos™는 사용하기 쉬운 IEEE-1364-2001 규격의 Verilog 시뮬레이터로서, 업계를 선도하는 수많은 IC 디자이너가 사용하고 있습니다. 1986년 이래 업계 표준으로서, 강력한 대화형 디버깅 기능으로 FPGA, PLD, ASIC, 커스텀 디지털 디자인을 위해 오늘날 가장 생산적인 디자인 환경을 제공합니다.

주요 특징

  • IEEE-1364-2001 규격의 Verilog 시뮬레이터로서. 프로그래밍 언어 인터페이스(Programming Language Interface, 이하 PLI)를 이용하여 언어 확장을 지원
  • 그래픽적인 데이터 애널라이저(Data Analyzer), 트레이스 모드(trace mode), 계층 탐색기, 대화형 소스 코드 에디터를 갖춘 생산적인 디버깅 환경
  • 500개 이상의 체크 룰로 포괄적인 구문, 의미 및 디자인 룰 체크를 생성하는 자체 린트(lint) 툴. 시뮬레이션과 합성의 불일치, 레이스(race) 조건, 클럭 영역의 동기화 등의 검사 가능
  • 통합된 코드 범위로 포괄적인 검증을 보장
  • RTCA/DO-254, “Design Assurance Guidance for Airborne Electronic Hardware”, 부록 B에 대한 적합성 테스트를 지원
  • 실바코의 강력한 암호화는 고객 및 서드-파티의 소중한 지적 재산권을 보호하기 위해 이용가능

기능

  • 생성문(generate statement)과 와일드카드(wildcard)를 포함하는 IEEE 1364-2001 규격의 Verilog
  • 스위치, 게이트, 행동 레벨에서 동작하는 멀티-레벨 HDL 시뮬레이터
  • 포괄적인 프로젝트 관리자(Project Manager)는 효율적인 멀티-프로젝트 설정을 위해 기본 설정, 설정, 디렉토리, 옵션을 하나의 파일로 저장
  • 모두 저장(Save All) 기능으로 전체 시뮬레이션 히스토리 확인 가능
  • 저장 및 복구(Save and Restore) 기능으로 시뮬레이터의 전체 상황을 하나의 파일에 저장하여, 저장 시점에서 시뮬레이션을 재시작하는데 사용 가능
  • IEEE 1364 PLI로 설계자와 FPGA 벤더는 동적으로 연결된 라이브러리(Dynamically Linked Libraries, 이하 DLL)처럼 Verilog 확장자를 생성 가능
데이터 애널라이저에 Verilog 표현식을 드래그 앤 드롭하여, 파형으로 표현할 수 있습니다.
데이터 애널라이저는 트레이스 시그널 윈도우와 소스 코드 윈도우을 이용하여 불분명한 값을 추적합니다.

 

사용의 편이성

  • 사용하기 쉬운 GUI는 초보자와 전문가를 위한 생산적인 환경을 제공 — 미국에서 많이 이용하는 7개 Verilog 교과서에서 Silos를 채택하여, 주요 대학의 VLSI 설계 과정에 사용
  • 디자인의 임의 변수를 빠르게 캡처하여 표현하기 위하여, 계층 탐색기는 "드래그 앤 드롭"으로 계층형 디자인의 익숙한 화면을 제공
  • Silos 대화형 환경으로 표현식, 변수, 모듈, 신호, 벡터, 레지스터에 모두 실시간으로 액세스하여 분석 가능
  • 신호 선택, 시간 척도(time-scale) 설정, 버스 래딕스(bus radix), 상태 윈도우, 타이밍 마커(timing marker), 북마크, 버스 정의에 대해 일관적인 대화형 방식
  • 대화형 소스 코드 에디터(Source Code Editor)는 중지, 시작, 중단점, 데이터 팁(Data Tip)에 필요한 행 번호를 표시하여, 변수값, 표현식, 코드 범위 정보를 표현

생산성 – 대화형 시뮬레이션 환경

  • 수십만에 이르는 게이트를 대화형으로 디버깅하기 위하여, 고성능 시뮬레이션 엔진은 Verilog 컴파일보다 빨리 시뮬레이션 결과를 산출 — 컴파일 시간 불필요
  • 대화형 인터프리트 Verilog 환경은 HDL 소스 편집, 증가형 중단점, 단위/시한 시뮬레이션, 실시간 확인, 에러 검출 등의 설정을 위한 일단의 멀티-태스킹 기능 제공
  • 멀티-윈도우 데이터 애널라이저는 대화형 "드래그 앤 드롭" 캡처와 아날로그/디지털 파형을 위한 신호/표현식의 표시로 확대/축소, 타이밍 마커를 제어
  • 트레이스 모드는 회로 계층의 전체 레벨을 통과하는 어떠한 신호에 대해서도 모든 팬-인(fan-in) 접속을 즉시 그래픽적으로 추적
  • 와치 윈도우(Watch Window)는 한 단계씩 특정 신호/변수의 상태값을 나타내거나 설정 - 편리하게 “드래그 앤 드롭”으로 모두 설정
소스 윈도우의 데이터 팁은 데이터 애널라이저의 T1 마커로 부각된 표현식의 값, 범위, 시간을 보여줍니다.
아날로그 파형을 선형 포맷으로 낱낱이 보여주거나, 계단형 포맷으로 보여줄 수 있습니다.

 

구문 검사 기능

  • 500개 이상의 디자인 룰을 검사
  • 레이스 조건과 클럭 도메인 동기화를 검사
  • 합성 능력(synthesizability)을 검사하여, 잠재적인 합성(synthesis)과 시뮬레이션의 불일치를 보고
  • 동기식 하드웨어에 합성할 추정 레지스터(inferred register), 래치(latch), 상태-머신(state-machine), 기타 시퀀스(sequence) 엘리먼트의 세부 리포트로 게이트 사용을 최적화
  • 유한 상태 머신(Finite State Machine, 이하 FSM)을 추출하여, 중복이나 도달할 수 없는 상태를 분석
  • 테스트할 수 없는 회로를 확연히 구별하기 위하여, 디자인의 테스트 가능성(design-for-testability)을 제공
  • 포괄적인 리포트 필터링 시스템은 문제를 분리 해결하기 위하여 정밀한 정보를 전달

미 연방 항공국 표준 DO254 테스트 지원

RTCA/DO-254, DESIGN ASSURANCE GUIDANCE FOR AIRBORNE ELECTRONIC HARDWARE는 항공 시스템에서 복잡한 전자 장비의 설계를 검증하여 전자 항공 시스템의 안전을 보장하는 수단으로서, 미 연방 항공국(Federal Aviation Administration: FAA)이 인증하는 표준입니다.

Silos의 코드 범위 보고 기능은 부록 B의 “Elemental Analysis”에 맞게 설정된 레벨 A와 B에 대해 RTCA/DO- 254, “Design Assurance Guidance for Airborne Electronic Hardware”에 대한 적합성 테스트를 지원합니다.

Silos는 “행/문장 범위”, “연산자/식 범위” 및 “분기 범위”를 포함하는 코드 범위 보고서를 생성합니다. 보고서는 텍스트 파일로 추출할 수 있으며, 또한 Silos GUI를 이용하여 대화형으로 시험할 수 있습니다. 독립적인 실행되는 여러 시뮬레이션에서 코드 범위 데이터를 하나의 보고서로 합칠 수 있습니다.

사용자는 특정 행과 행동 소스 코드의 블록에 대한 범위 보고를 활성화/비활성화할 수 있습니다. 불필요한 time 0 이벤트는 검사 결과에서 자동으로 삭제됩니다.

Silos Inputs/Outputs

Rev 042513_23