calibre extraction rules compilation error
Hi koti,
Thanks for your reply.
The Error Report as follow:
--------------------------------------------------------------------------------
----- STANDARD VERIFICATION RULE FILE COMPILATION MODULE -----
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--- RULE FILE = runset.cal
ERROR: Error DPR19 on line 352 of $LVS_RULE_PATH/INCLUDE/chrt035dg_sige.extract.
cal - this was found where an expression representing a numeric value was expect
ed: -3.81e-08
The environment variables setup as follow:
# SECTION1: Metallization Option Setup ||
# ||
#===============================================================================================================||
# Instruction: User must first choose one suitable metalization option for LVS and/or xRC. ||
#===============================================================================================================||
setenv PROCESS 4LM #Choose one from [3LM | 4LM]
setenv SURFACE_P_CHANNEL NO #Choose one from [YES | NO]
#===============================================================================================================||
# ||
# SECTION2: General Switches Setup ||
# ||
#===============================================================================================================||
# Instructions: ||
# 1) When switch DG_ONLY is set to TRUE, those devices not available in SIGE process will be extracted. ||
# 2) When switch SIGE_ONLY is set to TRUE, those devices only available in SIGE process will be extracted. ||
#===============================================================================================================||
setenv DG_ONLY TRUE # Choose a value from [TRUE | FALSE], default to FALSE
setenv SIGE_ONLY FALSE # Choose a value from [FALSE | TRUE], default to TRUE
setenv EXTRACT_RES_PROPERTY R_ONLY # Choose a value from [R_ONLY | ALL], default to ALL
#===============================================================================================================||
# ||
# SECTION3: Rule File Path and Input Setup ||
# ||
#===============================================================================================================||
# Instructions: ||
# 1) RULE_PATH is set to current directory, it must point to the directory where the rule files are. ||
# 2) User must specify the path (absolute or relative) to the schematic/layout database and specify the ||
# proper TOPCELL name. ||
#===============================================================================================================||
setenv LVS_RULE_PATH "./TT/LVS_deck_update"
# add full/relative path to replace xxx
setenv SOURCE_PATH "./TT/INV.cdl"
# add schematic topcell name to replace xxx
setenv SOURCE_PRIMARY INV
# add full/relative path to replace xxx
setenv LAYOUT_PATH "./TT/INV.gds"
# add layout topcell name to replace xxx
setenv LAYOUT_PRIMARY INV
#setenv POWER_NETS "xxx yyy ..." # if you need to specify power name, uncomment this line and add the names inside ""
#setenv GND_NETS "xxx yyy ..." # if you need to specify ground name, uncomment this line and add the names inside ""
#setenv V_CONNECT "xxx yyy ..." # uncomment this line and add the net names if you want to have virtual connection
#===============================================================================================================||
# ||
# SECTION4: Extraction Switches Setup ||
# ||
#===============================================================================================================||
# Instructions: ||
# 1) To run parasitic extraction, user must set switch PEX_RUN to TRUE and specify the path ||
# to the correct pex file to the specific corner (_typ for typical, _bst for best and _wst for worst case) ||
# and make sure the path to the pex file is correct (currently only 3LM and 4LM n SIGE_ONLY typical case files are ||
# available). ||
# 2) To run field profile extraction, user must set switch FIELD_ACTIVE_RUN to TRUE ||
#===============================================================================================================||
setenv PEX_RUN FALSE # Choose a value from [TRUE | FALSE], default to FALSE
setenv FIELD_ACTIVE_RUN FALSE # Choose a value from [FALSE | TRUE], default to FALSE
setenv PEX_CORNER WORST # Choose a value from [BEST | TYPE | WORST]
if ($PEX_RUN == TRUE) then
if ($PROCESS == 3LM) then
setenv PEX_FILE "3LM_TK_pex_typ_file_path" # user must specify the path to 3lm 4um thickness top metal pex file
else
if ($PROCESS == 4LM) then
setenv PEX_FILE "4LM_TK_pex_typ_file_path" # user must specify the path to 4lm 4um thickness top metal pex file
endif
endif
endif
#===============================================================================================================||
# ||
# SECTION5: Compile runset file ||
# ||
#===============================================================================================================||
# Instructions: ||
# 1) To run lvs, user just need to type the following line in terminal: ||
# "calibre -lvs -hier -spice svdb/$SOURCE_TOP.sp runset.cal". ||
# 2) Alternatively, user can also invoke a GUI by typing "calibre -gui -lvs &". To find out more about ||
# calibre command line option, type "calibre -help" ||
#===============================================================================================================||
\rm runset.cal
\rm netlist
\rm lvs.rep
\rm -r svdb
sed -e 's/\$SOURCE_PRIMARY/'$SOURCE_PRIMARY'/g' -e 's/\$LAYOUT_PRIMARY/'$LAYOUT_PRIMARY'/g' $LVS_RULE_PATH/chrt035dg_sige.lvs.cal > runset.cal
if($PEX_RUN == FALSE) then
calibre -spice netlist -lvs runset.cal | tee $LAYOUT_PRIMARY.log
else if($PEX_RUN == TRUE) then
calibre -xrc -phdb runset.cal | tee $LAYOUT_PRIMARY.pdb.log
calibre -xrc -pdb -rcc runset.cal | tee $LAYOUT_PRIMARY.pdb.log
calibre -xrc -fmt -all runset.cal | tee $LAYOUT_PRIMARY.fmt.log
else if($PEX_RUN == STAR) then
cp chrt035dg_sige.lvs.cal ./runset.cal
echo "#DEFINE PROCESS_4LM" >> ./runset.cal
echo "#DEFINE SIGE_ONLY" >> ./runset.cal
cat $LVS_RULE_PATH/INCLUDE/chrt035dg_sige.layers.cal >> ./runset.cal
cat $LVS_RULE_PATH/INCLUDE/chrt035dg_sige.extract.cal >> ./runset.cal
cat $LVS_RULE_PATH/INCLUDE/chrt035dg_sige.compare.cal >> ./runset.cal
sed -e "s/XRC/CCI/g" -e "s/INCLUDE/\/\/INCLUDE/g" runset.cal > ./full_runset.cal
calibre -lvs -spice lay.sp full_runset.cal
calibre -query svdb < cal.query_template
StarXtract -clean star_cmd_template
endif
endif
endif