| //# -*- c++ -*- |
| //# xControlFile |
| //# Copyright (c) 2017 by Cypress Semiconductor |
| //# Cypress Confidential Information |
| //# |
| #DEFINE PEX |
| UNIT CAPACITANCE ff |
| TEXT DEPTH PRIMARY |
| PORT DEPTH PRIMARY |
| INCLUDE $PDK_HOME/PEX/xRC/cap_models |
| |
| |
| VARIABLE JOB_NAME ENVIRONMENT |
| |
| LAYOUT PATH "$JOB_HOME/gds/$LAYOUT_NAME" |
| LAYOUT PRIMARY JOB_NAME |
| LAYOUT SYSTEM GDSII |
| |
| SOURCE PATH "$JOB_HOME/cdl/$SOURCE_NAME" |
| SOURCE PRIMARY JOB_NAME |
| SOURCE SYSTEM SPICE |
| LAYOUT CASE YES |
| LAYOUT PRESERVE NET CASE YES |
| SOURCE CASE YES |
| |
| LVS REPORT "$JOB_HOME/lvs/$LVS_REPORT" |
| |
| MASK SVDB DIRECTORY "$JOB_HOME/svdb" QUERY XRC CCI NOPINLOC IXF NXF SLPH |
| |
| |
| // |
| // |
| // |
| // Filter Devices in include file to give LVS & xRC consistency |
| /////// INCLUDE $PDK_HOME/LVS/Calibre/s8_filter_devices |
| |
| LVS FILTER R(cds_thru) SHORT SOURCE |
| LVS FILTER R(cds_thru) SHORT LAYOUT |
| |
| // LVS FILTER D OPEN LAYOUT |
| // LVS FILTER Dpar OPEN SOURCE |
| // LVS FILTER Dpar OPEN LAYOUT |
| // LVS FILTER Dpar(DNWDIODE_PW) OPEN SOURCE |
| // LVS FILTER Dpar(DNWDIODE_PW) OPEN LAYOUT |
| |
| //LVS FILTER Dpar(NWDIODE) OPEN SOURCE |
| LVS FILTER Dpar(NWDIODE) OPEN LAYOUT |
| |
| // LVS FILTER Dpar(DIODE_PW2ND_05V5) OPEN SOURCE |
| LVS FILTER D(DIODE_PW2ND_05V5) OPEN LAYOUT |
| |
| // LVS FILTER D(NDIODE) OPEN SOURCE |
| // LVS FILTER D(NDIODE) OPEN LAYOUT |
| |
| //LVS FILTER sky130_fd_sc_hd__diode_2 OPEN SOURCE |
| |
| //LVS FILTER sky130_fd_sc_hd__tapvpwrvgnd_1 OPEN LAYOUT |
| //LVS FILTER sky130_fd_sc_hd__tapvpwrvgnd_1 OPEN SOURCE |
| //LVS FILTER sky130_fd_sc_hd__fill_1 OPEN LAYOUT |
| //LVS FILTER sky130_fd_sc_hd__fill_1 OPEN SOURCE |
| //LVS FILTER sky130_fd_sc_hd__fill_2 OPEN LAYOUT |
| //LVS FILTER sky130_fd_sc_hd__fill_2 OPEN SOURCE |
| |
| LVS FILTER Probe OPEN SOURCE |
| LVS FILTER Probe OPEN LAYOUT |
| LVS Filter icecap open source |
| LVS Filter s8fmlt_iref_termx open source |
| LVS Filter s8fmlt_neg_termx open source |
| LVS Filter s8fmlt_termx open source |
| LVS Filter s8fmlt_vdac_termx open source |
| |
| //# diff/tap devices |
| LVS FILTER diff_dev OPEN SOURCE |
| LVS FILTER diff_dev OPEN LAYOUT |
| // LVS FILTER tap_dev OPEN SOURCE |
| // LVS FILTER tap_dev OPEN LAYOUT |
| |
| //# dummy device to prevent empty cells from becoming subckt primitives |
| LVS FILTER cad_dummy_open_device OPEN SOURCE |
| LVS FILTER cad_dummy_open_device OPEN LAYOUT |
| |
| //# Look further |
| LVS SIGNATURE MAXIMUM ALL |
| |
| //# Be thorough in resolving ambiguity |
| LVS PROPERTY RESOLUTION MAXIMUM ALL |
| |
| //# Interpret devices and arguments strictly |
| LVS STRICT SUBTYPES YES |
| LVS SPICE STRICT WL YES |
| LVS SPICE SLASH IS SPACE NO |
| LVS COMPARE CASE NO |
| |
| //# allows exact m-factor comparison |
| LVS SPICE REPLICATE DEVICES YES |
| |
| //# Should help out in making an IP spice/verilog |
| //# flow accurate and strict. |
| LVS SPICE PREFER PINS YES |
| LVS SPICE OVERRIDE GLOBALS YES |
| LVS SPICE REDEFINE PARAM YES |
| LVS SPICE ALLOW INLINE PARAMETERS NO |
| |
| //# expanding would flatten most cells during comparison |
| LVS EXPAND SEED PROMOTIONS NO |
| LVS DISCARD PINS BY DEVICE YES |
| |
| //# Cypress methodology will require setting this on a per-model basis |
| //# using LVS REDUCE component(model) |
| LVS REDUCE PARALLEL RESISTORS NO |
| LVS REDUCE SERIES RESISTORS NO |
| LVS REDUCE PARALLEL CAPACITORS NO |
| LVS REDUCE SERIES CAPACITORS NO |
| ////// |
| LVS REDUCE PARALLEL DIODES NO |
| LVS REDUCE PARALLEL BIPOLAR NO |
| LVS REDUCE PARALLEL MOS YES |
| LVS REDUCE SERIES MOS NO |
| |
| //# Allows recoginition of logic gates. Should be NONE for good dspf. |
| LVS RECOGNIZE GATES NONE |
| LVS IGNORE PORTS NO |
| LVS CHECK PORT NAMES YES |
| |
| //# Don't use these nets as initial bind points (convenience) |
| //# n<number> |
| LVS NON USER NAME NET "^n[0-9]*$" |
| |
| //# net<number> |
| LVS NON USER NAME NET "^net[0-9]*$" |
| |
| //# This gets disabled anyway because we have |
| //# MASK SVDB DIRECTORY "$PDK_HOME/PEX/xRC/svdb" QUERY XRC |
| //# By forcibly disabling it, we turn off a warning |
| LVS PUSH DEVICES NO |
| LVS EXECUTE ERC YES |
| ERC RESULTS DATABASE "erc.db" ASCII |
| ERC CELL NAME YES ALL CELL SPACE XFORM |
| |
| //# For now, RFI is needed for xErrorSum. Will eventually change. |
| ERC CHECK TEXT COMMENTS RFI |
| ERC SUMMARY REPORT "erc.rep" |
| //MASK SVDB DIRECTORY "$PDK_HOME/PEX/xRC/svdb" QUERY XRC |
| // LVS REPORT "lvs.rep" |
| |
| //# report detailed SCONNECT conflicts |
| LVS REPORT OPTION S |
| |
| //# disable warning about missing smashed mosfets |
| LVS REPORT OPTION F |
| |
| //# give report on source passthroughs, same as layout does by default |
| LVS REPORT OPTION SP |
| |
| //# maximum short isolation |
| LVS ISOLATE SHORTS YES BY LAYER CELL ALL |
| |
| //# while the training on this seems safe enough, the documentation still |
| //# makes it sound like the nets get connected regardless of VIRTUAL CONNECT NAME, |
| //# so I will not use this directly |
| //#VIRTUAL CONNECT COLON YES |
| //# I think this is a little safer, and exactly what assura seems to do. I know |
| //# this will not connect the disjoint labels without VIRTUAL CONNECT NAME |
| LAYOUT RENAME TEXT "/:.*//" |
| |
| //# go ahead and report if nets are virtually connected |
| VIRTUAL CONNECT REPORT YES |
| |
| |
| PEX REDUCE ANALOG NO |
| PEX NETLIST UPPERCASE KEYWORDS NO |
| PEX NETLIST VIRTUAL CONNECT NO |
| PEX NETLIST NOXREF NET NAMES YES |
| PEX NETLIST MUTUAL RESISTANCE YES |
| // PEX NETLIST ESCAPE CHARACTERS "!@#$%^&*()+{}|\:;’‘/.,-=[]" |
| PEX EXTRACT EXCLUDE LAYOUTNAMES RECURSIVE "?VGND?" |
| PEX EXTRACT EXCLUDE LAYOUTNAMES RECURSIVE "?VPWR?" |
| PEX EXTRACT EXCLUDE LAYOUTNAMES RECURSIVE "?VPB?" |
| PEX EXTRACT EXCLUDE LAYOUTNAMES RECURSIVE "?VNB?" |
| PEX NETLIST "$JOB_HOME/spef/$PEX_NETLIST" SPEF PRIMETIME SOURCENAMES |
| |
| |
| //PEX NETLIST "$TEST_DIR/torture_tests/$JOB_NAME/pex/$PEX_NETLIST" HSPICE 1 SOURCENAMES |
| //PEX NETLIST "$TEST_DIR/torture_tests/$JOB_NAME/pex/$PEX_NETLIST" HSPICE 1 SOURCENAMES RLOCATION RWIDTH RLENGTH RLAYER RTHICKNESS RACTUAL RVIACOUNT CLOCATION |
| |
| |
| |
| LVS REPORT OPTION NONE |
| LVS FILTER UNUSED OPTION NONE SOURCE |
| LVS FILTER UNUSED OPTION NONE LAYOUT |
| LVS RECOGNIZE GATES ALL |
| |
| VIRTUAL CONNECT COLON NO |
| // VIRTUAL CONNECT REPORT NO |
| |
| DRC ICSTATION YES |
| |
| //# include the technology rules |
| //INCLUDE "/data/pdks/skywater/s8/V1.3.0/PEX/xRC/xrcControlFile_s8" |
| //INCLUDE "$PDK_HOME/PEX/xRC/extLvsRules_s8_5lm" |
| |
| INCLUDE "$TEST_DIR/pdk/skywater/s8/V2.0.1/PEX/extLvsRules_s8_5lm_s130-names" |
| |
| //# -join |
| VIRTUAL CONNECT NAME "?" |
| |
| //# Expand Pcells |
| EXPAND CELL "*$$*" |
| // LVS DEVICE TYPE MP "SKY130_FD_PR__PFET_01V8" SOURCE LAYOUT |
| |
| //LVS MAP DEVICE MP(pfet_g5v0d10v5) MP(phv) SOURCE LAYOUT |
| //LVS MAP DEVICE MN(NFET_G5V0D10V5) MN(nhv) SOURCE LAYOUT |
| |
| |
| |
| INCLUDE "$TEST_DIR/runsets/bbox.sky130_fd_sc_hd.txt" |
| |
| LVS BOX sky130_sram_2kbyte_1rw1r_32x512_8 LAYOUT |
| LVS BOX sky130_sram_2kbyte_1rw1r_32x512_8 SOURCE |
| |
| |
| //LVS BOX mgmt_protect_hv LAYOUT |
| //LVS BOX mgmt_protect_hv SOURCE |
| |
| |
| |
| // LVS GROUND NAME VSSD1 VSSD |