;====================== Set to XL mode ========================================= ocnSetXLMode() ocnxlProjectDir( "/home/manas/simulation_IC616_130nm" ) ocnxlTargetCellView( "RES_FB_NC_REVISIT_NEW" "TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA" "adexl" ) ocnxlResultsLocation( "" ) ocnxlSimResultsLocation( "" ) ;====================== Tests setup ============================================ ;---------- Test "RES_FB_NC_REVISIT_NEW:TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA:4" ------------- ocnxlBeginTest("RES_FB_NC_REVISIT_NEW:TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA:4") simulator( 'spectre ) design( "RES_FB_NC_REVISIT_NEW" "TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA" "schematic") modelFile( '("/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_12_rf_v102_mc_corner.lib.scs" "mc") '("/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/mm130e_mom_v041_mc_corner.lib.scs" "typ") '("/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hs12_v241_mc_corner.lib.scs" "ss") '("/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_res_v101_mc_corner.lib.scs" "res_typ") '("/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hg_rvt33_v161_mc_corner.lib.scs" "ss") ) analysis('pnoise ?MultiEna t ?MultiEna1 t ?sweeptype "absolute" ?start "0.1M" ?stop "2.5M" ?step "0.5M" ?maxsideband "100" ?p "/MAIN_TIA_I_OUT" ?n "/gnd!" ?oprobe "" ?iprobe "/PORT1" ?refsideband "1" ) analysis('pac ?outType "Voltage" ?start "2G-100M" ?stop "2G+100M" ?step "1M" ?values list("2.0001G" "2.00001G" "1.9999G") ?maxsideband "" ?sidebands list("0" "-1" "-20" "-22" "-25" "-27" "-50" "-52" "-10" "-12") ?freqaxis "out" ) analysis('pss ?fund "2G" ?harms "10" ?errpreset "moderate" ?tstab "0.1u" ?saveinit "yes" ?method "gear2only" ?tstabmethod "gear2only" ?maxacfreq "200G" ) analysis('dc ?saveOppoint t ) desVar( "RES_TIA_IN" 0 ) desVar( "LO_0" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_0_2GHZ_PEX_350_SS_OLD.vcsv\"" ) desVar( "LO_180" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_180_2GHZ_PEX_350_SS_OLD.vcsv\"" ) desVar( "LO_270" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_270_2GHZ_PEX_350_SS_OLD.vcsv\"" ) desVar( "LO_90" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_90_2GHZ_PEX_350_SS_OLD.vcsv\"" ) desVar( "RSW_OFF" 400K ) desVar( "RF" 10k ) desVar( "RES_COMP_L" 18K ) desVar( "RES_FB" 6K ) desVar( "TIA_MAIN_RF" 6K ) desVar( "TIA_AUX_RF" 5K ) desVar( "R_BB" 200 ) desVar( "RSW_MAIN_NOISE" 15 ) desVar( "RSW_AUX" 15 ) desVar( "RSW_AUX_NOISE" 15 ) desVar( "RSW_FB_L" 10 ) desVar( "RSW_FB_R" 10 ) desVar( "MIX_FILT" 10 ) desVar( "MIX_FILT_NOISE" 10 ) desVar( "RSW_MAIN" 10 ) desVar( "RSW_ON" 1 ) desVar( "prf" 0 ) desVar( "MIX_FILT_NON_COEFF" .7 ) desVar( "RSW_MAIN_NON_COEFF" .7 ) desVar( "RSW_AUX_NON_COEFF" .7 ) desVar( "VBIAS" 656.39m ) desVar( "SWITCH_ON" 600.5m ) desVar( "SWITCH_OFF" 600.1m ) desVar( "GM_TIA" 400m ) desVar( "R_GM_NOISE" 150m ) desVar( "GM_RF" 60m ) desVar( "L_BOND" 2.2n ) desVar( "T" 0.5n ) desVar( "C_MIX_FILT" 102p ) desVar( "C_BOOST_FB" 45p ) desVar( "TIA_AUX_CF" 14p ) desVar( "C_MIX_FILT_PAR" 12p ) desVar( "TIA_MAIN_CF" 12p ) desVar( "T_FALL" 10p ) desVar( "T_RISE" 10p ) desVar( "C_BLOCK" 1p ) desVar( "GM_RF_3RD" 0 ) desVar( "GM_TIA_3RD" 0 ) desVar( "sigma" 3 ) envOption( 'firstRun nil 'analysisOrder list("tran" "dc" "pss" "pac" "pxf" "psp" "pnoise" "pstb" "hb" "hbac" "hbnoise" "pz" "dcmatch" "stb" "envlp" "ac" "lf" "noise" "xf" "sp" "qpss" "qpac" "qpnoise" "qpxf" "qpsp" "sens" "acmatch") ) option( 'dochecklimit "no" 'generalnoiseinst list("/M0_GM_PMOS" "/M36_GM_NMOS" "/M22_FILT" "/M23" "/M24" "/M25" "/M17_MAIN_MIX" "/M16" "/M15" "/M14") 'generalnoiseinstonoff "off" 'temp "120.0" 'iabstol "1e-14" 'vabstol "1e-8" 'reltol "1e-2" ) option( ?categ 'turboOpts 'numThreads "10" 'uniMode "APS" ) saveOption( 'currents "all" ) saveOption( 'save "all" ) saveOpPoint( "/M22_FILT" ?operatingPoints "cgg cdd vth gds" ) saveOpPoint( "/M17_MAIN_MIX" ?operatingPoints "cgg cdd vth gds" ) saveOpPoint( "/M0_GM_PMOS" ?operatingPoints "cgg cdd vth gm gds" ) saveOpPoint( "/M36_GM_NMOS" ?operatingPoints "cgg cdd vth gm gds vds" ) temp( 120.0 ) ocnxlOutputTerminal( "/V0_GM_OUT/PLUS") ocnxlOutputTerminal( "/V32_GM_FILT/PLUS") ocnxlOutputExpr( "db(vh('pac \"/MAIN_TIA_I_OUT\" '-1))" ?name "v /MAIN_TIA_I_OUT h=-1; pac dB20(V)" ?plot t ?save t) ocnxlOutputOceanScript( "/home/manas/work_cad_IC616_130nm/RES_FB_NC_REVISIT_NEW/TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA/adexl/test_states/RES_FB_NC_REVISIT_NEW/TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA/spectre/RES_FB_NC_REVISIT_NEW:TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA:4_active/outputsScriptsDir/oceanScript_PSS_MC.ocn" ?name "ocnMeasure_0" ?plot t) ocnxlEndTest() ; "RES_FB_NC_REVISIT_NEW:TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA:4" ;====================== Sweeps setup =========================================== ocnxlSweepVar("RES_TIA_IN" "0") ocnxlSweepVar("LO_0" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_0_2GHZ_PEX_350_SS_OLD.vcsv\"") ocnxlSweepVar("LO_180" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_180_2GHZ_PEX_350_SS_OLD.vcsv\"") ocnxlSweepVar("LO_270" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_270_2GHZ_PEX_350_SS_OLD.vcsv\"") ocnxlSweepVar("LO_90" "\"/home/manas/DIVIDER_OUTPUT_CAPTURE/OLD_DIVIDER/LO_90_2GHZ_PEX_350_SS_OLD.vcsv\"") ocnxlSweepVar("RSW_OFF" "400K") ocnxlSweepVar("RF" "10k") ocnxlSweepVar("RES_COMP_L" "18K") ocnxlSweepVar("RES_FB" "6K") ocnxlSweepVar("TIA_MAIN_RF" "6K") ocnxlSweepVar("TIA_AUX_RF" "5K") ocnxlSweepVar("R_BB" "200") ocnxlSweepVar("RSW_MAIN_NOISE" "15") ocnxlSweepVar("RSW_AUX" "15") ocnxlSweepVar("RSW_AUX_NOISE" "15") ocnxlSweepVar("RSW_FB_L" "10") ocnxlSweepVar("RSW_FB_R" "10") ocnxlSweepVar("MIX_FILT" "10") ocnxlSweepVar("MIX_FILT_NOISE" "10") ocnxlSweepVar("RSW_MAIN" "10") ocnxlSweepVar("RSW_ON" "1") ocnxlSweepVar("prf" "-60") ocnxlSweepVar("MIX_FILT_NON_COEFF" ".7") ocnxlSweepVar("RSW_MAIN_NON_COEFF" ".7") ocnxlSweepVar("RSW_AUX_NON_COEFF" ".7") ocnxlSweepVar("VBIAS" "656.39m") ocnxlSweepVar("SWITCH_ON" "600.5m") ocnxlSweepVar("SWITCH_OFF" "600.1m") ocnxlSweepVar("GM_TIA" "400m") ocnxlSweepVar("R_GM_NOISE" "150m") ocnxlSweepVar("GM_RF" "60m") ocnxlSweepVar("L_BOND" "2.2n") ocnxlSweepVar("T" "0.5n") ocnxlSweepVar("C_MIX_FILT" "102p") ocnxlSweepVar("C_BOOST_FB" "45p") ocnxlSweepVar("TIA_AUX_CF" "14p") ocnxlSweepVar("C_MIX_FILT_PAR" "12p") ocnxlSweepVar("TIA_MAIN_CF" "12p") ocnxlSweepVar("T_FALL" "10p") ocnxlSweepVar("T_RISE" "10p") ocnxlSweepVar("C_BLOCK" "1p") ocnxlSweepVar("GM_RF_3RD" "0") ocnxlSweepVar("GM_TIA_3RD" "0") ocnxlSweepVar("C_PI_L" "35p") ocnxlSweepVar("C_PI_R" "35p") ocnxlSweepVar("C_GM_FB" "1f") ocnxlSweepVar("sigma" "3") ;====================== Model Group setup ========================================== ;====================== Corners setup ========================================== ocnxlCorner( "C0" '( ("variable" "temperature" "-40:40:125") ("variable" "prf" "-60") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/L130E_HS12_V241.lib.scs" ?enabled nil ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/MML130E_RES_V152.lib.scs" ?enabled nil ?section "\"res_typ\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/mm130e_mom_v031.lib.scs" ?enabled nil ?section "\"typ\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/L130E_HG_RVT33_V131.lib.scs" ?enabled nil ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_12_rf_v102_mc_corner.lib.scs" ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hs12_v241_mc_corner.lib.scs" ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_res_v101_mc_corner.lib.scs" ?section "\"res_typ\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hg_rvt33_v161_mc_corner.lib.scs" ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/mm130e_mom_v041_mc_corner.lib.scs" ?section "\"typ\"") ("modelGroup" "") ) ) ocnxlCorner( "C1" '( ("variable" "temperature" "120") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/L130E_HS12_V241.lib.scs" ?enabled nil ?section "") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/MML130E_RES_V152.lib.scs" ?enabled nil ?section "") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/mm130e_mom_v031.lib.scs" ?enabled nil ?section "") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/L130E_HG_RVT33_V131.lib.scs" ?enabled nil ?section "") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_12_rf_v102_mc_corner.lib.scs" ?section "\"mc\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hs12_v241_mc_corner.lib.scs" ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_res_v101_mc_corner.lib.scs" ?section "\"res_typ\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/l130e_hg_rvt33_v161_mc_corner.lib.scs" ?section "\"ss\"") ("model" "/home/manas/work_cad/UMC130FDKMFC_B08_PB/Models/Spectre/Monte_Carlo/mm130e_mom_v041_mc_corner.lib.scs" ?section "\"typ\"") ("modelGroup" "") ) ) ;====================== Test v/s corners setup ================================= ;====================== Job setup ============================================== ocnxlJobSetup( '( "blockemail" "1" "configuretimeout" "300" "distributionmethod" "Local" "lingertimeout" "300" "maxjobs" "1" "name" "ADE XL Default" "preemptivestart" "1" "reconfigureimmediately" "1" "runtimeout" "-1" "showerrorwhenretrying" "1" "showoutputlogerror" "0" "startmaxjobsimmed" "1" "starttimeout" "300" "usesameprocess" "1" ) ) ;====================== Disabled items ========================================= ocnxlDisableCorner("C0") ;====================== Run Mode Options ====================================== ocnxlMonteCarloOptions( ?ignoreFlag "0" ?mcMethod "mismatch" ?mcNumPoints "100" ?mcNumBins "" ?mcStopEarly "0" ?mcStopMethod "Significance Test" ?samplingMode "random" ?saveProcess "1" ?saveMismatch "0" ?useReference "0" ?donominal "1" ?saveAllPlots "0" ?monteCarloSeed "" ?mcStartingRunNumber "" ?dumpParamMode "yes" ?dutSummary "RES_FB_NC_REVISIT_NEW:TB_B1DB_GM_MAIN_CMOS_SWITCH_REAL_TIA:4%/M25, /M24, /M23, /M22_FILT, /M36_GM_NMOS, /M0_GM_PMOS, /M14, /M15, /M16, /M17_MAIN_MIX, /M10, /M11, /M12, /M13%Schematic%Schematic#" ) ;====================== Starting Point Info ====================================== ;====================== Run command ============================================ ocnxlRun( ?mode 'monteCarlo ?nominalCornerEnabled t ?allCornersEnabled t ?allSweepsEnabled t) ocnxlOutputSummary(?yieldSummary t ?exprSummary nil ?specSummary nil ?detailed nil) ocnxlOpenResults() ;====================== End XL Mode command =================================== ocnxlEndXLMode()