#!/bin/csh -f

## ---------------------------------------------------
## i/o setup
## ---------------------------------------------------

#setenv TECHDIR # LVS DIR PATH--Eg: /local/lvs_download/018MCU
#setenv INCLUDE_FILE	    ./design_inc.cal # PATH--LVS include file

## ---------------------------------------------------
## switch setup
## ---------------------------------------------------

setenv BEOL_STACK                      1P6M           # [ 1P3M | 1P4M | 1P5M | 1P6M ]
setenv TOPMETAL                        6kA            # [ 6kA | 9kA | 11kA | 30kA]
setenv POLY_HIGH_RESISTOR              1K             # [ 1K | 2K | 3K ]
setenv EXTRACT_MIM_CAP                 1p0fF_OPT_A    # [ 1p0fF_OPT_A | 1p5fF_OPT_A | 2p0fF_OPT_A | 1p0fF_OPT_B | 1p5fF_OPT_B | 2p0fF_OPT_B ]
setenv ERC_RUN                         NO             # [ YES | NO ]
setenv PEX_RUN                         NO             # [ YES | NO ] default is NO
setenv CONNECT_THRU_DIFF_CHECK         NO             # [ YES | NO ]
setenv MOS_NF_BY                       SPLIT          # [ COUNT | SPLIT ]
