blob: 243c239f3891876172394a31fc91152d6054d899 [file] [log] [blame]
/*
###############################################################################################
#
# GLOBALFOUNDRIES Singapore Pte. Ltd.
#
# File: cmos018hv.3p3.6v.lvs.ctl
# Description: Mentor Calibre LVS Runset for 018MCU
# Document ID: EDA-CAD-018-LV131
# Document Revision: 11
# Author: Liew Sie Ling
# Date: 2018-02-27 10:47:58
#
###############################################################################################
# Copyright (c) 2018 GLOBALFOUNDRIES Singapore Pte. Ltd.
###############################################################################################
# This document is confidential and a proprietary product of GLOBALFOUNDRIES Singapore Pte. Ltd.
# Any unauthorized use, reproduction or transfer of this document is strictly prohibited.
###############################################################################################
# Disclaimer:
# -----------
# The information contained herein is confidential and is the property of GLOBALFOUNDRIES and/or
# its licensors. GLOBALFOUNDRIES reserves all proprietary, design, manufacturing, reproduction,
# use, sales and other rights in the information herein, in its products and services, and to any
# article or process utilizing such information, except to the extent that rights are expressly
# granted to others.
# This document is for informational purposes only, is current only as of the date of publication
# and is subject to change by GLOBALFOUNDRIES at any time without notice. While precautions have
# been taken in the preparation of the information herein, it may contain technical inaccuracies,
# omissions and typographical errors. GLOBALFOUNDRIES is under no obligation to update or otherwise
# correct this information.
# All information contained herein is provided "AS IS." GLOBALFOUNDRIES makes no representations
# and disclaims all warranties of any kind, express or implied, including without limitation any
# implied warranties of non-infringement, merchantability or fitness for a particular purpose,
# with respect to the information contained HEREIN.
# Terms and conditions applicable to the purchase, quality and use of GLOBALFOUNDRIES' products
# and services are as set forth in your organization's signed agreement with GLOBALFOUNDRIES or
# in GLOBALFOUNDRIES' Standard Terms and Conditions of Sale. Unless otherwise authorized in a
# signed agreement with GLOBALFOUNDRIES, GLOBALFOUNDRIES' products and services are NOT intended
# for use in applications such as implantation, life support, or other hazardous uses where
# malfunction could result in death, bodily injury, or catastrophic property damage.
# GLOBALFOUNDRIES, the GLOBALFOUNDRIES logo and combinations thereof are trademarks of
# GLOBALFOUNDRIES Inc. in the United States and/or other jurisdictions. Other product or service
# names are for identification purposes only and may be trademarks or service marks of their
# respective owners.
# � GLOBALFOUNDRIES Inc. 2015. Unless otherwise indicated, all rights reserved.
# Do not copy or redistribute except as expressly permitted by GLOBALFOUNDRIES.
#
###############################################################################################
*/
#IFDEF PEX_RUN
TITLE "Mentor Calibre LVS/PEX Technology File for GLOBALFOUNDRIES 0.18UM 3.3V/(5V)6V HIGH VOLTAGE PROCESS (GREEN PROCESS)"
#ELSE
TITLE "Mentor Calibre LVS Runset for GLOBALFOUNDRIES 0.18UM 3.3V/(5V)6V HIGH VOLTAGE PROCESS (GREEN PROCESS)"
#ENDIF // PEX_RUN
/**********************************************************************************************************/
/* +----------------------------------------------------------------------------------------------------+ */
/* | SWITCHES SETUP SECTION | */
/* +----------------------------------------------------------------------------------------------------+ */
/**********************************************************************************************************/
//
//########################################################################################################//
// Switch: Metallization Option //
//########################################################################################################//
// To define the metalization option please use the following environmental variable:
//
// $BEOL_STACK = 1PxM (x = # of metal layers, 2<=x<=6)
//
// Please refer to DR spec for available metalization options.
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines!
// If NOT ... You MUST uncomment ONE metallization option.
//========================================================================================================//
//#DEFINE BEOL_1P2M // Uncomment this line to define metal2 as the top metal (Poly2,M1,M2).
//#DEFINE BEOL_1P3M // Uncomment this line to define metal3 as the top metal (Poly2,M1,M2,M3).
//#DEFINE BEOL_1P4M // Uncomment this line to define metal4 as the top metal (Poly2,M1,M2,M3,M4).
#DEFINE BEOL_1P5M // Uncomment this line to define metal5 as the top metal (Poly2,M1,M2,M3,M4,M5).
//#DEFINE BEOL_1P6M // Uncomment this line to define metal6 as the top metal (Poly2,M1,M2,M3,M4,M5,M6).
//
#IFDEF $BEOL_STACK 1P2M
#DEFINE BEOL_1P2M
#ENDIF // $BEOL_STACK 1P2M
#IFDEF $BEOL_STACK 1P3M
#DEFINE BEOL_1P3M
#ENDIF // $BEOL_STACK 1P3M
#IFDEF $BEOL_STACK 1P4M
#DEFINE BEOL_1P4M
#ENDIF // $BEOL_STACK 1P4M
#IFDEF $BEOL_STACK 1P5M
#DEFINE BEOL_1P5M
#ENDIF // $BEOL_STACK 1P5M
#IFDEF $BEOL_STACK 1P6M
#DEFINE BEOL_1P6M
#ENDIF // $BEOL_STACK 1P6M
#IFNDEF BEOL_1P2M
#IFNDEF BEOL_1P3M
#IFNDEF BEOL_1P4M
#IFNDEF BEOL_1P5M
#IFNDEF BEOL_1P6M
ERROR_MESSAGE_BEOL_STACK = COPY __NO_VALID_BEOL_STACK_DEFINED__
#ENDIF // BEOL_1P6M
#ENDIF // BEOL_1P5M
#ENDIF // BEOL_1P4M
#ENDIF // BEOL_1P3M
#ENDIF // BEOL_1P2M
//
//########################################################################################################//
// Switch: Thick Top Metal Option //
//########################################################################################################//
// To define other value as thick top metal thickness please use the following environmental variable:
//
// $TOPMETAL = 9kA
//
// e.g.
// setenv TOPMETAL 9kA # [ 6kA | 9kA | 11kA | 30kA ]
//
// Please refer to DR spec for available topmetal thickness options.
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines! //
//========================================================================================================//
// #DEFINE TOPMETAL_6kA // Uncomment this line to define 6kA as thick top metal thickness.
#DEFINE TOPMETAL_9kA // Uncomment this line to define 9kA as thick top metal thickness.
// #DEFINE TOPMETAL_11kA // Uncomment this line to define 11kA as thick top metal thickness.
// #DEFINE TOPMETAL_30kA // Uncomment this line to define 30kA as thick top metal thickness.
//
#IFDEF $TOPMETAL 6kA
#DEFINE TOPMETAL_6kA
#ENDIF // $TOPMETAL 6kA
#IFDEF $TOPMETAL 9kA
#DEFINE TOPMETAL_9kA
#ENDIF // $TOPMETAL 9kA
#IFDEF $TOPMETAL 11kA
#DEFINE TOPMETAL_11kA
#ENDIF // $TOPMETAL 11kA
#IFDEF $TOPMETAL 30kA
#DEFINE TOPMETAL_30kA
#ENDIF // $TOPMETAL 30kA
//
///########################################################################################################//
// Switch: Ppoly high resistor Option //
//########################################################################################################//
// By default,LVS ues 1K high-Rs p+ poly resistor
// To define 2K and 3K p+ poly resistor,please use the following environmental variable:
//
// $POLY_HIGH_RESISTOR = [1K || 2K || 3K]
//
// e.g.
// setenv POLY_HIGH_RESISTOR 1K # [1K || 2K || 3K]
//
// 1K - To define high p+ poly resistor sheet resistance to be 1K
// 2K - To define high p+ poly resistor sheet resistance to be 2K
// 3K - To define high p+ poly resistor sheet resistance to be 3K
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines!
//========================================================================================================//
// #DEFINE POLY_HIGH_RESISTOR_2K // Uncomment this line to define 2K high Rs poly resistor
// #DEFINE POLY_HIGH_RESISTOR_3K // Uncomment this line to define 3K high Rs poly resistor
//
#IFDEF $POLY_HIGH_RESISTOR 2K
#DEFINE POLY_HIGH_RESISTOR_2K
#ENDIF // $POLY_HIGH_RESISTOR 2K
#IFDEF $POLY_HIGH_RESISTOR 3K
#DEFINE POLY_HIGH_RESISTOR_3K
#ENDIF // $POLY_HIGH_RESISTOR 3K
//
//########################################################################################################//
// Switch: MIM Capacitor Option //
//########################################################################################################//
// To extract 1.0fF/um*um or 1.5fF/um*um MIM capacitor please use the following environmental variable:
//
// $EXTRACT_MIM_CAP = [ 2p0fF_OPT_A | 1p5fF_OPT_A | 1p0fF_OPT_A | 2p0fF_OPT_B | 1p5fF_OPT_B | 1p0fF_OPT_B ]
//
// Note: Currently GLOBALFOUNDRIES offers 1.5fF/um*um (Vc <= 6V) , 1.0fF/um*um (Vc <= 20V) and 2.0fF/um*um (Vc <= 6V)
// MIM capacitor in nominal process, however, the three devices can NOT co-exist.
// Please choose one of the three capacitors for LVS.
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines!
//========================================================================================================//
//#DEFINE EXTRACT_MIM_CAP_2p0fF_OPT_A // Uncomment this line to extract 2.0fF/um*um (Vc <= 6V) MIM capacitor.
//#DEFINE EXTRACT_MIM_CAP_1p5fF_OPT_A // Uncomment this line to extract 1.5fF/um*um (Vc <= 6V) MIM capacitor.
//#DEFINE EXTRACT_MIM_CAP_1p0fF_OPT_A // Uncomment this line to extract 1.0fF/um*um (Vc <= 20V) MIM capacitor.
#DEFINE EXTRACT_MIM_CAP_2p0fF_OPT_B // Uncomment this line to extract 2.0fF/um*um (Vc <= 6V) MIM capacitor.
//#DEFINE EXTRACT_MIM_CAP_1p5fF_OPT_B // Uncomment this line to extract 1.5fF/um*um (Vc <= 6V) MIM capacitor.
//#DEFINE EXTRACT_MIM_CAP_1p0fF_OPT_B // Uncomment this line to extract 1.0fF/um*um (Vc <= 20V) MIM capacitor.
//
#IFDEF $EXTRACT_MIM_CAP 1p0fF_OPT_A
#DEFINE EXTRACT_MIM_CAP_1p0fF_OPT_A
#ENDIF // $EXTRACT_MIM_CAP 1p0fF_OPT_A
#IFDEF $EXTRACT_MIM_CAP 1p5fF_OPT_A
#DEFINE EXTRACT_MIM_CAP_1p5fF_OPT_A
#ENDIF // $EXTRACT_MIM_CAP 1p5fF_OPT_A
#IFDEF $EXTRACT_MIM_CAP 2p0fF_OPT_A
#DEFINE EXTRACT_MIM_CAP_2p0fF_OPT_A
#ENDIF // $EXTRACT_MIM_CAP 2p0fF_OPT_A
#IFDEF $EXTRACT_MIM_CAP 1p0fF_OPT_B
#DEFINE EXTRACT_MIM_CAP_1p0fF_OPT_B
#ENDIF // $EXTRACT_MIM_CAP 1p0fF_OPT_B
#IFDEF $EXTRACT_MIM_CAP 1p5fF_OPT_B
#DEFINE EXTRACT_MIM_CAP_1p5fF_OPT_B
#ENDIF // $EXTRACT_MIM_CAP 1p5fF_OPT_B
#IFDEF $EXTRACT_MIM_CAP 2p0fF_OPT_B
#DEFINE EXTRACT_MIM_CAP_2p0fF_OPT_B
#ENDIF // $EXTRACT_MIM_CAP 2p0fF_OPT_B
// If none of these EXTRACT_MIM_CAP_**_OPT_A were selected
// connectivity for MIM_OPTION_B will be followed
#IFDEF EXTRACT_MIM_CAP_1p0fF_OPT_A
#DEFINE MIM_OPTION_A
#ENDIF
#IFDEF EXTRACT_MIM_CAP_1p5fF_OPT_A
#DEFINE MIM_OPTION_A
#ENDIF
#IFDEF EXTRACT_MIM_CAP_2p0fF_OPT_A
#DEFINE MIM_OPTION_A
#ENDIF
//
//########################################################################################################//
// Switch: ERC Option //
//########################################################################################################//
// By default, LVS does not run any ERC checks.
// To run ERC checks please use the following environmental variable:
//
// $LVS_EXECUTE_ERC = YES
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines!
//========================================================================================================//
//#DEFINE ERC_RUN // Uncomment this line to run ERC checks in LVS.
//
#IFDEF $ERC_RUN YES
#DEFINE ERC_RUN
#ENDIF // $ERC_RUN YES
//
//========================================================================================================//
//########################################################################################################//
// Switch: Connect thru diffusion check Option //
//########################################################################################################//
// By default, CONNECT_THRU_DIFF_CHECK = NO This means that any ptap ring, ntap ring, nsd ring, and psd ring
// that sits in the same diffusion will pass CONNECT_THRU_DIFF_CHECK even if there's a metal slit in the ring.
//
// $CONNECT_THRU_DIFF_CHECK = [ YES | NO ]
//
//#DEFINE CONNECT_THRU_DIFF_CHECK // uncomment this line to check all diffusion layers that used as connections.
//
#IFDEF $CONNECT_THRU_DIFF_CHECK YES
#DEFINE CONNECT_THRU_DIFF_CHECK
#ENDIF // $CONNECT_THRU_DIFF_CHECK YES
//
//########################################################################################################//
// Switch: MOSFET Number-of-Finger(NF) Extraction Option //
//########################################################################################################//
// By default, LVS extract multifinger MOSFET as one device and its NF is extracted base on the connected
// gate numbers over the same diffusion region.
// To extract multifinger MOSFET as separate individual devices, please use the following environmental variable:
//
// $MOS_NF_BY = SPLIT
//
// e.g.
// setenv MOS_NF_BY COUNT # [ COUNT || SPLIT ]
//
// e.g.
// By default (MOS_NF_BY_SPLIT), 3-finger MOSFET is extracted as 3 MOSFET with NF=1,
// while with MOS_NF_BY_COUNT defined, 3-finger MOSFET is extracted as 1 MOSFETs with NF=3 for each MOSFET.
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines! //
//========================================================================================================//
// #DEFINE MOS_NF_BY_COUNT // Uncomment this line to extract MOSFET NF by total gate count.
//
#IFDEF $MOS_NF_BY COUNT
#DEFINE MOS_NF_BY_COUNT
#ENDIF // $MOS_NF_BY COUNT
//
#IFDEF $MOS_NF_BY COUNT
#IFDEF MOS_NF_BY_SPLIT
ERROR_MESSAGE_MOS_NF_BY = COPY __MORE_THAN_ONE_MOS_NF_BY_DEFINED_COUNT_&_SPLIT__
#ENDIF // MOS_NF_BY_SPLIT
#ENDIF // $MOS_NF_BY COUNT
//
//########################################################################################################//
// Switch: PEX Option //
//########################################################################################################//
// By default, LVS does not run PEX.
// To run PEX please use the following environmental variable:
//
// $PEX_RUN = YES
//
// e.g.
// setenv PEX_RUN NO # [ NO || YES ]
//
//========================================================================================================//
// If environmental variables are being used, do NOT edit the next lines! //
//========================================================================================================//
// #DEFINE PEX_RUN // Uncomment this line to run PEX.
//
#IFDEF $PEX_RUN YES
#DEFINE PEX_RUN
#ENDIF // $PEX_RUN YES
//
/**********************************************************************************************************/
/* +----------------------------------------------------------------------------------------------------+ */
/* | INCLUDE SECTION | */
/* +----------------------------------------------------------------------------------------------------+ */
/**********************************************************************************************************/
INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/INCLUDE/cmos018hv.3p3.6v.layers.cal
INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/INCLUDE/cmos018hv.3p3.6v.extract.cal
INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/INCLUDE/cmos018hv.3p3.6v.compare.cal
INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/INCLUDE/gf180mcu_fd_sc_mcu7t5v0.bbox
#IFDEF ERC_RUN
INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/INCLUDE/cmos018hv.3p3.6v.erc.cal
#ENDIF
#IFDEF PEX_RUN
//INCLUDE __PEX_RULE_PATH__/__PEX_FILE_C__
//INCLUDE __PEX_RULE_PATH__/__PEX_FILE_R__
#ENDIF // PEX_RUN
#IFDEF $INCLUDE_FILE
INCLUDE $INCLUDE_FILE
#ELSE
//INCLUDE $TECHDIR/LVS/Calibre/EDA-CAD-018-LV131/Rev11/sample_design_inc.cal
#ENDIF
/**********************************************************************************************************/
/* +----------------------------------------------------------------------------------------------------+ */
/* | LVS GLOBAL OPTION DEFINITION SECTION | */
/* +----------------------------------------------------------------------------------------------------+ */
/**********************************************************************************************************/
LVS SPICE REPLICATE DEVICES NO
LVS SPICE STRICT WL NO
VARIABLE JOB_NAME ENVIRONMENT
LAYOUT PATH $LAYOUT_PATH
LAYOUT PRIMARY JOB_NAME
LAYOUT SYSTEM GDSII
SOURCE PATH $SOURCE_PATH
SOURCE PRIMARY JOB_NAME
SOURCE SYSTEM SPICE
LAYOUT CASE YES
LAYOUT PRESERVE NET CASE YES
SOURCE CASE YES
// box
LVS REPORT OPTION BX
// detailed error analysis
LVS REPORT OPTION FX
// omit correctly matched pins
LVS REPORT OPTION NP
// passthrough nets
LVS REPORT OPTION SP
LVS REPORT $LVS_REPORT_PATH