blob: d2ce935e2ec6dc9eb9e7437f4c0131fdd2eb881b [file] [log] [blame] [edit]
//# -*- 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