|  |  | 
|  | printf("STARTING CDSINIT\n") | 
|  |  | 
|  | ; load configuration skill scripts. | 
|  | let( (configFileList file path saveSkillPath) | 
|  | configFileList = '( | 
|  | ) | 
|  | ; paths of the configuration files. | 
|  | path = strcat( | 
|  | ".  ~  " | 
|  | prependInstallPath("local ") | 
|  | ) | 
|  | saveSkillPath=getSkillPath() | 
|  | setSkillPath(path) | 
|  |  | 
|  | foreach(file configFileList | 
|  | if(isFile(file) then | 
|  | loadi(file) | 
|  | ) | 
|  | ) | 
|  | setSkillPath(saveSkillPath) | 
|  | ) | 
|  |  | 
|  | ; load key bindings scripts | 
|  | let( (bindKeyFileList file path saveSkillPath) | 
|  | bindKeyFileList = '( | 
|  | "leBindKeys.il" | 
|  | "schBindKeys.il" | 
|  | ) | 
|  | ; paths of key binding scripts | 
|  | path = strcat( | 
|  | ".  ~  " | 
|  | prependInstallPath("local ") | 
|  | prependInstallPath("samples/local") | 
|  | ) | 
|  | saveSkillPath=getSkillPath() | 
|  | setSkillPath(path) | 
|  |  | 
|  | foreach(file bindKeyFileList | 
|  | if(isFile(file ) then | 
|  | loadi(file) | 
|  | ) | 
|  | ) | 
|  | setSkillPath(saveSkillPath) | 
|  | ) | 
|  |  | 
|  | sstatus(writeProtect nil) | 
|  |  | 
|  | let((skillPath) | 
|  | skillPath= strcat( | 
|  | ". ~ "                                          ; Current & home directory | 
|  | prependInstallPath("samples/techfile ")         ; sample source technology files | 
|  | ) | 
|  | setSkillPath(skillPath) | 
|  | ) | 
|  |  | 
|  | ; | 
|  | ; check CALIBRE_HOME | 
|  | ; | 
|  | cal_home=getShellEnvVar("CALIBRE_HOME") | 
|  | if( cal_home==nil then | 
|  | cal_home=getShellEnvVar("MGC_HOME") | 
|  | if( cal_home!=nil then | 
|  | printf("// CALIBRE_HOME environment variable not set; setting it to value of MGC_HOME\n"); | 
|  | ) | 
|  | ) | 
|  |  | 
|  | if( cal_home!=nil && isDir(cal_home) && isReadable(cal_home) then | 
|  |  | 
|  | ; Load calibre.skl or calibre.4.3.skl, not both! | 
|  |  | 
|  | if( getShellEnvVar("MGC_CALIBRE_REALTIME_VIRTUOSO_ENABLED") && | 
|  | getShellEnvVar("MGC_REALTIME_HOME") && dbGetDatabaseType()=="OpenAccess" then | 
|  | load(strcat(getShellEnvVar("MGC_REALTIME_HOME") "/lib/calibre.skl")) | 
|  | else | 
|  | ; Load calibre.skl for Cadence versions 4.4 and greater | 
|  | load(strcat(cal_home "/lib/calibre.skl")) | 
|  | ) | 
|  |  | 
|  | ;;;;Load calibre.4.3.skl for Cadence version 4.3 | 
|  | ;;; load(strcat(cal_home "/lib/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 | 
|  | ) | 
|  | ) | 
|  |  | 
|  | printf("END OF STANDARD CONFIG SETTINGS\n") | 
|  |  | 
|  | ; set default editor | 
|  | editor = "emacs" | 
|  |  | 
|  | envLoadFile( "./.cdsenv" ) | 
|  |  | 
|  | if( isFile( ".cdsenv.personal" ) then | 
|  | envLoadFile( ".cdsenv.personal" ) | 
|  | ) | 
|  |  | 
|  | cdlOutKeys = list(nil | 
|  | 'incFILE                   "$BAG_TECH_CONFIG_DIR/calibre_setup/source.added" | 
|  | ) | 
|  |  | 
|  | if( isFile( ".cdsinit.personal" ) then | 
|  | load(".cdsinit.personal") | 
|  | ) | 
|  |  | 
|  | ; open library manager | 
|  | ddsOpenLibManager() | 
|  |  | 
|  |  | 
|  | ;; Set Default Model Files.  Note the "#;" de-selects the model call. | 
|  |  | 
|  | setModelFiles=strcat( | 
|  | " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_fet" | 
|  | " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_cell" | 
|  | " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_parRC" | 
|  | " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;tt_rc" | 
|  | " " getShellEnvVar("PDK_HOME") "MODELS/SPECTRE/" getShellEnvVar("METAL_STACK") "/Models/design_wrapper.lib.scs;npn_t" | 
|  | ) | 
|  | envSetVal("spectre.envOpts" "modelFiles" 'string setModelFiles) | 
|  | envSetVal("spectre.envOpts" "controlMode" 'string "batch") | 
|  |  | 
|  |  | 
|  | printf("END OF CUSTOM CONFIG SETTINGS\n") |