0% found this document useful (0 votes)
527 views4 pages

Cdsinit of Cadence

This document contains Lisp code that loads customizations for the NCSU CDK. It sets environment variables and paths, loads configuration files, and makes changes to the tool settings and defaults.

Uploaded by

cdmnpillai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
527 views4 pages

Cdsinit of Cadence

This document contains Lisp code that loads customizations for the NCSU CDK. It sets environment variables and paths, loads configuration files, and makes changes to the tool settings and defaults.

Uploaded by

cdmnpillai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

;;

-*-Lisp-*;;
;; NCSU CDK Copyright (C) 2006 North Carolina State University
;;
(let
((LOCAL_CDK_DIR (getShellEnvVar "CDK_DIR")))
(if LOCAL_CDK_DIR
(if (not (boundp 'NCSU_CDK_LOADED))
(let () ; CDK needs to be loaded, so load it.
(setq NCSU_CDK_DIR LOCAL_CDK_DIR)
(procedure (prependNCSUCDKInstallPath dir)
(strcat NCSU_CDK_DIR "/" dir))
(printf "Loading NCSU CDK 1.5.1 customizations...\n")
(setq NCSU_newLayoutMenuLabels t)
(putpropq (hiGetCIWindow) 96 "maxLayerPoolSize")
(envSetVal "graphic" "drfPath" 'string
(strcat NCSU_CDK_DIR "/cdssetup/display.drf"))
(if (isFile (prependNCSUCDKInstallPath "cdssetup/cdsenv"))
(envLoadVals
?envFile (prependNCSUCDKInstallPath "cdssetup/cdsenv")
?tool "ALL"))
(if (isFile "~/.cdsenv")
(envLoadVals
?envFile "~/.cdsenv"
?tool "ALL"))
(let
((configFileList (list ; "aaConfig.il"
; "dmConfig.il"
; "dciConfig.il"
; "metConfig.il"
; "sysConfig.il"
; "uiConfig.il"
; "leConfig.il"
"schConfig.il"
"streamIn.il"
))
(path (strcat ". ~ "
(prependNCSUCDKInstallPath "skill/config_files"))

)
(saveSkillPath (getSkillPath))
file )
(setSkillPath path)
(foreach file configFileList
(if (isFile file)
(loadi file)))
(setSkillPath saveSkillPath))
(let
((bindKeyFileList (list
"common_bindkeys.il"
))
(path (strcat ". ~ "
(prependNCSUCDKInstallPath "cdssetup")))
(saveSkillPath (getSkillPath))

file )
(setSkillPath path)
(foreach file bindKeyFileList
(if (isFile file)
(loadi file)))
(setSkillPath saveSkillPath))
(sstatus writeProtect nil)
(let ((skillPathElements
(list "." "~"
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
(prependNCSUCDKInstallPath
sPE)

"skill")
"skill/cdf")
"skill/menus")
"skill/menus/artist")
"skill/menus/ciw")
"skill/menus/virtuoso")
"skill/misc")
"skill/pcells")
"techfile")))

(foreach sPE skillPathElements


(setSkillPath (cons sPE (getSkillPath)))))
;
;
;
;

(if (isCallable 'awvSetOptionValue)


(let ()
(awvSetOptionValue "hcDisplay" "psb" )
(awvSetOptionValue "hcTmpDir" "/tmp" )))
(if (not (boundp 'NCSU_skillAlreadyLoaded))
(let ()
(setq NCSU_skillAlreadyLoaded t)
(printf "Loading NCSU SKILL routines...\n")
(load (prependNCSUCDKInstallPath "skill/loadSkill.il"))))

;
;
;
;
;
;

(asiSetEnvOptionVal
(asiGetTool 'spectreS)
'modelPath (strcat NCSU_CDK_DIR "/models/spectre/nom/"))
(asiSetEnvOptionVal
(asiGetTool 'hspiceS)
'modelPath (strcat NCSU_CDK_DIR "/models/hspice/public/"))
(envSetVal "graphic" "drfPath" 'string
(strcat NCSU_CDK_DIR "/cdssetup/display.drf"))
(setq lePlotTemplate
(prependNCSUCDKInstallPath "cdssetup/layoutPlotTemplate"))
(setq schPlotTemplate
(prependNCSUCDKInstallPath "cdssetup/schPlotTemplate" ))
(unless (getShellEnvVar "SKIP_CDSLIB_MANAGER")
(ddsOpenLibManager))
(printf "Done loading NCSU_CDK customizations.\n")
)
(printf "NCSU CDK already loaded.\n")
)
; you get to this let if NCSU_CDK_DIR is nil
(let ()
(printf "Environment variable CDK_DIR must be defined to use\n")
(printf "the NCSU CDK. It is not defined in the calling environment\n")

(printf "so the NCSU customizations will not be performed!\n"))))


; Add these scripts to the bottom of the .cdsinit file located in your CMOSedu d
irectory
; Set Spectre as the default simulator
envSetVal("asimenv.startup" "simulator" 'string "spectre")
; Auto-hides options for all tools, such as copy, move, create instance, etc. Pr
ess F3 to show options.
; envSetVal("ui" "showOptionForms" 'boolean nil) ; Uncomment this to enable. I d
idn't want to suprise anyone with this feature.
; Auto select "Cellview" when saving/loading states. Default: nil
envSetVal("asimenv" "saveAsCellview" 'boolean t)
; Display pin names by default in layout
envSetVal("layout" "displayPinNames" 'boolean t)
; Set stop level to 32 to show everything in layout
envSetVal("layout" "stopLevel" 'int 32)
; Set default models for spectre
envSetVal("spectre.envOpts" "modelFiles" 'string "$HOME/ncsu-cdk-1.6.0.beta/mode
ls/spectre/standalone/tsmc25N.m $HOME/ncsu-cdk-1.6.0.beta/models/spectre/standal
one/tsmc25P.m")
; Disable warning for a 4-way interesection wire aka solder dot crossover
envSetVal("schematic" "srcSolderOnCrossover" 'cyclic "ignored")
; Set the graph background to white
envSetVal("viva.rectGraph" "background" 'string "white")
; Set the graph foreground to black
envSetVal("viva.rectGraph" "foreground" 'string "black")
; Help changing the default style/color/thickness of a waveform or trace in ViVA
(Cadence's waveform viewer) is found here.
; Set graph axis font and size
envSetVal("viva.axis" "font" 'string "Fixed [Misc],12,-1,5,50,0,0,0,0,0")
; Set graph marker font and size
envSetVal("viva.pointMarker" "font" 'string "Fixed [Misc],12,-1,5,50,0,0,0,0,0")

; In ViVA there is a vertical marker (bindkey v), a horizontal marker (bindkey h


), and a difference marker for each direction (bindkey d). You can modify these
markers' fonts and sizes with the following lines:

; Set vertical marker font and size (36 point font below)
envSetVal("viva.vertMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,0,0")

; Set horizontal marker font and size (36 point font below)
envSetVal("viva.horizMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,0,0")

; Set vertical and horizontal dx/dy markers' font and size (36 point font below)
envSetVal("viva.multiDeltaMarker" "font" 'string "Fixed [Misc],36,-1,5,50,0,0,0,
0,0")

;-----------------------------------------------------------------------------------; The following work for plotting expressions with the calculator
; Set line thickness to thick
envSetVal("viva.trace" "lineThickness" 'string "thick")
; Set line type to solid
envSetVal("viva.trace" "lineStyle" 'string "solid")

You might also like