Libero SoC 시뮬레이션
라이브러리 설정 지침
소개
(질문하기)
이 문서의 목적은 Libero SoC 프로젝트를 입력으로 사용하여 시뮬레이션 환경을 설정하는 절차를 설명하는 것입니다. 이 문서는 Libero SoC v11.9 및 최신 소프트웨어 릴리스와 함께 사용하기 위해 제공되는 사전 컴파일된 라이브러리에 해당합니다. 제공된 라이브러리는 Verilog용으로 컴파일되었습니다. VHDL 사용자에게는 혼합 모드 시뮬레이션을 허용하는 라이선스가 필요합니다.
컴파일된 시뮬레이션 라이브러리는 다음 도구에 사용할 수 있습니다.
- 알덱 액티브-HDL
- 알덱 리비에라-PRO
- Cadence Incisive Enterprise 및 Xcelium
- 지멘스 퀘스타심
- 시놉시스 VCS
다른 시뮬레이터에 대한 라이브러리를 요청하려면 문의하세요. 마이크로칩 기술 지원.
Libero SoC 통합
(질문하기)
Libero SoC는 run.do를 생성하여 ModelSim ME를 사용한 시뮬레이션을 지원합니다. file. 이것 file ModelSim ME/ModelSim Pro ME에서 시뮬레이션을 설정하고 실행하는 데 사용됩니다. 다른 시뮬레이션 도구를 사용하려면 ModelSim ME/ModelSim Pro ME run.do를 생성하고 Tcl 스크립트를 수정하면 됩니다. file 시뮬레이터와 호환되는 명령을 사용합니다.
1.1 리베로 SoC Tcl File 세대 (질문하기)
Libero SoC에서 설계를 생성하고 생성한 후 모든 설계 단계(presynth, postynth 및 post-layout)에서 ModelSim ME/ModelSim Pro ME 시뮬레이션을 시작합니다. 이 단계에서는 run.do를 생성합니다. file 각 설계 단계의 ModelSim ME/ModelSim Pro ME용.
중요한: 각 시뮬레이션 실행을 시작한 후 자동 생성된 run.do의 이름을 바꿉니다. file Libero SoC가 이를 덮어쓰는 것을 방지하기 위해 시뮬레이션 디렉토리 아래에 file. 예를 들어amp르, files는 presynth_run.do, postynth_run.do 및 postlayout_run.do로 이름을 바꿀 수 있습니다.
Active-HDL 및 Riviera-Pro를 위한 Aldec 설정(질문하기)
더 런.도 file ModelSim ME/ModelSim Pro ME에서 사용되는 항목은 수정되어 Aldec 시뮬레이터를 사용한 시뮬레이션에 사용될 수 있습니다.
2.1 환경변수(질문하기)
환경 변수를 라이선스로 설정하세요. file 위치:
LM_LICENSE_FILE: 라이센스 서버에 대한 포인터를 포함해야 합니다.
2.2 컴파일된 라이브러리 다운로드(질문하기)
Microchip에서 Aldec Active-HDL 및 Aldec Riviera-PRO용 라이브러리를 다운로드하세요. web대지.
2.3 Aldec 시뮬레이션을 위한 run.do 변환(질문하기)
더 런.도 fileActive-HDL 및 Riviera-Pro 도구를 사용한 시뮬레이션을 위해 Libero SoC에서 생성된 s는 단일 변경으로 Active-HDL 및 Riviera-Pro를 사용한 시뮬레이션에 사용할 수 있습니다. 다음 표에는 ModelSim run.do에서 수정할 Aldec와 동등한 명령이 나열되어 있습니다. file.
표 2-1. Aldec 등가 명령
모델심 | 활성 HDL |
블로그 | 사과하다 |
vcom | 에이컴 |
vlib | 알리브 |
vsim | 아심 |
v맵 | 아마프 |
다음은ampAldec 시뮬레이터와 관련된 le run.do입니다.
- 현재 작업 디렉터리의 위치를 설정합니다.
dsn 설정 - 작업 라이브러리 이름을 설정하고 해당 위치를 매핑한 다음 Microchip FPGA 제품군의 위치를 매핑합니다.
미리 컴파일된 라이브러리(예:ample, SmartFusion2)에서 디자인을 실행하고 있습니다.
알리브 프레신스
아마프 프레신스 프레신스
amap SmartFusion2 - 필요한 모든 HDL을 컴파일 file필요한 라이브러리와 함께 디자인에 사용됩니다.
alog –work presynth temp.v(Verilog용)
alog -presynth testbench.v 작업
acom –work presynth temp.vhd(Vhdl용)
acom –work presynth testbench.vhd - 디자인을 시뮬레이션하십시오.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
10us 실행
2.4 알려진 문제(질문하기)
이 섹션에는 알려진 문제와 제한 사항이 나열되어 있습니다.
- Riviera-PRO를 사용하여 컴파일된 라이브러리는 플랫폼별로 다릅니다. 즉, 64비트 라이브러리는 32비트 플랫폼에서 실행될 수 없으며 그 반대의 경우도 마찬가지입니다.
- SERDES/MDDR/FDDR이 포함된 디자인의 경우 run.do에서 다음 옵션을 사용하십시오. files 설계를 컴파일한 후 시뮬레이션을 실행하는 동안:
– 활성-HDL: asim –o2
– Riviera-PRO: asim –O2(합성 전 및 레이아웃 후 시뮬레이션용) 및 asim –O5(레이아웃 후 시뮬레이션용)
Active-HDL 및 Riviera-Pro에 대한 Aldec 설정에는 다음과 같은 보류 중인 SAR이 있습니다. 자세한 내용은 다음 연락처로 문의하세요. 마이크로칩 기술 지원. - SAR 49908 – Active-HDL: 수학 블록 시뮬레이션에 대한 VHDL 오류
- SAR 50627 – Riviera-PRO 2013.02: SERDES 설계에 대한 시뮬레이션 오류
- SAR 50461 – Riviera-PRO: 시뮬레이션의 asim -O2/-O5 옵션
케이던스 인시시브 설정(질문하기)
스크립트를 작성해야 합니다. file ModelSim ME/ModelSim Pro ME run.do와 유사하게 실행
케이던스 인시시브 시뮬레이터. 다음 단계에 따라 스크립트를 작성하십시오. file NCSim의 경우 또는 스크립트를 사용하십시오. file
ModelSim ME/ModelSim Pro ME run.do를 변환하기 위해 제공됩니다. file구성에 들어갑니다 files
NCSim을 사용하여 시뮬레이션을 실행하는 데 필요합니다.
중요: 케이던스 Incisive Enterprise의 새 버전 출시를 중단했습니다.
시뮬레이터를 개발하고 Xcelium 시뮬레이터 지원을 시작했습니다.
3.1 환경변수(질문하기)
Cadence Incisive 시뮬레이터를 실행하려면 다음 환경 변수를 구성하십시오.
- LM_LICENSE_FILE: 라이센스에 대한 포인터를 포함해야 합니다. file.
- cds_root: Cadence Incisive 설치의 홈 디렉터리 위치를 가리켜야 합니다.
- PATH: cds_root가 가리키는 도구 디렉터리 아래의 bin 위치를 가리켜야 합니다. 즉,
$cds_root/tools/bin/64bit(64비트 시스템의 경우 및 $cds_root/tools/bin 32비트 시스템의 경우).
64비트와 32비트 운영 체제 간에 전환하는 경우 시뮬레이션 환경을 설정하는 세 가지 방법이 있습니다.
사례 1: PATH 변수
다음 명령을 실행하세요.
64비트 시스템의 경우 경로 = (install_dir/tools/bin/64bit $path)를 설정하고
32비트 시스템의 경우 경로 설정 = (install_dir/tools/bin $path)
사례 2: -64bit 명령줄 옵션 사용
64비트 실행 파일을 호출하려면 명령줄에서 -64bit 옵션을 지정하십시오.
사례 3: INCA_64BIT 또는 CDS_AUTO_64BIT 환경 변수 설정
INCA_64BIT 변수는 부울로 처리됩니다. 이 변수를 임의의 값이나 null 문자열로 설정할 수 있습니다.
setenv INCA_64BIT
중요: INCA_64BIT 환경 변수는 IC 도구와 같은 다른 Cadence 도구에 영향을 미치지 않습니다. 그러나 Incisive 도구의 경우 INCA_64BIT 변수는 CDS_AUTO_64BIT 환경 변수의 설정을 재정의합니다. INCA_64BIT 환경 변수가 설정된 경우 모든 Incisive 도구는 64비트 모드에서 실행됩니다. setenv CDS_AUTO_64BIT 포함:INCA
중요: 문자열 INCA는 대문자여야 합니다. 모든 실행 파일은 32비트 모드 또는 64비트 모드에서 실행되어야 합니다. 다음과 같이 하나의 실행 파일을 포함하도록 변수를 설정하지 마십시오.
setenv CDS_AUTO_64BIT 포함:ncelab
IC 도구와 같은 다른 Cadence 도구도 CDS_AUTO_64BIT 환경 변수를 사용하여 32비트 또는 64비트 실행 파일의 선택을 제어합니다. 다음 표는 CDS_AUTO_64BIT 변수를 설정하여 모든 모드에서 Incisive 도구 및 IC 도구를 실행하는 방법을 보여줍니다.
표 3-1. CDS_AUTO_64BIT 변수
CDS_AUTO_64BIT 변수 | 예리한 도구 | IC 도구 |
setenv CDS_AUTO_64BIT 모두 | 64비트 | 64비트 |
setenv CDS_AUTO_64BIT 없음 | 32비트 | 32비트 |
setenv CDS_AUTO_64BIT 제외:ic_바이너리 | 64비트 | 32비트 |
setenv CDS_AUTO_64BIT 제외:INCA | 32비트 | 64비트 |
중요한: 모든 Incisive 도구는 32비트 모드 또는 64비트 모드에서 실행되어야 합니다. 다음과 같이 EXCLUDE를 사용하여 특정 실행 파일을 제외하지 마십시오. setenv CDS_AUTO_64BIT EXCLUDE:ncelab
Incisive 도구를 제외하도록 CDS_AUTO_64BIT 변수를 설정하면(setenv CDS_AUTO_64BIT EXCLUDE:INCA) 모든 Incisive 도구는 32비트 모드에서 실행됩니다. 그러나 -64bit 명령줄 옵션은 환경 변수를 재정의합니다.
다음 구성 file데이터를 관리하고 시뮬레이션 도구 및 유틸리티의 작동을 제어하는 데 도움이 됩니다.
- 도서관 매핑 file (cds.lib) - 디자인 위치의 논리적 이름을 정의합니다.
- 라이브러리를 만들고 이를 물리적 디렉터리 이름과 연결합니다.
- 변수 file (hdl.var) - 시뮬레이션 도구 및 유틸리티의 동작에 영향을 미치는 변수를 정의합니다.
3.2 컴파일된 라이브러리 다운로드(질문하기)
Microsemi의 Cadence Incisive 라이브러리를 다운로드하세요. web대지.
3.3 NCSim 스크립트 생성 File (질문하기)
run.do의 복사본을 만든 후 files, NCSim을 사용하여 시뮬레이션을 실행하려면 다음 단계를 수행하십시오.
- cds.lib 만들기 file 접근 가능한 라이브러리와 그 위치를 정의합니다. 그만큼 file 라이브러리 논리적 이름을 물리적 디렉터리 경로에 매핑하는 명령문이 포함되어 있습니다. 예를 들어amp파일, presynth 시뮬레이션을 실행하는 경우 cds.lib file 다음 코드 블록과 같이 작성됩니다.
프리신스 정의 ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB 정의
DEFINE smartfusion2 - hdl.var 생성 file, 선택적 구성 file 디자인 환경 구성 방법을 결정하는 구성 변수가 포함되어 있습니다. 다음 변수 file다음이 포함됩니다.
– 컴파일러가 컴파일된 개체 및 기타 파생 데이터를 저장하는 작업 라이브러리를 지정하는 데 사용되는 변수입니다.
– Verilog의 경우 변수(LIB_MAP, VIEW_MAP, WORK) 라이브러리를 지정하는 데 사용됩니다. view정교자가 인스턴스를 해결할 때 검색합니다.
– 컴파일러, 정교자, 시뮬레이터 명령줄 옵션 및 인수를 정의할 수 있는 변수입니다.
presynth 시뮬레이션의 경우 examp위에 표시된 대로 세 개의 RTL이 있다고 가정해 보겠습니다. files: a.v, b.v 및 testbench.v. 이는 각각 presynth, COREAHBLITE_LIB 및 presynth 라이브러리로 컴파일되어야 합니다. hdl.var file 다음 코드 블록과 같이 작성할 수 있습니다.
DEFINE WORK 프리신스
DEFINE PROJECT_DIR <위치 files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => 프리신스 ) - 디자인을 컴파일하다 filencvlog 옵션을 사용하고 있습니다.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab을 사용하여 디자인을 정교하게 만듭니다. 정교자는 디자인의 인스턴스화 및 구성 정보를 기반으로 디자인 계층 구조를 구성하고 신호 연결을 설정하며 디자인의 모든 개체에 대한 초기 값을 계산합니다. 정교한 설계 계층 구조는 시뮬레이터가 시뮬레이션을 실행하는 데 사용하는 설계를 표현하는 시뮬레이션 스냅샷에 저장됩니다.
ncelab –메시지 –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
access +rwc –status worklib.:module
포스트 레이아웃 시뮬레이션 중 정교화
레이아웃 후 시뮬레이션의 경우 먼저 SDF file ncsdfc 명령을 사용하여 자세히 설명하기 전에 컴파일해야 합니다.
ncsdfcfile이름>.sdf –출력 <file이름>.sdf.X
자세히 설명하는 동안 다음 코드 블록에 표시된 대로 -autosdf 옵션을 사용하여 컴파일된 SDF 출력을 사용합니다.
ncelab -autosdf –메시지 –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file 다음 코드 블록에 표시된 것과 같아야 합니다.
COMPILED_SDF_FILE = “<컴파일된 SDF의 위치 file>” - ncsim을 사용하여 시뮬레이션합니다. 정교화 후에는 시뮬레이션을 위해 ncsim에 의해 로드되는 시뮬레이션 스냅샷이 생성됩니다. 배치 모드 또는 GUI 모드에서 실행할 수 있습니다.
ncsim –메시지 –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log –
errormax 15 –status worklib.:모듈
중요한: 컴파일, 정교화, 시뮬레이션의 위 세 단계는 모두 쉘 스크립트에 포함될 수 있습니다. file 명령줄에서 제공됩니다. 이러한 세 단계를 사용하는 대신 다음 코드 블록에 표시된 대로 ncverilog 또는 irun 옵션을 사용하여 한 단계로 설계를 시뮬레이션할 수 있습니다.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <모든 RTL
file디자인에 사용된 것>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
디자인에 사용된 것>
3.3.1 알려진 문제(질문하기)
테스트벤치 해결 방법
사용자가 생성한 테스트벤치 또는 Libero SoC가 생성한 기본 테스트벤치에서 클록 주파수를 지정하기 위해 다음 명령문을 사용하면 NCSim에서 작동하지 않습니다.
항상 @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
시뮬레이션을 실행하려면 다음과 같이 수정하세요.
항상 #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
중요: 컴파일됨 NCSim용 라이브러리는 플랫폼별로 다릅니다(즉, 64비트 라이브러리는 32비트 플랫폼과 호환되지 않으며 그 반대도 마찬가지입니다).
MSS 및 SERDES를 사용한 Postsynth 및 Post-layout 시뮬레이션 MSS 블록이 포함된 디자인의 Postsynth 시뮬레이션 또는 SERDES를 사용한 디자인의 Post-layout 시뮬레이션을 실행하는 동안 –libmap 옵션이 다음과 같은 경우 BFM 시뮬레이션이 작동하지 않습니다.
정교화 중에는 지정되지 않았습니다. 이는 정교화 중에 MSS가 작업 라이브러리(기본 바인딩 및 작업 라이브러리가 postsynth/post-layout이기 때문에)에서 해결되어 고정 함수에 불과하기 때문입니다.
MSS를 해결하려면 ncelab 명령을 다음 코드 블록과 같이 작성해야 합니다.
SmartFusion2 사전 컴파일된 라이브러리에서 차단합니다.
ncelab -libmap lib.map -libverbose -메시지 -access +rwc cfg1
그리고 lib.map file 다음과 같아야 합니다:
구성 cfg1;
디자인 ;
기본 liblist smartfusion2 ;
최종 구성
이렇게 하면 작업 라이브러리(예: postynth/post-layout)를 보기 전에 SmartFusion2 라이브러리의 모든 셀이 해결됩니다.
–libmap 옵션은 모든 시뮬레이션(presynth, postsynth 및 post-layout)을 정교화하는 동안 기본적으로 사용할 수 있습니다. 이렇게 하면 라이브러리의 인스턴스 해결로 인해 발생하는 시뮬레이션 문제를 방지할 수 있습니다.
ncelab: *F,INTERR: 내부 예외
이 ncelab 도구 예외는 –libmap 옵션을 사용하는 사후 합성 및 사후 레이아웃 시뮬레이션 중에 SmartFusion 2 및 IGLOO 2에 FDDR이 포함된 설계에 대한 주의 사항입니다.
중요한: 이 문제는 Cadence 지원팀(SAR 52113)에 보고되었습니다.
3.4 초ample Tcl 및 쉘 스크립트 File스 (질문하기)
다음은 files는 구성입니다 file디자인 및 쉘 스크립트를 설정하는 데 필요합니다. file NCSim 명령을 실행하기 위한 것입니다.
CDs.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB 정의
프리신스 정의 ./presynth
Hdl.var
DEFINE WORK 프리신스
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
블로그/코어/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
블로그/코어/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
프레신스)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
프레신스)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/SB.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => 프리신스)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => 프리신스 )
Commands.csh
ncvlog +incdir+../../comComponent/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstag나이
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestag나이
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../컴포넌트/작업/SB/CCC_0/SB_CCC_0_FCCC.v
../../comComponent/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../컴포넌트/작업/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../컴포넌트/작업/SB_HPMS/SB_HPMS.v
../../컴포넌트/작업/SB/SB.v ../../컴포넌트/작업/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../컴포넌트/작업/SB_top/SB_top.v ../../컴포넌트/작업/SB_top/testbench.v
ncelab -메시지 -cdslib ./cds.lib -hdlvar ./hdl.var
-presynth 작업 -logfile ncelab.log -errormax 15 -access +rwc -상태 presynth.testbench:모듈
ncsim -메시지 -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -상태 presynth.testbench:모듈
3.5 자동화 (질문하기)
다음 스크립트 file ModelSim run.do를 변환합니다. file구성에 들어갑니다 fileNCSim을 사용하여 시뮬레이션을 실행하는 데 필요합니다.
스크립트 File 용법
펄 cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################# ########################################
##################
#사용법: perlquesta_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family 사전 컴파일_Libraries_location#
############################################# ########################################
##################
POSIX를 사용하세요
엄격한 사용;
내 ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
하위 퀘스트a_parser {
내 $ModelSim_run_do = $_[0];
내 $actel_family = $_[1];
내 $lib_location = $_[2];
내 $state;
if ( -e “$ModelSim_run_do” )
{
열림(INFILE,”$ModelSim_run_do”);
내 @ModelSim_run_do = <INFILE>;
내 $ 라인;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
열어 제끼다FILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$상태 = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
열어 제끼다FILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$상태 = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
열어 제끼다FILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$상태 = $1;
} 그 외
{
"잘못된 입력이 주어졌습니다. file\N";
인쇄 “#사용법: perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\”라이브러리_위치\”\n”;
}
foreach $line(@ModelSim_run_do)
{
#일반운영
$line =~ s/..\/designer.*시뮬레이션\///g;
$line =~ s/$state/$state\_questa/g;
#인쇄 출력FILE “$라인\n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
인쇄하다FILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/컴포넌트/..\/..\/컴포넌트/g;
인쇄하다FILE “$라인\n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
인쇄하다FILE “$라인\n”;
} 그 외
{
인쇄하다FILE “$라인\n”;
}
}
에 닫는다FILE);
닫기(OUTFILE);
} 또 다른 {
print “$ModelSim_run_do가 존재하지 않습니다. 시뮬레이션을 다시 실행하세요.\n”;
}
}
케이던스 Xcelium 설정(마이크로칩 로그인)
스크립트를 작성해야 합니다. file Cadence Xcelium 시뮬레이터를 실행하려면 ModelSim ME/ModelSim Pro ME run.do와 유사합니다. 다음 단계에 따라 스크립트를 작성하십시오. file Xcelium의 경우 또는 스크립트를 사용하십시오. file ModelSim ME/ModelSim Pro ME run.do를 변환하기 위해 제공됩니다. file구성에 들어갑니다 fileXcelium을 사용하여 시뮬레이션을 실행하려면 필요합니다.
4.1 환경변수(질문하기)
Cadence Xcelium을 실행하려면 다음 환경 변수를 구성하십시오.
- LM_LICENSE_FILE: 라이센스에 대한 포인터를 포함해야 합니다. file.
- cds_root: Cadence Incisive Installation의 홈 디렉터리 위치를 가리켜야 합니다.
- PATH: cds_root가 가리키는 도구 디렉터리 아래의 bin 위치를 가리켜야 합니다(예:
$cds_root/tools/bin/64bit(64비트 시스템의 경우 $cds_root/tools/bin 32비트 시스템의 경우)
기계).
64비트와 32비트 운영 체제 간에 전환하는 경우 시뮬레이션 환경을 설정하는 세 가지 방법이 있습니다.
사례 1: PATH 변수
64비트 시스템의 경우 경로 = (install_dir/tools/bin/64bit $path)를 설정하고
32비트 시스템의 경우 경로 설정 = (install_dir/tools/bin $path)
사례 2: -64bit 명령줄 옵션 사용
64비트 실행 파일을 호출하려면 명령줄에서 -64bit 옵션을 지정합니다.
사례 3: INCA_64BIT 또는 CDS_AUTO_64BIT 환경 변수 설정
INCA_64BIT 변수는 부울로 처리됩니다. 이 변수를 임의의 값이나 null로 설정할 수 있습니다.
끈.
setenv INCA_64BIT
중요: INCA_64BIT 환경 변수는 IC 도구와 같은 다른 Cadence 도구에 영향을 미치지 않습니다. 그러나 Incisive 도구의 경우 INCA_64BIT 변수는 CDS_AUTO_64BIT 환경 변수의 설정을 재정의합니다. INCA_64BIT 환경 변수가 et인 경우 모든 Incisive 도구는 64비트 모드에서 실행됩니다.
setenv CDS_AUTO_64BIT 포함:INCA
중요: 문자열 INCA는 대문자여야 합니다. 모든 실행 파일은 2비트 모드 또는 64비트 모드에서 실행되어야 합니다. 다음과 같이 하나의 실행 파일을 포함하도록 변수를 설정하지 마십시오.
setenv CDS_AUTO_64BIT 포함:ncelab
IC 도구와 같은 다른 Cadence 도구도 CDS_AUTO_64BIT 환경 변수를 사용하여 32비트 또는 64비트 실행 파일의 선택을 제어합니다. 다음 표는 CDS_AUTO_64BIT 변수를 설정하여 모든 모드에서 Incisive 도구 및 IC 도구를 실행하는 방법을 보여줍니다.
표 4-1. CDS_AUTO_64BIT 변수
CDS_AUTO_64BIT 변수 | 예리한 도구 | IC 도구 |
setenv CDS_AUTO_64BIT 모두 | 64비트 | 64비트 |
setenv CDS_AUTO_64BIT 없음 | 32비트 | 32비트 |
setenv CDS_AUTO_64BIT 제외:ic_binary |
64비트 | 32비트 |
setenv CDS_AUTO_64BIT 제외:INCA | 32비트 | 64비트 |
중요한: 모든 Incisive 도구는 32비트 모드 또는 64비트 모드에서 실행되어야 하며 다음과 같이 특정 실행 파일을 제외하기 위해 EXCLUDE를 사용하지 마십시오.
setenv CDS_AUTO_64BIT 제외:ncelab
Incisive 도구를 제외하도록 CDS_AUTO_64BIT 변수를 설정하는 경우(setenv
CDS_AUTO_64BIT EXCLUDE:INCA), 모든 Incisive 도구는 32비트 모드에서 실행됩니다. 그러나, 그
-64bit 명령줄 옵션은 환경 변수를 재정의합니다.
다음 구성 file데이터를 관리하고 시뮬레이션 도구 및 유틸리티의 작동을 제어하는 데 도움이 됩니다.
- 도서관 매핑 file (cds.lib)은 디자인 위치의 논리적 이름을 정의합니다.
- 라이브러리를 만들고 이를 물리적 디렉터리 이름과 연결합니다.
- 변수 file (hdl.var)은 시뮬레이션 도구 및 유틸리티의 동작에 영향을 미치는 변수를 정의합니다.
4.2 컴파일된 라이브러리 다운로드(질문하기)
Microsemi의 Cadence Xcelium용 라이브러리를 다운로드하세요. web대지.
4.3 Xcelium 스크립트 생성 file (질문하기)
run.do의 복사본을 만든 후 files, Xcelium 스크립트를 사용하여 시뮬레이션을 실행하려면 다음 단계를 수행하세요. file.
- cds.lib 만들기 file 이는 액세스할 수 있는 라이브러리와 위치를 정의합니다.
그만큼 file 라이브러리 논리적 이름을 물리적 디렉터리 경로에 매핑하는 명령문이 포함되어 있습니다. 예를 들어amp파일, presynth 시뮬레이션을 실행하는 경우 cds.lib file 다음 코드 블록과 같이 작성할 수 있습니다.
프리신스 정의 ./presynth
COREAHBLITE_LIB ./COREAHBLITE_LIB 정의
DEFINE smartfusion2 - hdl.var 생성 file 이는 선택적 구성입니다. file 디자인 환경 구성 방법을 결정하는 구성 변수가 포함되어 있습니다. 여기에는 다음이 포함됩니다.
– 컴파일러가 컴파일된 개체 및 기타 파생 데이터를 저장하는 작업 라이브러리를 지정하는 데 사용되는 변수입니다.
– Verilog의 경우 변수(LIB_MAP, VIEW_MAP, WORK) 라이브러리를 지정하는 데 사용됩니다. view정교자가 인스턴스를 해결할 때 검색합니다.
– 컴파일러, 정교자, 시뮬레이터 명령줄 옵션 및 인수를 정의할 수 있는 변수입니다.
presynth 시뮬레이션의 경우 examp위에 표시된 대로 3개의 RTL이 있다고 가정해 보겠습니다. filea.v, b.v 및 testbench.v는 각각 presynth, COREAHBLITE_LIB 및 presynth 라이브러리로 컴파일되어야 합니다. hdl.var file 다음 코드 블록과 같이 작성할 수 있습니다.
DEFINE WORK 프리신스
DEFINE PROJECT_DIR <위치 files>
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/b.v => COREAHBLITE_LIB )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => 프리신스 ) - 디자인을 컴파일하다 filencvlog 옵션을 사용하고 있습니다.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - ncelab을 사용하여 디자인을 정교하게 만듭니다. 정교자는 디자인의 인스턴스화 및 구성 정보를 기반으로 디자인 계층 구조를 구성하고 신호 연결을 설정하며 디자인의 모든 개체에 대한 초기 값을 계산합니다. 정교한 설계 계층 구조는 시뮬레이터가 시뮬레이션을 실행하는 데 사용하는 설계를 표현하는 시뮬레이션 스냅샷에 저장됩니다.
Xcelium –메시지 –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
access +rwc –status worklib.:module
포스트 레이아웃 시뮬레이션 중 정교화
레이아웃 후 시뮬레이션의 경우 먼저 SDF file ncsdfc 명령을 사용하여 자세히 설명하기 전에 컴파일해야 합니다.
엑셀리움 <file이름>.sdf –출력 <file이름>.sdf.X
자세히 설명하는 동안 다음 코드 블록에 표시된 대로 -autosdf 옵션을 사용하여 컴파일된 SDF 출력을 사용합니다.
xmelab -autosdf –메시지 –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib.:module –sdf_cmd_file ./
sdf_cmd_file
sdf_cmd_file 다음 코드 블록에 표시된 것과 같아야 합니다.
COMPILED_SDF_FILE = “<컴파일된 SDF의 위치 file>” - Xcelium을 사용하여 시뮬레이션합니다. 정교화 후에 시뮬레이션을 위해 Xcelium에 의해 로드되는 시뮬레이션 스냅샷이 생성됩니다. 이는 배치 모드 또는 GUI 모드에서 실행될 수 있습니다.
xmsim –메시지 –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log –
errormax 15 –status worklib.:모듈
케이던스 Xcelium 설정
중요: 모두 컴파일, 정교화, 시뮬레이션의 위 세 단계를 쉘 스크립트에 넣을 수 있습니다. file 명령줄에서 제공됩니다. 이러한 세 단계를 사용하는 대신 다음 코드 블록에 표시된 대로 ncverilog 또는 xrun 옵션을 사용하여 한 단계로 설계를 시뮬레이션할 수 있습니다.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <모든 RTL
file디자인에 사용된 것>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var <all RTL files
디자인에 사용된 것>
4.3.1 알려진 문제(질문하기)
테스트벤치 해결 방법
사용자가 생성한 테스트벤치 또는 Libero SoC가 생성한 기본 테스트벤치에서 클럭 주파수를 지정하기 위해 다음 명령문을 사용하는 것은 Xcelium에서 작동하지 않습니다.
항상 @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
시뮬레이션을 실행하려면 다음과 같이 수정하세요.
항상 #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
중요한: Xcelium용으로 컴파일된 라이브러리는 플랫폼별로 다릅니다. 즉, 64비트 라이브러리는 32비트 플랫폼과 호환되지 않으며 그 반대도 마찬가지입니다.
MSS 및 SERDES를 사용한 Postsynth 및 Post-layout 시뮬레이션
MSS 블록이 포함된 설계의 사후 합성 시뮬레이션 또는 SERDES를 사용하는 설계의 사후 레이아웃 시뮬레이션을 실행하는 동안 정교화 중에 –libmap 옵션이 지정되지 않으면 BFM 시뮬레이션이 작동하지 않습니다. 이는 정교화 중에 MSS가 작업 라이브러리(기본 바인딩 및 작업 라이브러리가 postsynth/post-layout이기 때문에)에서 해결되어 고정 함수에 불과하기 때문입니다.
SmartFusion2 사전 컴파일된 라이브러리에서 MSS 블록을 확인하려면 다음 코드 블록에 표시된 대로 ncelab 명령을 작성해야 합니다.
xmelab -libmap lib.map -libverbose -Message -access +rwc cfg1
그리고 lib.map file 다음과 같아야 합니다:
구성 cfg1;
디자인 ;
기본 liblist smartfusion2 ;
최종 구성
이는 작업 라이브러리(예: postynth/post-layout)를 보기 전에 SmartFusion2 라이브러리의 모든 셀을 확인해야 합니다.
–libmap 옵션은 모든 시뮬레이션(presynth, postsynth 및 post-layout)을 정교화하는 동안 기본적으로 사용할 수 있습니다. 이렇게 하면 라이브러리의 인스턴스 해결로 인해 발생하는 시뮬레이션 문제를 방지할 수 있습니다.
xmelab: *F,INTERR: 내부 예외
이 ncelab 도구 예외는 SmartFusion2 및 IGLOO2에 FDDR이 포함된 설계에 대한 주의 사항입니다.
-libmap 옵션을 사용하여 postynth 및 post-layout 시뮬레이션 중.
중요한: 이 문제는 Cadence 지원팀(SAR 52113)에 보고되었습니다.
4.4 초ample Tcl 및 쉘 스크립트 file스 (질문하기)
다음은 files는 구성입니다 file디자인 및 쉘 스크립트를 설정하는 데 필요합니다. file Xcelium 명령을 실행하기 위한 것입니다.
CDs.lib
정의 smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
COREAHBLITE_LIB ./COREAHBLITE_LIB 정의
프리신스 정의 ./presynth
Hdl.var
DEFINE WORK 프리신스
DEFINE PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
블로그/코어/coreahblite_masterstagev => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
블로그/코어/coreahblite_slavestagev => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
프레신스)
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
프레신스)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_HPMS/SB_HPMS.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB/SB.v => presynth )
LIB_MAP 정의( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => 프리신스)
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/SB_top.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/comComponent/work/SB_top/testbench.v => presynth )
DEFINE LIB_MAP ( $LIB_MAP, + => 프리신스 )
Commands.csh
ncvlog +incdir+../../comComponent/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -update -linedebug
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstag나이
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestag나이
../../컴포넌트/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../comComponent/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../컴포넌트/작업/SB/CCC_0/SB_CCC_0_FCCC.v
../../comComponent/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../comComponent/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../comComponent/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../컴포넌트/작업/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../컴포넌트/작업/SB_HPMS/SB_HPMS.v
../../컴포넌트/작업/SB/SB.v ../../컴포넌트/작업/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../컴포넌트/작업/SB_top/SB_top.v ../../컴포넌트/작업/SB_top/testbench.v
ncelab -메시지 -cdslib ./cds.lib -hdlvar ./hdl.var
-presynth 작업 -logfile ncelab.log -errormax 15 -access +rwc -상태 presynth.testbench:모듈
ncsim -메시지 -batch -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -상태 presynth.testbench:모듈
4.5 자동화 (마이크로칩 로그인)
다음 스크립트 file ModelSim run.do를 변환합니다. file구성에 들어갑니다 fileXcelium을 사용하여 시뮬레이션을 실행하려면 필요합니다.
스크립트 File 용법
펄 cadence_parser.pl presynth_run.do postynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################# ########################################
##################
#사용법: perlquesta_parser.pl presynth_run.do postynth_run.do postlayout_run.do
Microsemi_Family 사전 컴파일_Libraries_location#
############################################# ########################################
##################
POSIX를 사용하세요
엄격한 사용;
내 ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
하위 퀘스트a_parser {
내 $ModelSim_run_do = $_[0];
내 $actel_family = $_[1];
내 $lib_location = $_[2];
내 $state;
if ( -e “$ModelSim_run_do” )
{
열림(INFILE,”$ModelSim_run_do”);
내 @ModelSim_run_do = <INFILE>;
내 $ 라인;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
열어 제끼다FILE,”>QUESTA_PRESYNTH/presynth_questa.do”);
$상태 = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
열어 제끼다FILE,”>QUESTA_POSTSYNTH/postsynth_questa.do”);
$상태 = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
열어 제끼다FILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$상태 = $1;
} 그 외
{
"잘못된 입력이 주어졌습니다. file\N";
인쇄 “#사용법: perl Questa_parser.pl presynth_run.do postynth_run.do postlayout_run.do
\”라이브러리_위치\”\n”;
}
foreach $line(@ModelSim_run_do)
{
#일반운영
$line =~ s/..\/designer.*시뮬레이션\///g;
$line =~ s/$state/$state\_questa/g;
#인쇄 출력FILE “$라인\n”;
if ($line =~ m/vmap\s+.*($actel_family)/)
{
인쇄하다FILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/컴포넌트/..\/..\/컴포넌트/g;
인쇄하다FILE “$라인\n”;
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
인쇄하다FILE “$라인\n”;
} 그 외
{
인쇄하다FILE “$라인\n”;
}
}
에 닫는다FILE);
닫기(OUTFILE);
} 또 다른 {
print “$ModelSim_run_do가 존재하지 않습니다. 시뮬레이션을 다시 실행하세요.\n”;
}
}
Siemens QuestaSim 설정/ModelSim 설정(질문하기)
더 런.도 fileModelSim Microsemi Edition을 사용하는 시뮬레이션을 위해 Libero SoC에서 생성된 s는 단일 변경으로 QuestaSim/ModelSim SE/DE/PE를 사용하는 시뮬레이션에 사용할 수 있습니다. ModelSim ME/ModelSim Pro ME run.do에서 file, 미리 컴파일된 라이브러리 위치를 수정해야 합니다.
중요한:
기본적으로 ModelSim Pro ME 이외의 시뮬레이션 도구는 시뮬레이션 중에 설계 개체 및 입력 자극과 같은 시뮬레이션 아티팩트에 대한 가시성에 영향을 줄 수 있는 설계 최적화를 수행합니다.
이는 일반적으로 장황한 자체 점검 테스트벤치를 사용하여 복잡한 시뮬레이션의 시뮬레이션 실행 시간을 줄이는 데 도움이 됩니다. 그러나 기본 최적화는 모든 시뮬레이션에 적합하지 않을 수 있으며, 특히 웨이브 창을 사용하여 시뮬레이션 결과를 그래픽으로 검사하려는 경우에는 더욱 그렇습니다.
이러한 최적화로 인해 발생하는 문제를 해결하려면 시뮬레이션 중에 적절한 명령과 관련 인수를 추가하여 설계 가시성을 복원해야 합니다. 도구별 명령에 대해서는 사용 중인 시뮬레이터의 설명서를 참조하세요.
5.1 환경변수(질문하기)
다음은 필수 환경 변수입니다.
- LM_LICENSE_FILE: 라이센스 경로를 포함해야 합니다. file.
- MODEL_TECH: QuestaSim 설치의 홈 디렉터리 위치에 대한 경로를 식별해야 합니다.
- PATH: MODEL_TECH가 가리키는 실행 파일 위치를 가리켜야 합니다.
5.2 Mentor QuestaSim을 위한 run.do 변환(질문하기)
더 런.도 fileModelSim Microsemi Edition을 사용한 시뮬레이션을 위해 Libero SoC에서 생성된 s는 단일 변경으로 QuestaSim/ModelSim_SE를 사용한 시뮬레이션에 사용할 수 있습니다.
중요: 모두 QuestaSim을 사용하여 시뮬레이션된 설계에는 -novopt가 포함되어야 합니다.
run.do 스크립트의 vsim 명령과 함께 사용되는 옵션 files.
5.3 컴파일된 라이브러리 다운로드(질문하기)
Microsemi의 Mentor Graphics QuestaSim 라이브러리를 다운로드하세요. web대지.
Synopsys VCS 설정(질문하기)
Microsemi에서 권장하는 흐름은 VCS의 Elaborate 및 Compile 흐름을 따릅니다. 이 문서에는 스크립트가 포함되어 있습니다 file run.do 스크립트를 사용하는 fileLibero SoC에 의해 생성되고 설정을 생성합니다. fileVCS 시뮬레이션에 필요합니다. 스크립트 file run.do를 사용합니다. file 다음을 수행합니다.
- 라이브러리 매핑 만들기 file, 이는 synopsys_sim.setup을 사용하여 수행됩니다. file VCS 시뮬레이션이 실행되는 동일한 디렉토리에 위치합니다.
- 쉘 스크립트 만들기 file VCS를 사용하여 디자인을 정교하게 만들고 컴파일합니다.
6.1 환경변수(질문하기)
설정에 따라 VCS에 적합한 환경 변수를 설정합니다. VCS 문서에 따라 필요한 환경 변수는 다음과 같습니다.
- LM_LICENSE_FILE: 라이센스 서버에 대한 포인터를 포함해야 합니다.
- VCS_HOME: VCS 설치의 홈 디렉토리 위치를 가리켜야 합니다.
- PATH: VCS_HOME 디렉터리 아래의 bin 디렉터리에 대한 포인터를 포함해야 합니다.
6.2 컴파일된 라이브러리 다운로드(질문하기)
Microsemi에서 Synopsys VCS용 라이브러리를 다운로드하세요. web대지.
6.3 VCS 시뮬레이션 스크립트 File (질문하기)
VCS를 설정하고 디자인과 다른 run.do를 생성한 후 fileLibero SoC의 경우 다음을 수행해야 합니다.
- 라이브러리 매핑 만들기 file synopsys_sim.setup; 이것 file 디자인에 사용될 모든 라이브러리의 위치에 대한 포인터를 포함합니다.
중요: file 이름은 변경되어서는 안 되며 시뮬레이션이 실행 중인 동일한 디렉터리에 있어야 합니다. 여기 전 애인이 있습니다amp르 그런 것을 위해 file 사전합성 시뮬레이션을 위한 것입니다.
일 > 실패
SmartFusion2 :
프레신스 : ./presynth
기본 : ./work - 다양한 디자인을 정교하게 만들어보세요 fileVCS에서 vlogan 명령을 사용하여 테스트벤치를 포함합니다. 이러한 명령은 쉘 스크립트에 포함될 수 있습니다 file. 다음은 전amprtl.v에 정의된 디자인을 정교하게 만드는 데 필요한 명령 파일은 테스트벤치가 정의되어 있습니다.
테스트벤치.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - 다음 명령을 사용하여 VCS를 사용하여 디자인을 컴파일합니다.
vcs –sim_res=1fs presynth.testbench
참고: 올바른 기능 시뮬레이션을 위해서는 시뮬레이션의 타이밍 해상도를 1fs로 설정해야 합니다. - 설계가 컴파일되면 다음 명령을 사용하여 시뮬레이션을 시작합니다.
./simv - 역주석이 있는 시뮬레이션의 경우 VCS 명령은 다음 코드 블록에 표시된 것과 같아야 합니다.
vcs postlayout.testbench –sim_res=1fs –sdf max:.<DUT 인스턴스
이름>:<sdf file 경로> –gui –l postlayout.log
6.4 제한사항/예외(질문하기)
다음은 Synopsys VCS 설정의 제한사항/예외입니다.
- VCS 시뮬레이션은 Libero SoC의 Verilog 프로젝트에 대해서만 실행할 수 있습니다. VCS 시뮬레이터에는 Libero SoC 자동 생성 VHDL이 충족하지 못하는 엄격한 VHDL 언어 요구 사항이 있습니다. files.
- 원할 때마다 시뮬레이션을 중지하려면 Verilog 테스트벤치에 $finish 문이 있어야 합니다.
중요: 언제 시뮬레이션은 GUI 모드에서 실행되며 런타임은 GUI에서 지정할 수 있습니다.
6.5 초ample Tcl 및 쉘 스크립트 File스 (질문하기)
다음 Perl은 synopsys_sim.setup 생성을 자동화합니다. file 해당 쉘 스크립트뿐만 아니라 file설계를 정교화하고, 컴파일하고, 시뮬레이션하는 데 필요합니다.
디자인에서 MSS를 사용하는 경우 test.vec를 복사합니다. file Libero SoC 프로젝트의 시뮬레이션 폴더에 있는 VCS 시뮬레이션 폴더에 있습니다. 다음 섹션에는amp르 런.도 file해당 라이브러리 매핑 및 쉘 스크립트를 포함하여 Libero SoC에서 생성된 것 fileVCS 시뮬레이션에 필요합니다.
6.5.1 사전 합성(질문하기)
Presynth_run.do
조용히 ACTELLIBNAME SmartFusion2 설정
조용히 PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"를 설정합니다.
만약에 {[file 존재합니다 presynth/_info]} {
echo "정보: 시뮬레이션 라이브러리 사전 신디사이저가 이미 존재합니다"
} 또 다른 {
vlib 프리신스
}
vmap 프리신스 프레신스
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth “${PROJECT_DIR}/comComponent/work/SD1/SD1.v”
vlog “+incdir+${PROJECT_DIR}/자극” -작업 프리신스 “${PROJECT_DIR}/자극/SD1_TB1.v”
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
웨이브 추가 /SD1_TB1/*
로그 추가 -r /*
1000ns 실행
presynth_main.csh
#!/bin/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" 설정
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -작업 프리신스 “${PROJECT_DIR}/comComponent/
작업/SD1/SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/자극" -work
presynth "${PROJECT_DIR}/자극/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
직장 > 기본
스마트퓨전2 : /VCS/SmartFusion2
프레신스 : ./presynth
기본 : ./work
6.5.2 합성 후 (질문하기)
postynth_run.do
조용히 ACTELLIBNAME SmartFusion2 설정
조용히 PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"를 설정합니다.
만약에 {[file 존재합니다. postynth/_info]} {
echo "정보: 시뮬레이션 라이브러리 postsynth가 이미 존재합니다."
} 또 다른 {
vlib 포스트신스
}
vmap 포스트신스 포스트신스
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
스마트퓨전2”
vlog -work postynth “${PROJECT_DIR}/synesis/SD1.v”
vlog "+incdir+${PROJECT_DIR}/자극" -작업 포스트신스 "${PROJECT_DIR}/자극/SD1_TB1.v"
vsim -L SmartFusion2 -L postynth -t 1fs postynth.SD1_TB1
웨이브 추가 /SD1_TB1/*
로그 추가 -r /*
1000ns 실행
로그 SD1_TB1/*
출구
Postsynth_main.csh
#!/bin/csh -f
PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF" 설정
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postynth “${PROJECT_DIR}/synesis/
SD1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/자극" -work
포스트신스 “${PROJECT_DIR}/자극/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
직장 > 기본
스마트퓨전2 : /VCS/SmartFusion2
포스트신스 : ./postsynth
기본 : ./work
6.5.3 포스트 레이아웃(질문하기)
postlayout_run.do
조용히 ACTELLIBNAME SmartFusion2 설정
조용히 PROJECT_DIR “E:/ModelSim_Work/Test_DFF”를 설정하세요.
만약에 {[file 존재합니다 ../designer/SD1/simulation/postlayout/_info]} {
echo "정보: 시뮬레이션 라이브러리 ../designer/SD1/simulation/postlayout이 이미 존재합니다."
} 또 다른 {
vlib ../designer/SD1/simulation/postlayout
}
vmap 포스트레이아웃 ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
스마트퓨전2”
vlog -작업 포스트 레이아웃 “${PROJECT_DIR}/designer/SD1/SD1_ba.v”
vlog “+incdir+${PROJECT_DIR}/자극” -작업 포스트레이아웃 “${PROJECT_DIR}/자극/SD1_TB1.v”
vsim -L SmartFusion2 -L 포스트 레이아웃 -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf 포스트레이아웃.SD1_TB1
웨이브 추가 /SD1_TB1/*
로그 추가 -r /*
1000ns 실행
Postlayout_main.csh
#!/bin/csh -f
PROJECT_DIR = "/VCS_Tests/Test_DFF" 설정
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -작업 포스트 레이아웃 “${PROJECT_DIR}/
디자이너/SD1/SD1_ba.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/자극" -work
포스트레이아웃 “${PROJECT_DIR}/자극/SD1_TB1.v”
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
직장 > 기본
스마트퓨전2 : /VCS/SmartFusion2
포스트레이아웃 : ./postlayout
기본값 : ./workVCS
6.6 자동화 (질문하기)
다음 Perl 스크립트를 사용하여 흐름을 자동화할 수 있습니다. file ModelSim run.do를 변환하려면 files를 VCS 호환 쉘 스크립트로 변환 files, Libero SoC 시뮬레이션 디렉터리 내에 적절한 디렉터리를 생성한 다음 시뮬레이션을 실행합니다.
스크립트 실행 file 다음 구문을 사용합니다.
perl vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################# ###########################
#
#사용법: perl vcs_parse.pl presynth_run.do postynth_run.do postlayout_run.do
#
############################################# ############################
내 ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {print "mkdir 실패:\n";}
if(system("mkdir VCS_Postsynth")) {print "mkdir 실패:\n";}
if(system("mkdir VCS_Postlayout")) {print "mkdir 실패:\n";}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,”presynth”);
chdir("../");
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,”postsynth”);
chdir("../");
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,”postlayout”);
chdir("../");
하위 pars_do {
내 $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k";
내 %LIB = ();
내 $file = $_[0] ;
내 $state = $_[1];
오픈(INFILE,”$file”) || 죽어 “열 수 없어 File 이유는 다음과 같습니다:$!”;
if ( $state eq “presynth” )
{
open(OUT1,”>presynth_main.csh”) || die “명령을 생성할 수 없습니다. File 이유는 다음과 같습니다:$!”;
}
elsif ( $state eq “postsynth” )
{
open(OUT1,”>postsynth_main.csh”) || die “명령을 생성할 수 없습니다. File 이유는 다음과 같습니다:$!”;
}
elsif( $state eq "포스트레이아웃")
{
open(OUT1,”>postlayout_main.csh”) || die “명령을 생성할 수 없습니다. File 이유는 다음과 같습니다:$!”;
}
또 다른
{
"시뮬레이션 상태가 누락되었습니다.\n"을 인쇄합니다.
}
open(OUT2,”>synopsys_sim.setup”) || die “명령을 생성할 수 없습니다. File 이유는 다음과 같습니다:$!”;
# .csh file
OUT1 "#!/bin/csh -f\n\n\n"을 인쇄합니다.
#설정 FILE
OUT2 “WORK > DEFAULT\n”을 인쇄합니다.
OUT2 "SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n"을 인쇄합니다.
동안($line = <INFILE>)
{
Synopsys VCS 설정
if ($line =~ m/조용히 PROJECT_DIR\s+\”(.*?)\”/) 설정
{
OUT1 “set PROJECT_DIR = \”$1\”\n\n\n”을 인쇄합니다.
}
elsif( $line =~ m/vlog.*\.v\”/ )
{
if ($line =~ m/\s+(\w*?)\_LIB/)
{
#print “\$1 =$1 \n” ;
$temp = “$1″.”_LIB”;
#print “온도 = $temp \n” ;
$LIB{$임시}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
OUT1 "$line\n"을 인쇄합니다.
}
elsif ( ($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
씹어먹다($tb);
#print “TB 이름 : $tb \n”;
if ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$라인 = $1 ;
#print “LINE : $line \n” ;
if ($line =~ m/max/)
{
$line =~ 초/최대 \/// ;
$line =~ s/=/:/;
OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf를 인쇄합니다.
max:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/min/)
{
$line =~ 초/분 \/// ;
$line =~ s/=/:/;
OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf를 인쇄합니다.
min:$tb.$line.sdf -l compile.log\n” ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
OUT1 “\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf를 인쇄합니다.
typ:$tb.$line.sdf -l compile.log\n” ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — ModelSim SDF 형식
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
SDF 형식
}
}
}
인쇄
출력1 “\n\n”
;
if
( $state eq "프레신스"
)
{
인쇄
OUT2 “프레신스
: ./presynth\n”
;
인쇄
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
컴파일.로그\n”
;
}
엘시프
( $state eq "포스트신스"
)
{
인쇄
OUT2 “포스트신스
: ./postsynth\n”
;
인쇄
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
컴파일.로그\n”
;
}
엘시프
( $state eq "포스트레이아웃"
)
{
OUT2 "postlayout : ./postlayout\n"을 인쇄합니다.
}
또 다른
{
"시뮬레이션 상태가 누락되었습니다.\n"을 인쇄합니다.
}
foreach $i( 키 %LIB)
{
#print "키 : $i 값 : $LIB{$i} \n" ;
OUT2 "$i : ./$i\n"을 인쇄합니다.
}
OUT1 “\n\n”을 인쇄합니다;
OUT1 "./simv -l run.log\n"을 인쇄합니다.
OUT2 “DEFAULT : ./work\n”을 인쇄합니다.
에 닫는다FILE;
OUT1을 닫습니다.
OUT2을 닫습니다.
}
개정 내역(마이크로칩 로그인
개정 내역은 문서에 구현된 변경 사항을 설명합니다. 변화들
최신 발행물부터 시작하여 개정순으로 나열됩니다.
개정 | 날짜 | 설명 |
A | 12/2023 | 이 개정판에서 변경된 사항은 다음과 같습니다. • 마이크로칩 템플릿으로 변환된 문서. 초기 개정. • 섹션 5. Siemens QuestaSim 설정/ModelSim 설정을 업데이트하여 시뮬레이션 및 최적화 중 가시성에 미치는 영향을 설명하는 새로운 참고 사항을 포함했습니다. |
마이크로칩 FPGA 지원
Microchip FPGA 제품 그룹은 고객 서비스, 고객 기술 지원 센터, web사이트 및 전세계 영업 사무소.
문의사항에 대한 답변이 이미 제공되었을 가능성이 높으므로 고객은 지원팀에 문의하기 전에 Microchip 온라인 리소스를 방문하는 것이 좋습니다.
를 통해 기술 지원 센터에 문의하십시오. web사이트에서 www.microchip.com/support. FPGA 디바이스 부품 번호를 언급하고 적절한 케이스 카테고리를 선택하고 디자인을 업로드하십시오. files 기술 지원 사례를 만드는 동안.
제품 가격, 제품 업그레이드, 업데이트 정보, 주문 상태 및 승인과 같은 비기술적 제품 지원에 대해서는 고객 서비스에 문의하십시오.
- 북미에서 전화하려면 800.262.1060으로 전화하세요.
- 전 세계에서 650.318.4460으로 전화하세요.
- 팩스: 전 세계 어디에서나 650.318.8044
마이크로칩 정보
마이크로칩 Web대지
Microchip은 다음을 통해 온라인 지원을 제공합니다. web사이트에서 www.microchip.com/. 이것 web사이트는 만드는 데 사용됩니다 file고객이 쉽게 이용할 수 있는 s 및 정보. 이용 가능한 콘텐츠 중 일부는 다음과 같습니다.
- 제품 지원 – 데이터 시트 및 정오표, 애플리케이션 노트 및 sample 프로그램, 디자인 리소스, 사용자 가이드 및 하드웨어 지원 문서, 최신 소프트웨어 릴리스 및 보관된 소프트웨어
- 일반 기술 지원 – 자주 묻는 질문(FAQ), 기술 지원 요청, 온라인 토론 그룹, Microchip 설계 파트너 프로그램 회원 목록
- Microchip 비즈니스 – 제품 선택 및 주문 가이드, 최신 Microchip 보도 자료, 세미나 및 이벤트 목록, Microchip 영업 사무소, 유통업체 및 공장 대표 목록
상품 변경 알림 서비스
Microchip의 제품 변경 알림 서비스는 고객에게 Microchip 제품에 대한 최신 정보를 제공하는 데 도움이 됩니다. 구독자는 관심 있는 특정 제품군 또는 개발 도구와 관련된 변경, 업데이트, 수정 또는 정오표가 있을 때마다 이메일 알림을 받게 됩니다.
등록하려면 다음으로 이동하세요. www.microchip.com/pcn을 방문하고 등록 지침을 따르세요.
고객 지원
Microchip 제품 사용자는 다음과 같은 다양한 채널을 통해 지원을 받을 수 있습니다.
- 유통업체 또는 대표자
- 현지 영업 사무소
- 임베디드 솔루션 엔지니어(ESE)
- 기술 지원
고객은 지원을 위해 유통업체, 담당자 또는 ESE에 문의해야 합니다. 지역 영업 사무소도 고객을 도울 수 있습니다. 이 문서에는 영업 사무소 및 위치 목록이 포함되어 있습니다.
기술 지원은 다음을 통해 제공됩니다. web사이트 위치: www.microchip.com/support
Microchip Devices 코드 보호 기능
Microchip 제품의 코드 보호 기능에 대한 자세한 내용은 다음과 같습니다.
- 마이크로칩 제품은 해당 마이크로칩 데이터 시트에 포함된 사양을 충족합니다.
- Microchip은 자사 제품군이 의도된 방식으로, 작동 사양 내에서, 정상적인 조건에서 사용될 경우 안전하다고 믿습니다.
- Microchip은 지적 재산권을 소중히 여기고 적극적으로 보호합니다. Microchip 제품의 코드 보호 기능을 위반하려는 시도는 엄격히 금지되며 디지털 밀레니엄 저작권법을 위반할 수 있습니다.
- Microchip이나 다른 반도체 제조업체는 해당 코드의 보안을 보장할 수 없습니다. 코드 보호는 제품이 "깨지지 않음"을 보장한다는 의미는 아닙니다.
코드 보호는 지속적으로 발전하고 있습니다. Microchip은 제품의 코드 보호 기능을 지속적으로 개선하기 위해 최선을 다하고 있습니다.
법적 고지
이 간행물과 여기에 있는 정보는 Microchip 제품을 설계, 테스트 및 응용 프로그램과 통합하는 것을 포함하여 Microchip 제품에만 사용할 수 있습니다. 이 정보를 다른 방식으로 사용하는 것은 이 약관을 위반하는 것입니다. 장치 응용 프로그램에 관한 정보는 귀하의 편의를 위해서만 제공되며 업데이트로 대체될 수 있습니다. 애플리케이션이 사양을 충족하는지 확인하는 것은 귀하의 책임입니다. 추가 지원이 필요한 경우 지역 Microchip 영업 사무소에 문의하거나 다음에서 추가 지원을 받으십시오. www.microchip.com/en-us/support/design-help/client-support-services.
이 정보는 MICROCHIP에서 "있는 그대로" 제공합니다. MICROCHIP은 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 정보와 관련하여 명시적이든 묵시적이든, 서면이든 구두이든, 법률적이든 기타이든 어떠한 종류의 진술이나 보증도 하지 않습니다. 또는 그 상태, 품질 또는 성능과 관련된 보증도 하지 않습니다.
어떠한 경우에도 MICROCHIP은 정보 또는 그 사용과 관련된 간접적, 특수적, 징벌적, 우발적 또는 결과적 손실, 피해, 비용 또는 경비에 대해 어떠한 원인으로 발생하든, MICROCHIP이 가능성을 통보받았거나 피해가 예측 가능한 경우에도 책임을 지지 않습니다. 법률에서 허용하는 최대 범위 내에서 정보 또는 그 사용과 관련된 모든 청구에 대한 MICROCHIP의 총 책임은 귀하가 정보에 대해 MICROCHIP에 직접 지불한 수수료 금액을 초과하지 않습니다(있는 경우).
생명 유지 및/또는 안전 애플리케이션에서 Microchip 장치를 사용하는 것은 전적으로 구매자의 위험이며, 구매자는 그러한 사용으로 인해 발생하는 모든 손해, 청구, 소송 또는 비용으로부터 Microchip을 방어, 보상하고 무해하게 보호하는 데 동의합니다. 달리 명시되지 않는 한, Microchip 지적 재산권에 따라 묵시적 또는 기타 방식으로 라이선스가 양도되지 않습니다.
상표
Microchip 이름 및 로고, Microchip 로고, Adaptec, AVR, AVR 로고, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi 로고, MOST, MOST 로고, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 로고, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST 로고, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource,tinyAVR, UNI/O, Vectron 및 XMEGA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 등록 상표입니다.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus 로고, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime 및 ZL은 미국에서 Microchip Technology Incorporated의 등록 상표입니다.
인접 키 억제, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, 동적 평균 매칭 , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 인서킷 직렬 프로그래밍, ICSP, INICnet, 지능형 병렬화, IntelliMOS, 칩 간 연결, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB 인증 로고, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, 리플 차단기, RTAX, RTG4, SAMICE, 직렬 쿼드 I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynroPHY, 총 내구성, 신뢰할 수 있는 시간, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect 및 ZENA는 Microchip Technology Incorporated의 상표입니다.
미국 및 기타 국가에서.
SQTP는 미국 Microchip Technology Incorporated의 서비스 상표입니다.
Adaptec 로고, Frequency on Demand, Silicon Storage Technology 및 Symmcom은 기타 국가에서 Microchip Technology Inc.의 등록 상표입니다.
GestIC는 Microchip Technology Inc.의 자회사인 Microchip Technology Germany II GmbH & Co. KG의 다른 국가에 등록 상표입니다.
여기에 언급된 다른 모든 상표는 해당 회사의 자산입니다.
© 2023, Microchip Technology Incorporated 및 그 자회사. 판권 소유.
ISBN: 978-1-6683-3694-6
품질 경영 시스템
Microchip의 품질 관리 시스템에 대한 정보는 다음을 방문하십시오. www.microchip.com/quality.
아메리카 | 아시아/태평양 | 아시아/태평양 | 유럽 |
회사 사무실 2355 웨스트 챈들러 대로 챈들러, AZ 85224-6199 전화: 480-792-7200 팩스: 480-792-7277 기술 지원: www.microchip.com/support Web 주소: www.마이크로칩닷컴 애틀랜타 덜루스, 조지아주 전화: 678-957-9614 팩스: 678-957-1455 오스틴, 텍사스 전화: 512-257-3370 보스턴 웨스트버러, 매사추세츠 전화: 774-760-0087 팩스: 774-760-0088 시카고 이타스카, 일리노이주 전화: 630-285-0071 팩스: 630-285-0075 달라스 텍사스 애디슨 전화: 972-818-7423 팩스: 972-818-2924 디트로이트 노비, 미시간주 전화: 248-848-4000 휴스턴, 텍사스 전화: 281-894-5983 인디애나폴리스 노블즈빌, IN 전화: 317-773-8323 팩스: 317-773-5453 전화: 317-536-2380 로스엔젤레스 미션 비에호, 캘리포니아 전화: 949-462-9523 팩스: 949-462-9608 전화: 951-273-7800 롤리, 노스캐롤라이나 전화: 919-844-7510 뉴욕, 뉴욕 전화: 631-435-6000 샌호세, 캘리포니아 전화: 408-735-9110 전화: 408-436-4270 캐나다 - 토론토 전화: 905-695-1980 팩스: 905-695-2078 |
호주 - 시드니 전화: 61-2-9868-6733 중국 – 베이징 전화: 86-10-8569-7000 중국 – 청두 전화: 86-28-8665-5511 중국 - 충칭 전화: 86-23-8980-9588 중국 – 둥관 전화: 86-769-8702-9880 중국 – 광저우 전화: 86-20-8755-8029 중국 - 항저우 전화: 86-571-8792-8115 중국 – 홍콩 특별행정구 전화: 852-2943-5100 중국 – 난징 전화: 86-25-8473-2460 중국 - 칭다오 전화: 86-532-8502-7355 중국 – 상하이 전화: 86-21-3326-8000 중국 - 선양 전화: 86-24-2334-2829 중국 – 선전 전화: 86-755-8864-2200 중국 – 쑤저우 전화: 86-186-6233-1526 중국 – 우한 전화: 86-27-5980-5300 중국 – 시안 전화: 86-29-8833-7252 중국 – 샤먼 전화: 86-592-2388138 중국 - 주하이 전화: 86-756-3210040 |
인도 - 방갈로르 전화: 91-80-3090-4444 인도 – 뉴델리 전화: 91-11-4160-8631 인도 - 푸네 전화: 91-20-4121-0141 일본 – 오사카 전화: 81-6-6152-7160 일본 – 도쿄 전화: 81-3-6880-3770 한국 – 대구 전화: 82-53-744-4301 한국 – 서울 전화: 82-2-554-7200 말레이시아 – 쿠알라 룸푸르 전화: 60-3-7651-7906 말레이시아 - 페낭 전화: 60-4-227-8870 필리핀 – 마닐라 전화: 63-2-634-9065 싱가포르 전화: 65-6334-8870 대만 – 신주 전화: 886-3-577-8366 대만 – 가오슝 전화: 886-7-213-7830 대만 – 타이페이 전화: 886-2-2508-8600 태국 – 방콕 전화: 66-2-694-1351 베트남 – 호치민 전화: 84-28-5448-2100 |
오스트리아 - 벨스 전화: 43-7242-2244-39 팩스: 43-7242-2244-393 덴마크 - 코펜하겐 전화: 45-4485-5910 팩스: 45-4485-2829 핀란드 – 에스포 전화: 358-9-4520-820 프랑스 - 파리 Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 독일 - 가르힝 전화: 49-8931-9700 독일 – 한 전화: 49-2129-3766400 독일 - 하일브론 전화: 49-7131-72400 독일 - 카를스루에 전화: 49-721-625370 독일 - 뮌헨 Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 독일 – 로젠하임 전화: 49-8031-354-560 이스라엘 – 라아나나 전화: 972-9-744-7705 이탈리아 – 밀라노 전화: 39-0331-742611 팩스: 39-0331-466781 이탈리아 – 파도바 전화: 39-049-7625286 네덜란드 - 드루넨 전화: 31-416-690399 팩스: 31-416-690340 노르웨이 - 트론헤임 전화: 47-72884388 폴란드 - 바르샤바 전화: 48-22-3325737 루마니아 - 부쿠레슈티 Tel: 40-21-407-87-50 스페인 – 마드리드 Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 스웨덴 – 예테보리 Tel: 46-31-704-60-40 스웨덴 – 스톡홀름 전화: 46-8-5090-4654 영국 – 워킹엄 전화: 44-118-921-5800 팩스: 44-118-921-5820 |
© 2023 Microchip Technology Inc. 및 자회사
DS50003627A –
문서 / 리소스
![]() |
MICROCHIP Libero SoC 시뮬레이션 라이브러리 소프트웨어 [PDF 파일] 사용자 가이드 DS50003627A, Libero SoC 시뮬레이션 라이브러리 소프트웨어, SoC 시뮬레이션 라이브러리 소프트웨어, 시뮬레이션 라이브러리 소프트웨어, 라이브러리 소프트웨어, 소프트웨어 |