INDAGO (Cadence Design Systems) 작성일 : 2022.09.29 1 1 요약 ............................................................................................................................... 3 2 주요 기능...................................................................................................................... 4 3 2.1 RTL – WAVE DEBUG.......................................................................................................................... 4 2.2 2 개의 파형 비교 ................................................................................................................................ 5 2.3 상태 변화 값 확인 (State, REG) .................................................................................................. 5 2.4 UVM VIWER .......................................................................................................................................... 6 다운로드........................................................................................................................ 7 3.1 DOWNLOADS.CADENCE.COM ..................................................................................................... 7 3.2 IDEC FTP 서버 ..................................................................................................................................... 7 4 설치 방법...................................................................................................................... 8 5 환경 설정.................................................................................................................... 11 6 EXAMPLE.................................................................................................................... 12 2 1 요약 Cadence Indago 는 시뮬레이션 디버깅 툴 입니다. (Debug Analyzer) 시뮬레이션 파형과 소스코드를 통해 설계 디자인을 분석할 수 있는 기능을 제공합니다. 디지털 환경에서 주로 사용되며 Cadence Simulation(Xcelium) 툴과 연동하여 사용할 수 있습니다. Testbench 에 monitor 구문을 넣거나 UVM 을 통해 검증을 진행 할 수 있으나 indago 를 활용하면 보다 빠르고 효율적인 디버깅을 진행할 수 있습니다. synopsys 의 Verdi 가 비슷한 기능을 제공하고 있으며 indago 는 2015 년도에 Announce 되었습니다. indago 의 주요 기능은 아래와 같습니다. Test bench Debug RTL-and Gate-Level Debug Emulation and Prototyping Debug Mixed Power Embedded Software(ESW) Debug (주의) Tools built on RedHat 7 will not run on RedHat 6 or CentOS 6 machines. 3 2 주요 기능 2.1 RTL – WAVE DEBUG Wave 파형을 통해 해당 구간의 모듈 위치, 소스코드를 Trace 할 수 있습니다. 문제가 되는 지점을 바로 확인 할 수 있으므로 코드를 직접 수정하거나 연결 상태에 오류가 있는지 확인이 가능합니다. Break point 를 지정하고 Step 별로 Trace 를 할 수 있으므로 손 쉽게 디버깅을 할 수 있습니다. wave 파형을 클릭하면 해당 구간의 RTL 소스로 자동 이동되며 Schematic 의 wire 또는 port 위치가 Highlight 됩니다. 4 2.2 2 개의 파형 비교 2 개의 파형을 비교하는 대표적인 경우는 모델링된 디자인과의 일치 여부를 점검하는 경우 또는 합성 전 후, 레이아웃 이후의 디자인에 대한 동일성을 점검할 때 진행합니다. 기본적으로 합성 전후의 동작의 일치 여부는 Synopsys 의 Formality 를 통해 동일성(Equivalence check) 점검을 진행하지만 Delay 를 포함하여 Simulation 을 진행할 경우 indago 를 활용할 수 있습니다. 간혹 합성 후에 Clock gating 으로 인한 Delay 문제등이 발생할 수 있고 합성과정에서 일부 모듈이 원하지 않는 형태로 구현 되는 경우가 있으므로 파형 비교 기능을 통해서 문제가 되는 구간을 검출 할 수 있습니다. 2.3 상태 변화 값 확인 (STATE, REG) State machine 또는 Register 값의 변화를 실시간으로 Trace 하여 확인할 수 있습니다. 원하는 동작을 하지 않는 경우 Break Point 를 설정하여 해당 구간에서의 변화 값을 실시간으로 확인할 수 있습니다. 5 2.4 UVM VIWER Universal Verification Methodology (UVM) 은 하드웨어 검증을 위한 프레임워크로 하드웨어 검증환경을 제공하고 있습니다. INDAGO 를 통해 UVM 의 진행과정을 보다 직관적으로 확인 가능합니다. 6 3 다운로드 3.1 DOWNLOADS.CADENCE.COM 최신 버전의 툴은 Cadence 홈페이지를 통해 다운로드가 가능합니다. https://downloads.cadence.com/ 접속 정보는 IDEC EDA 담당자에게 문의 (이경옥: kyungoklee@idec.or.kr) 3.2 IDEC FTP 서버 ftp 접속 주소: cad.idec.or.kr 위치 : CADENCE/INDAGO IDEC FTP 서버의 자료는 Cadence 홈페이지에서 다운로드 후 재 업로드 하는 것이므로 최신 버전이 없을 수 있습니다. 접속 정보 및 버전은 IDEC EDA 담당자에게 문의 (이경옥: kyungoklee@idec.or.kr) 7 4 설치 방법 Cadence 툴은 설치 프로그램(IScape)이 별도로 필요합니다. 설치 프로그램을 별도로 다운로드 받아 실행해야 하지만 최근에는 툴에 IScape 를 같이 포함하여 제공하고 있습니다. 본 가이드에서는 툴에 포함 된 IScape 를 통해 INDAGO 를 설치하는 방법을 소개 합니다. IScape 설치 > INDAGO 설치 1) 압축풀기 2) Linux > tar xvf INDAGOxx.xx.tar 3) Linux > cd INDAGO/CDROM1 4) Linux > ./SETUP.SH 8 9 10 5 환경 설정 INDAGO 는 시뮬레이션 디버깅 툴로 단독으로 동작하지 않습니다. CADENCE 시뮬레이션 툴인 XCELIUM 이 설치되어 있어야 하며 환경 변수에 아래와 같이 추가되어 있어야 합니다. setenv XCELIUM /home/ytkim/cadence/installs/XCELIUM2009 setenv INDAGO_ROOT /tools/CADENCE/INDAGO/INDAGO2207 setenv LD_LIBRARY_PATH ${XCELIUM}/tools/lib:/usr/lib:/usr/X11R6/lib:/usr/local/lib:${XCELIUM}/tools.lnx86/includes setenv LM_LICENSE_FILE 5280@143.123.456.789 set path = ($path $XCELIUM/tools/bin $INDAGO_ROOT/tools/bin ) 11 6 EXAMPLE Indago 는 Xcelium 을 통해 LWD 라이브러리를 생성하고 Simulator 의 waveform 과 log 를 가져와 실행하도록 되어 있습니다. Xceilum 실행시 해당 파일들이 생성되도록 옵션 설정을 해두어야 합니다. indago 는 4 가지 모드를 통해 툴을 실행할 수 있으며 실행 명령어와 기능은 다음과 같습니다. 12 아래 예제 파일은 indago 설치 폴더에 포함되어 있습니다. 예제파일 위치 ~/INDAGO/tools/indago/scripting/examples/APBUART_design 폴더 이동 /example/design/scripts 스크립트 실행 Linux > ./run.sh INDAGO 툴 실행 Linux> indago -lwd ./xcelium.d/ -db SmartLogWaves.db/ xcelium.d 와 SmartLogWaves.db 는 Simulation 툴 Xceilum 을 통해 생성된 파일입니다. 13 [초기화면] 14 15 16 17 18