关于cadence集成各类其他工具,可以在用户家目录中的.cdsinit文件进行配置
vim ~/.cdsinit
集成方案如下:
Siemens/Mentor Calibre:
;
; check CALIBRE_HOME
;
cal_home=getShellEnvVar("CALIBRE_HOME")
if( cal_home==nil then
printf("// CALIBRE_HOME environment variable not set; setting to value of MGC_HOME\n");
cal_home=getShellEnvVar("MGC_HOME")
)
if( cal_home!=nil && isDir(cal_home) && isReadable(cal_home) then
setSkillPath(append1(getSkillPath() strcat(cal_home "/lib")))
; Load calibre.skl or calibre.4.3.skl, not both!
; Load calibre.skl for Cadence versions 4.4 and greater
load("calibre.skl")
;;; Load calibre.4.3.skl for Cadence version 4.3
;;; load("calibre.4.3.skl")
else
; CALIBRE_HOME is not set correctly. Report the problem.
printf("// Calibre Error: Environment variable ")
if( cal_home==nil || cal_home=="" then
printf("CALIBRE_HOME is not set.");
else
if( !isDir(cal_home) then
printf("CALIBRE_HOME does not point to a directory.");
else
if( !isReadable(cal_home) then
printf("CALIBRE_HOME points to an unreadable directory.");
)
)
)
printf(" Calibre Skill Interface not loaded.\n")
; Display a dialog box message about load failure.
hiDisplayAppDBox(
?name 'MGCHOMEErrorDlg
?dboxBanner "Calibre Error"
?dboxText "Calibre Skill Interface not loaded."
?dialogType hicErrorDialog
?dialogStyle 'modal
?buttonLayout 'Close
)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Keysight/Cliosoft sos:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
let( (clioDir)
clioDir = getShellEnvVar("CLIOSOFT_DIR")
load((strcat clioDir "/scripts/cds_sosviadfII.il"))
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Empyrean Alps:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;/* alps integration
alps_home=getShellEnvVar("ALPS_HOME")
spectre_path_for_alps_integration = nthelem(1 artSystemWithRead("which spectre"))
if( alps_home then
; set path
path=getShellEnvVar("PATH")
path=strcat(strcat(alps_home "/interface/cds:") path)
setShellEnvVar(strcat("PATH=" path) )
loadi(strcat(alps_home "/interface/cds/alps_method3.ile ") "empyrean")
println("finish loading alps script")
else
msg="The simulator alps does not set, please set first";
hiDisplayUserDBox(
?name 'Error
?dboxBanner "Error"
?dialogStyle 'modal
?dboxText msg
?buttons list("OK")
)
)
;*/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Empyrean Iwave:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("IWAVE_HOME") "/interface/cds/iwave.ile"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Empyrean aeolus:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;aeolus_home=getShellEnvVar("AEOLUS_HOME")
; add new menu for aeolus
/*
if( aeolus_home then
loadi(strcat(getShellEnvVar("AEOLUS_HOME") "/interface/cds/aeolus_nonOASIS.ile"))
else
msg="The simulator Aeolus does not set, please set first";
hiDisplayUserDBox(
?name 'Error
?dboxBanner "Error"
?dialogStyle 'modal
?dboxText msg
?buttons list("OK")
)
)
*/
; switch executable
/*
if( aeolus_home then
; set path
path=getShellEnvVar("PATH")
path=strcat(strcat(aeolus_home "/interface/cds:") path)
setShellEnvVar(strcat("PATH=" path) )
loadi(strcat(aeolus_home "/interface/cds/aeolus_spectre.il"))
else
msg="The simulator Aeolus does not set, please set first";
hiDisplayUserDBox(
?name 'Error
?dboxBanner "Error"
?dialogStyle 'modal
?dboxText msg
?buttons list("OK")
)
)
*/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Prima Nanospice:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(prependInstallPath("src/artist/nanospice/nanospice.ini"))
load(prependInstallPath("src/artist/nanospice/ne.il"))
loadContext(prependInstallPath("src/artist/nanospice/nanospice.cxt"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Synopsys Finesim:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("FINESIM_HOME") "/interface/adel/FineSim.ile"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GF PDK:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("GF_PDK_HOME") "/DesignEnv/VirtuosoOA/setup/.cdsinit"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Keysight ADS:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("HPEESOF_DIR") "/idf/config/.cdsinit"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SkillCAD:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
when( getShellEnvVar("SKILLCAD_PATH") &&
isReadable(strcat( getShellEnvVar("SKILLCAD_PATH") "/source/skillcad.il"))
load( strcat( getShellEnvVar("SKILLCAD_PATH") "/source/skillcad.il"))
load( strcat( getShellEnvVar("SKILLCAD_PATH") "/source/skillcad-crack.ile" ), "willyterra")
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Synopsys hspice:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("HSPICE_HOME") "/interface/spiceADE.ile"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
早期 Synopsys hspice:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
load(strcat(getShellEnvVar("HSPICE_HOME") "/interface/HSPICE.ile"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
其他:
Cadence Assura:
设置 ASSURAHOME 环境变量
Cadence ext/quantus:
设置 QRC_HOME 环境变量
集成调度工具:
LSF:
cshrc写法
setenv LBS_BASE_SYSTEM LBS_LSF
bash写法
export LBS_BASE_SYSTEM=LBS_LSF
SGE:
cshrc写法
setenv LBS_BASE_SYSTEM LBS_SGE
bash写法
export LBS_BASE_SYSTEM=LBS_SGE
OPENLAVA: 未测试
cshrc写法
setenv LBS_BASE_SYSTEM LBS_OLV
bash写法
export LBS_BASE_SYSTEM=LBS_OLV
当然,有的时候可能还需要设置 LBS_CLUSTER_MASTER 参数,指向调度软件master主机。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
如有错误或者需要补充的内容,请留言讨论!~谢谢
网友留言: