Xcalibrat Batch User
Xcalibrat Batch User
This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this
document may duplicate this document in whole or in part for internal business purposes only, provided that this entire
notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable
effort to prevent the unauthorized use and distribution of the proprietary information.
This document is for information and instruction purposes. Mentor Graphics reserves the right to make
changes in specifications and other information contained in this publication without prior notice, and the
reader should, in all cases, consult Mentor Graphics to determine whether any changes have been
made.
The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in
written agreements between Mentor Graphics and its customers. No representation or other affirmation
of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor
Graphics whatsoever.
MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE.
MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT,
EVEN IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at
private expense and are commercial computer software and commercial computer software
documentation within the meaning of the applicable acquisition regulations. Accordingly, pursuant to
FAR 48 CFR 12.212 and DFARS 48 CFR 227.7202, use, duplication and disclosure by or for the U.S.
Government or a U.S. Government subcontractor is subject solely to the terms and conditions set forth in
the license agreement provided with the software, except for provisions which are contrary to applicable
mandatory federal laws.
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of
Mentor Graphics Corporation or other parties. No one is permitted to use these Marks without the prior
written consent of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third-
party Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to
indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics’
trademarks may be viewed at: www.mentor.com/trademarks.
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of
Linus Torvalds, owner of the mark on a world-wide basis.
Chapter 1
Introduction to xCalibrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xCalibrate Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xCalibrate Tool Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xCalibrate Command Line Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 2
MIPT File Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
The MIPT File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
MIPT File Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Rules for Creating an MIPT File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
MIPT Syntax Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Case Sensitivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Use Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Hidden Layer Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Calibration Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Chapter 3
MIPT File Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Global Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Layer Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Dielectric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Conductor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Derived . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Seed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PCaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Src_drn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Device_li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Via. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
TSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
uBump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Multigate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Substrate Layer Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Well. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Substrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Process Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Thickness Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Retargeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Multiple Width Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Gate Fringe Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Table Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Variable Keywords. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Table Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Chapter 4
MIPT Keyword Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
airgap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
background_dielectric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
bias_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
bot_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
botthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
bottom_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
bulk_min_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
bulk_resistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
calibration_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
cap_unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
capacitive_only_etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
channel_er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
comment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
conductor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
cond_type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
contact_width2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
coplanar_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
damage_eps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
damage_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
date. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
density_window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
depletion_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
derived . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
derived_type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
device_li. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
device_li_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
dielectric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
diel_type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
dim_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
distance_unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
enclosure_down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
enclosure_up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
eps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
extra_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
fin_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
fin_spacing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
fin_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
fin_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
gate_diffusion_layer_pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
gate_oxide_er. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
gate_oxide_side_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
gate_oxide_top_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
gate_poly_side_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
gate_poly_top_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
gate_to_cont_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
gate_to_cont_spacing_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
gate_to_LI1_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
gate_to_LI2_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
gate_to_via_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
gate_to_via_spacing_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
half_node_scale_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
height . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
hidden. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
hollow_radius. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
ignore_diff_intrinsic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
ignore_diff_to_diff_under_poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
ignore_endcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
ignore_gate_intrinsic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
ignore_gate_to_diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
ignore_gateext_to_diff. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
ignore_gateext_to_diff_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
ignore_rsd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
ignore_rsd_intrinsic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
inductance_unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
insulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
layer_bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
layer_name. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
li_device_model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
li_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
max_area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
max_length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
max_rlength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
max_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
max_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
measured_from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
measured_to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
metal_fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
mid_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
min_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
min_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
mipt_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
multigate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
multigate parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
parallel_to_gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
pcaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
plate_loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
ref_layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
resistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
resistivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
ronly_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
rsd_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
rsd_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
rsd_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
r_sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
rsh_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
seed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
seed_layers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
spacings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
src_drn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
src_drn_contact_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
src_drn_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
substrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
svrf_verbatim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
swslope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
swthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
table_type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
tap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
tc1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
tc2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
thickness. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
thickness_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
top_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
topthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
trap_style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
trench_contact_extension_length. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
trim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
tsv_model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
tsv_radius_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
ubump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
value_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
via. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
well. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
widths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
zbottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
ztop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Chapter 5
MIPT File Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Interconnect Technology Format (ITF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
ITF Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Auxiliary File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
Translating an ITF File to MIPT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Translating an ITF File to MIPT With an Auxiliary File . . . . . . . . . . . . . . . . . . . . . . . . . . 364
iRCX File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Verifying MIPT Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Performing the Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Stack Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Stack Viewer GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Stack Viewer Session Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
MIPT Editor Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
Log Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Layers Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Stack View Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Chapter 6
xCalibrate Invocation Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Reference Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Setting the CALIBRE_HOME Environment Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Appendix A
Example MIPT 2.0 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Glossary
Index
Third-Party Information
End-User License Agreement
The xCalibrate™ rule file generator automatically creates the necessary capacitance and
resistance rules for accurately extracting parasitic devices.
The following sections provide an overview of the xCalibrate rule file generator:
xCalibrate Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xCalibrate Tool Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
xCalibrate Command Line Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
xCalibrate Overview
xCalibrate™ is a software tool that lets you describe your process technology information and
generate a rule file containing Standard Verification Rule Format (SVRF) capacitance and
resistance statements.
The generated rule files can be included in a larger SVRF rule file for use by the
Calibre® xACT™, Calibre® xRC™, and Calibre® xL tools during parasitic extraction. For
information on SVRF rules, see Standard Verification Rule Format (SVRF) Manual.
The xCalibrate tool automatically creates the necessary capacitance and resistance rules for
accurately extracting parasitic devices. If you are not using rule files supplied by your foundry,
you need to use the xCalibrate tool to set up rule files for use by the Calibre xACT or
Calibre xRC tools.
xCalibrate Requirements
You must have the following to run the xCalibrate tool:
• You must have an xCalibrate license. If you plan to run other Calibre tools, you must
have licenses for those tools. For licensing information, see the “Licensing: Parasitic
Extraction Products” chapter of the Calibre Administrator’s Guide.
• You must have set the environment variable CALIBRE_HOME to the location of your
Mentor Graphics tree and set any other environment variables you want to use. For
details on the CALIBRE_HOME environment variable, see “Setting the
CALIBRE_HOME Environment Variable” in the Calibre Administrator’s Guide.
• Before running calibration, you must have either a .mipt technology file or a .tm
technology file. The .mipt and .tm files are both process technology files and
functionally equivalent. The advantage of using .mipt files is that they are easier to
produce programmatically. For information on creating .mipt files, refer to “The MIPT
File Format” on page 17.
The command line usage shown when xCalibrate is entered on the command line is as follows:
Usage
xcalibrate -help
xcalibrate -exec
[-turbo [number_of_cpus]]
[-remote host1, host2,...hostN || -remotefile <remotefile>]
[-noheader]
[-tech <techdir>]
[-xact3d [-tcad] || -rperc || -tsv]
[-rulefile <rule_file_name>]
[-retry <n>] [-start start_stage] [-end end_stage]
[-hidden]
{<mipt_techfile> [-corner <corner>] [-aux <aux_file>] ||
{-itf [-corner <corner>] <itf_file>
[-aux <aux_file>] [-itfmap <map_file>]}}
xcalibrate -version
For more information on the xCalibrate tool flow, refer to the process shown in Figure 1-1.
For more information on the xCalibrate command line syntax, refer to “xCalibrate Invocation
Reference” on page 379.
Syntax Conventions
The command descriptions use font properties and several metacharacters to document the
command syntax.
The MIPT file format enables you to create an ASCII file containing process technology
information.
This chapter includes the following sections that provide information on the MIPT file format:
# header
mipt_version = 2.0
process, date and contact information
calibration_type = ALL # where ALL is one of 4 keyword choices
# base layer:
base = base_name { # Layers must be named
properties # Layers have required and optional properties
}
# dielectric layers:
dielectric = d1 { # where d1 is the user specified name of the dielectric
properties
}
# metal layer
conductor = m1 {
properties
}
dielectric = d3 {
properties
}
# metal layer
conductor = m2 {
properties
}
# via layers:
via = via1 {
properties
}
via = via2 {
properties
}
• Thickness
• Conductor’s minimum width
• Conductor’s minimum spacing
• Distance between conductor layer and substrate
• Conductor layers’ biasing
• Conductor layers’ scaling
• Dielectric constant
For calibration, the MIPT file must define at least one metal layer.
• Type the keyword as the first token on the line, followed by a space (optional), an equal
sign, a space (optional), and then the argument or values on the same line. Keywords are
not case sensitive. For example, the following three cases are valid and equivalent:
thickness = 0.085
THICKNESS =0.085
Thickness=0.085
The following layer definition is not valid because the opening brace is not on the same
line as the layer name:
conductor = metal1
{
min_width = 0.065
min_spacing = 0.065
r_sheet =0.38
thickness = 0.13
extension = 0.01
}
xCalibrate issues the following message when parsing the MIPT file:
Error XCAL_2_002: MIPT Parser Error:Expected “<layer_type> =
<layer_name> {“ near line 9 in file tech_45nm.mipt
The following layer definition is not valid because it is missing the required parameter
thickness:
conductor = metal1 {
min_width = 0.065
min_spacing = 0.065
r_sheet =0.38
extension = 0.01
}
xCalibrate issues the following message when parsing the MIPT file:
Error XCAL_2_002: MIPT Parser Error:Missing conductor layer
parameter “thickness” for layer near line 94 in file tech_45nm.mipt
Keywords
Keywords are assigned a value by using the equals sign (=).
All keywords must have:
Units
Unit values for different MIPT parameters are defined by the tool.
The default units used for MIPT values are shown in Table 2-1:
Distance
The default unit for distance is micron, also referred to as micrometer, um, or 1e-06. To specify
a different unit for distance, the distance_unit parameter may be specified in your MIPT file:
distance_unit = unit
This optional parameter affects the global setting for all distance values and must be specified as
a global parameter and not as part of another keyword definition.
Table 2-2 lists the unit values that may be specified for distance_unit:
For example, to specify all distance units in nanometers, include the following parameter
specification in your MIPT file:
distance_unit = nm
Temperature
The unit for temperature is degrees Celsius. It is not possible to change the temperature unit.
Resistivity
The unit for resistivity is ohm * distance_unit. The unit for sheet resistance is ohm. It is not
possible to change the resistivity or sheet resistance units. Resistance is a function of
temperature.
Capacitance
The default unit for capacitance is femto-farads (1e-15 farads). To specify a different unit for
capacitance, the cap_unit parameter may be specified in your MIPT file:
cap_unit = unit
This optional parameter affects the global setting for all capacitance values and must be
specified as a global parameter and not as part of another keyword definition or block.
Table 2-3 lists the unit values that may be specified for cap_unit:
For example, to specify all capacitance units in picofarads, include the following parameter
specification in your MIPT file:
cap_unit = pf
Inductance
The default unit for inductance is picohenry (1e-12 henrys). To specify a different unit for
inductance, the inductance_unit parameter may be specified in your MIPT file:
inductance_unit = unit
This optional parameter affects the global setting for all inductance values and must be specified
as a global parameter and not as part of another keyword definition.
Table 2-4 lists the unit values that may be specified for inductance_unit:
inductance_unit = nh
Case Sensitivity
The MIPT syntax is case sensitive. The case of keywords and values is preserved and output.
This includes layer names and any other specified labels.
Comments
There are two types of comments supported, block and single line.
Single line comments begin with a pound sign (#) character. This character may appear in any
position on the line. All subsequent characters appearing after the pound sign (#) are ignored.
For example:
Block comments begin with the /* string and end with the */ string. These may surround a
single line or multiple lines. For example:
/* This is a multiple
line
block
comment. */
Use Directive
The use keyword is an optional text string that enables you to reuse named objects to create new
objects. This is a special keyword that may be used more than once.
An optional modifier called with is permitted in the use command. Properties from the re-used
object may be overridden or added to the new object by including the with modifier followed by
the list of properties enclosed in braces ({ }). This modifier may be applied to any use
statement. For example:
The following is an example of how to define a new layer pc_par from an original layer pc:
Encryption
#ENCRYPT and #DECRYPT are directives used to control the encryption of SVRF statements.
The SVRF statements are defined within the MIPT file using the optional global parameter
svrf_verbatim. These optional directives may only be used when specifying multiple lines
within braces.
Add the #ENCRYPT directive at the start of the block and the #DECRYPT after the last line of
the block you want to encrypt:
svrf_verbatim = {
PEX REDUCE ANALOG YES
#ENCRYPT
// capacitance controls
CAPACITANCE ORDER poly m1 m2
N4_PEX = M4 NOT GATE
#DECRYPT
Statements specified outside of the directives appear in the header section of the calibrated rule
file. Statements specified within the block are encrypted:
...
PEX REDUCE ANALOG YES
#DECRYPT %'+~$IA7I@3^UE:P%1QMT4:*!H;J;1Q!!"[X<'@?U.`WA<L7,O4"R02A!!"
R*E"CSA\+0^Y:"RO@VLX4!!!"E^W["MS@>7R,=2Q$9L>X5@N3-\/>>%CEC7)4!AXFL:Q!#
,L#I!]@%B%5E2.(%Q,^$DQ!!")9OAR4C?L!@9&WA#J']E[1!!"
#ENDCRYPT
...
Add the #HIDDEN directive at the start of the block and the #ENDHIDDEN after the last line
of the block you want to hide:
...
#HIDDEN
base = field_base {
zbottom = -1
thickness = 1
}
dielectric = field_base_diel {
diel_type = planar
# zbottom = 0
thickness = 0.4
eps = 3.29
}
#ENDHIDDEN
conductor = poly {
# zbottom = 0.4
thickness = 0.1
min_width = 0.046
min_spacing = 0.048
max_width = 0.184
max_spacing = 5
r_sheet = 9
}
...
Statements specified within the block are encrypted and layers specified outside of the
directives appear in the calibrated rule file, for example:
...
#DECRYPT %?)~5@~
SQC#A;=D’\OI’/E=T:%D$HW2TW,5~1KT(UWI1)\M!#DZMXS<#)#,<JT>DV)$07QA! !
“_Y4PT;/3P?OCL63J”$YM@A! !”SJ6IG,2X$R,~)?]4Z?N,’/ZU”F3GT--
L’_NU=MP1R2>7OI&10VTB6RO,+^”*ML=!F*V”+&.B-5F-Q;W:2+-JWL!!”])J#J*;6T^-
4;4F:+SIN-!!!”
#ENDCRYPT
...
Calibration Types
Calibration types identify the intended used for the MIPT file.
The calibration_type keyword is a required keyword used to indicate the possible uses of a
MIPT file. It accepts one or more of the following values for type:
• RONLY
Specifies that the MIPT file is only intended for RONLY calibrations. When doing an
RONLY calibration, only the technology header and resistance rules are calibrated. It
may not be suitable for other calibrations due to insufficient data or accuracy of data.
If the stack specified in your MIPT file does not contain any dielectric layers, then it
may only be used for calibration of RONLY rules.
• FIELDSOLVER
Specifies that the MIPT file is only intended for FIELDSOLVER calibrations. When
doing a FIELDSOLVER calibration, only the technology header and resistance rules are
calibrated. It may not be suitable for other calibrations due to insufficient data or
accuracy of data.
• RULEBASED
Specifies that the MIPT file is only intended for RULEBASED calibrations. This type
produces the same output as is currently expected for traditional calibrations. It may not
be suitable for other calibrations due to insufficient data or accuracy of data.
• ALL
Specifies that the MIPT file is intended for ALL calibrations. It may be used for other
calibrations as specified on the command line.
If multiple types are specified they must be enclosed in braces ({ }). For example:
# or with braces
calibration_type = {ALL}
Global Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Layer Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Dielectric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Conductor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Resistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Derived . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Seed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
PCaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Src_drn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Device_li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Via. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
TSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
uBump. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Multigate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Substrate Layer Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Well. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Substrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Process Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Thickness Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Retargeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Multiple Width Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Gate Fringe Capacitance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Global Parameters
The global parameters specify global information about the process. Specify this information
before using the layer keywords.
At minimum the following global parameters must be specified:
mipt_version = 2.0
process = allLAYER
calibration_type = ALL
Typically MIPT files also specify the background dielectric and capacitance unit settings:
# Required syntax
mipt_version = 2.0
process = allLAYER
calibration_type = ALL
# Optional but seen quite often
cap_unit = pf
background_dielectric = 2.5
Layer Definitions
The process technology is principally defined by the layers.
The layer definition syntax is:
layer_type = layer_name {
list_of_parameters
}
• Dielectric layers
• Conducting layers:
o Conductor
o Ground
o Poly
o Diffusion
o li (Metal or Interconnect layers)
• Contact and Via layers
The following layer types are optional:
• Base
• Device_li
• Derived
• Multigate
• Pad
• PCaux
• Resistor
• Src_drn
• Seed
• TSV
• uBump
Base
Base layers can be specified in two different ways.
In the MIPT file, it is possible to have:
Parameters ztop or zbottom, and thickness are required to establish the base plane. If ztop is
used, then zbottom is optional. The recommended usage is ztop = 0 to establish a reference
plane. Most users use the bottom of the shallow trench layer as their base reference plane.
Typically, the base has a negative zbottom, with ztop at 0. If you are using relative ordering for
calculating the z-coordinates of layers, the base definition should appear first.
The following minimum parameters are required for the single base layer definition:
base = <layer_name> {
thickness = <layer thickness>
ztop = 0
zbottom = <bottom z-coordinate, typically a negative value>
}
There can be only one base plane per process definition for parallel stacks.
Figure 3-1 describes how more than one substrate can exist inside the technology stack.
base = base_High_R {
zbottom = -1
thickness = 1
}
dielectric = SUBSTRATE {
zbottom = 0
thickness = 700
eps = 11.9
diel_type = planar
}
base = base_Low_R {
zbottom = 699
thickness = 1
}
dielectric = STI {
zbottom = 700
thickness = 1
eps = 4.1
diel_type = planar
}
For information on multiple base layer extraction see “Extracting With Multiple Substrates” in
the Calibre xRC User’s Manual.
Dielectric
The dielectric keyword is an optional text string that defines the electrical and physical
characteristics of insulating layers between interconnect layers.
The dielectric keyword is used when specifying dielectric layers and may appear multiple times
in your MIPT file. If the stack specified in your MIPT file does not contain any dielectric layers,
then it may only be used for calibration of RONLY rules.
• planar
• conformal
• rsd_conformal
• trench
• mask
• spacer
Each category has specific parameters required for accurate definition of the dielectric material.
dielectric = <layer_name> {
diel_type = planar
thickness = <value>
eps = <value>
}
In the absence of the z-bottom or z-top settings, the dielectric layer should be defined in the
order immediately after the dielectric layer which is below the current layer.
Conformal, rsd_conformal, trench, and spacer dielectrics require some additional parameters:
dielectric = <layer_name> {
diel_type = conformal
# or diel_type can be set to rsd_conformal, trench, or spacer
thickness = <value>
eps = <value>
ref_layer = <referenced_layer_name>
swthk = <value>
topthk = <value>
}
Rsd_conformal dielectrics have the same properties as conformal dielectrics except they are
applied to raised source/drain (rsd) layers instead of diffusion layers.
Spacer dielectrics are conformal dielectrics used to self align contacts near the gate or other
similar operations. They look and behave just like regular conformal dielectrics, but have
priority over conductors.
The syntax allows the reuse of a layer within another layer stack by using the Use Directive.
The syntax does not allow duplicate layer names and will issue an error if one is encountered
during syntax verification with -check.
By default, the minimal z-coordinate or bottom of the dielectric layer, is placed at the top of the
previously defined dielectric layer. For a conformal dielectric layer, the top is the planar part.
For a trench dielectric, thickness is always zero so the top is always the same as the bottom.
An optional syntax zbottom is available if the dielectric layer is not defined in the specified
order. You can measure from the top of a reference layer defined by relative_to instead of
measured_from. If measured_from is omitted, zbottom measures from absolute 0. The zbottom
parameter defines the bottom of the layer. The ztop parameter defines the top of the layer. Both
measure from the top of the previously placed dielectric layer by default. Note that in the
presence of process variability, the use of an absolute zbottom or minimal z-coordinate
measured from an absolute height, is not a convenient way to specify the position of a layer. In
this case, it is better to use either the default minimal z-coordinate or measured from the top
surface of the previously defined dielectric layer, if the layers are defined in order, or combine
zbottom with measured_from to define the relative layer position if the layers are not defined in
order. The same is true for ztop.
It is recommended that layers are defined (stacked) in order as much as possible, without the use
of absolute placement. This is to avoid stacking and measurement confusion in the z-direction.
Conductor
The conductor keyword is a required keyword used to define electrical and physical
characteristics of conducting layers, also referred to as metal layers.
You are required to specify at least one conducting layer in your MIPT file. The z-coordinates
can be either relative to the previous layer or absolute compared to a reference. By default, the
z-coordinate of the bottom of the conducting layer is equal to the top z-coordinate of the
previously-defined dielectric layer.
• Dielectrics are not allowed. Only conductors are allowed in the RONLY conductor
stack.
• Parallel structures are not allowed. Specify all the conductor and via layers in the master
stack.
• The z-coordinates, ztop and zbottom, are not allowed in RONLY calibrations. Explicit
placement using these parameters in the RONLY conductor stack generates an error.
Table 3-6 describes the syntax for the conductor keyword.
Resistor
The resistor keyword is an optional layer definition keyword used to define a resistor.
A resistor layer has the electrical and physical characteristics of conducting layers, also referred
to as metal layers. The resistor layer represents a resistor such as RMOL and has a physical
location in the layer stack. The z-coordinates can be either relative to the previous layer or
absolute compared to a reference. By default, the z-coordinate of the bottom of the conducting
layer is equal to the top z-coordinate of the previously-defined dielectric layer.
Ground
The optional ground keyword is used for extraction with field solvers to define electrical and
physical characteristics of conducting layers, also referred to as metal layers. It has the same
properties as a conductor layer with the following exceptions:
• It cannot be connected to a via.
• It may touch or be coplanar with other conductor layers in the interconnect stack,
usually the diffusion layer.
• It may have conformal dielectrics associated with it.
• It cannot have metal_fill, extension, or raised OD parameters.
• It is only used by Calibre xACT 3D.
Table 3-10 describes the syntax for the ground keyword.
Derived
The optional derived keyword defines the electrical characteristics of conducting layers. This
layer type cannot alter any physical parameters of a conducting layer and may be specified more
than once.
It is possible to describe derived layers within a parallel structure definition. These layers have
no physical location in the main stack, and are used to modify the electrical characteristics of
specific regions being mapped to PEX layers from the layout. Derived layers are optional within
the parallel structure and may be one of the following:
• src_drn
• src_drn_contact
• seed
• ronly
• ronly_contact
• ronly_via
There is no requirement that a derived layer needs to be defined before its first use in the MIPT
file. As with other layer types, derived layers may benefit from the use and use with keywords.
For more information on the use keywords, see Use Directive.
Poly
The poly keyword is an optional keyword used to define electrical and physical characteristics
of conducting layers, also referred to as metal layers.
The poly keyword uses the same required and optional properties as conductor and may be
specified more than once. Poly layer type has an additional optional layer property called
seed_layers. Do not use the conducting layer keyword poly for RONLY calibrations.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
Seed
The seed keyword is an optional keyword used to define the area of the poly over the diffusion
layer.
Seed layers are primary layers and have a physical location in the layer stack. The seed layer
must be defined with an associated poly layer by specifying the seed_layers parameter in the
poly layer definition. Seed layers use the same parameters as poly layer type, however all seed
layer parameters are optional, not required. The seed layer inherits parameter settings from its
associated poly layer. Any parameters specified in the seed layer definition override the
parameter setting specified in the parent poly layer. Do not use the conducting layer keyword
seed for RONLY calibrations.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
The diagram in Figure 3-2 describes how the gate to contact and via minimum spacing
properties are represented.
PCaux
The pcaux keyword is an optional keyword used to define a floating (non-gate) poly layer
abutting the diffusion in between or at the end of a device. PCaux layers are dummy layers
treated as field poly and have a physical location in the layer stack.
Table 3-18 describes the syntax for the pcaux keyword.
Diffusion
The diffusion keyword is an optional keyword used to define electrical and physical
characteristics of conducting layers, also referred to as metal layers.
The diffusion keyword uses the same required and optional properties as conductor and may be
specified more than once. Diffusion layer type has an additional optional layer property called
src_drn_layers. Do not use the conducting layer keyword diffusion for RONLY calibrations.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
Src_drn
The src_drn keyword is an optional keyword used to define the diffusion layer area used to form
the gate.
Src_drn layers have a physical location in the layer stack. A src_drn layer must be defined with
an associated diffusion layer by specifying the src_drn_layers parameter in the diffusion layer
definition. Src_drn uses the same parameters as diffusion layer type, except all src_drn
parameters are optional, not required. The src_drn layer inherits parameter settings from its
associated diffusion layer. Any parameters specified in the src_drn layer definition override the
parameter setting specified in the parent diffusion layer. Do not use the conducting layer
keyword src_drn for RONLY calibrations.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
li
The li keyword is an optional keyword used to define electrical and physical characteristics of
conducting layers, also referred to as metal layers or local interconnect. The li keyword uses the
same required and optional properties as conductor and may be specified more than once.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
Device_li
The device_li keyword is used to define the device region of the li layer. The device_li keyword
uses the same required and optional properties as li and may be specified more than once.
The z-coordinates can be either relative to the previous layer or absolute compared to a
reference. By default, the z-coordinate of the bottom of the conducting layer is equal to the top
z-coordinate of the previously-defined dielectric layer.
Contact
The contact keyword is an optional keyword used to define electrical and physical
characteristics of contact layers. Contact layers are optional.
Table 3-28 describes the contact keyword.
Via
The via layer syntax defines the electrical and physical characteristics of the connections
between layers. Via layers are optional.
Table 3-30 describes the via keyword.
TSV
The optional TSV keyword defines the electrical and physical characteristics of through silicon
vias.
Figure 3-4 shows a 3D-IC with front metal (M1 - M5), back metal (BM1 - BM2) in addition to
a TSV going through the substrate.
Typically micro-balls are used to make electrical connections from one 3D-IC to another die.
The TSV model must have two external pins. Pin1 is measured from the start layer and Pin2
measured to the stop layer. Multiple TSV layers may be defined.
All TSV processes have insulators surrounding the TSV as shown in Figure 3-5. You should
describe the insulators using either a conformal dielectric layer or with the TSV layer insulator
parameter.
For more information on TSV extraction see “Getting Started: Calibre xACT TSV Parasitic
Extraction Using Batch Mode” in the Calibre xACT User’s Manual.
uBump
The optional ubump keyword defines the connection between the back-side metal and a
package.
Figure 3-6 shows a uBump.
Pad
The pad layer is an optional layer type used to define electrical and physical characteristics of
conducting layers that have no routing, and are square or round in shape.
Table 3-36 describes the syntax for the pad keyword.
Multigate
The multigate keyword is used to define a multigate device such as a FinFET. A multigate
device is a MOSFET which incorporates more than one gate into a single device and is
commonly used in microprocessor and memory cell design.
A multigate FinFET is a fin-based transistor with two or more gates built on a substrate.
Figure 3-7 is an example of a multigate FinFET with two gates.
• Well
• Substrate
• Tap
Well
The well keyword is an optional keyword used to define the substrate layer structure. This layer
type may be specified once in the MIPT file. The zbottom and thickness parameters are required
to establish the substrate.
Table 3-40 describes the well keyword.
Substrate
The substrate keyword is an optional keyword used to define the substrate layer. This layer type
may be specified once in the MIPT file. Substrate layers require resistivity, eps, and thickness.
They may not have tables and should not be coplanar with each other or have gaps. The ztop
and zbottom are required to establish the substrate.
Table 3-42 describes the substrate keyword.
Tap
The tap keyword is an optional keyword used to connect power and ground nets to the substrate.
This layer type may be specified once in the MIPT file. The vertical and lateral resistance is
modeled. Tap layers require the parameters for thickness and resistivity. They have placement
information defined relative to the top of the substrate. This information is not used for
capacitance calculations in Calibre xRC or Calibre xACT 3D. The ztop and zbottom parameters
are required.
Table 3-44 describes the tap keyword.
Process Variation
Process variation is due to many systematic and random factors including:
• Design related factors such as the design pattern and homogeneity of interconnect
density.
• Process related factors such as manufacturing imperfections.
There are multiple manufacturing steps that cause process variation such as optical, etch, and
polishing. This can significantly affect parametric yield, thus the impact on parasitics must be
accurately predicted. The effects of systematic variations on conductor dimensions such as
width and thickness, are estimated using simplified equations, tables, or models.
Various foundries have different emphasis on what to model, as well as different formats to
provide variation data. Typical inputs provided by the foundries include the width, thickness,
and interconnect resistivity variations. Via dimension and resistivity variation, and temperature
coefficient variation dependent on conductor width are provided.
Thickness Variation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Retargeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Multiple Width Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Gate Fringe Capacitance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Table Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Thickness Variation
Thickness variation is due to chemical mechanical polishing (CMP), reactive ion etch (RIE), or
micro loading effect. Chemical mechanical polishing causes dishing and erosion on the tops of
conductors. Therefore, top thickness variation depends on conductor width, spacing, and
density. Reactive ion etch and micro loading effect affect the bottom of the conductor.
Consequently, bottom thickness variation depends on conductor width, spacing and density.
Figure 3-8. Chemical Mechanical Polishing
Nominal thickness, Tnominal, is the desired thickness of the conducting layer unaffected by CMP
or RIE. Top thickness, Ttop, is the thickness variation due to CMP. Use THICKNESS_TOP
table to define top thickness for a layer. Bottom thickness, Tbottom, is thickness variation due to
RIE. Use THICKNESS_BOT table to define bottom thickness for a layer. See
THICKNESS_TOP and THICKNESS_BOT Tables for syntax.
Retargeting
Retargeting is method used to apply various effects to conducting layers at different
orientations. Width variation is supported in MIPT, where actual width is based on drawn width
and spacing. Metal variation depends on the orientation of the wire. This requires an orientation
dependent width variation feature in extraction.
Figure 3-10 illustrates the width variation for the horizontal and vertical orientations of a 41 nm
wide isolated Mx wire. Two wires with the same width of 41nm become 70nm and 51nm wide
during manufacturing, since they are at different orientations.
In order to support orientation-based biasing, two width tables are needed for each direction, x
and y. One to describe the actual width in the preferred direction and another to describe the
actual width in the non-preferred direction.
The bias_type parameter specified for the layer in your MIPT file designates whether the table
is preferred or nonpreferred. This parameter may only be used with two-dimensional width or
multi_bias property tables. For more information on multi_bias property tables, see
MULTI_BIAS Table. For an example on how to define a multiple width table using table
syntax, see “Multiple Width Table Example” on page 110.
width, which will result in the final width adjustment that is used for extraction. Delta w’ is a
function of the adjusted width and spacing.
Figure 3-11. Drawn Width and Spacing for Multiple Width Tables
The MULTI_BIAS Table must be specified together with a RHO_T Table and a thickness table
type in your MIPT file in order to get accurate results. Thickness table type refers to thickness,
thickness_top, and thickness_bot syntax. See THICKNESS Table and THICKNESS_TOP and
THICKNESS_BOT Tables for more information. See “Multiple Width Table Example” on
page 110for an example on how to define a multiple width table using table syntax.
The gate to source/drain capacitance consists of three components as shown in Figure 3-12:
• gate to metal1
• gate to contact
• gate to diffusion
Table Syntax
Tables provide a unified way to input process variation information into xCalibrate.
Tables are typically specified in-line in the MIPT file, but can also be referenced using the use
keyword. Providing the table data in-line avoids having to keep track of multiple files for a
calibration. See Use Directive for more information on the use keyword.
Layout data contains shapes that are at desired or drawn dimensions. The actual width of each
conductor varies from drawn dimension due to deterministic process variation. For example, the
actual width of a metal path may be more narrow than the drawn width.
The on-chip variation effects can be modeled in Calibre xRC. This tool uses the variation data
described by tables of discrete values in the MIPT file. Local density, width, and spacing data
are used to make adjustments to the drawn shapes. The adjusted shapes are used when
calculating parasitic effects. Some foundries also supply loading effects in their in-die
information in order to model the changes in conductor thickness after reactive ion-etching.
Tables can be defined for any supported process variation parameter such as width, thickness,
sheet resistance, resistivity, temperature coefficients tc1 and tc2, gate fringe, and contact bias.
You can specify tables to be resistive (R), capacitive (C), or both (RC). Each type of table has a
default setting. The user must specify what type of table property information is stored. If a
table applies only to resistance, such as RSH, then specifying it to be a C or RC table will
generate an error message.
Most table data is specified as DRAWN dimensions (dim_type = drawn). Some data can be
specified in ACTUAL dimensions, by setting dim_type = actual in the table.
Tables specified in-line are always associated with a layer. A layer may have zero or more
tables associated with it. The order of the tables within a layer is not relevant. Tables are
supported for layer types:
• Conductor
• Poly
• Diffusion
• Contact
• Via
For dielectric layers, inter- and intra-layer dielectric thickness are adjusted automatically during
calibration based on the conductor thickness variation. So no table support is needed for
dielectric layers.
Each table type is associated with a specific set of ordered variables. A one dimensional table
has a single variable. When a table is used to describe a parameter, such as tc1, that singleton
parameter is no longer required in the layer definition since it has a table representation.
table = table_reference_name {
property = table_property
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = {absolute | delta}
equation = {<equation to evaluate, optional>}
variable1 = {w1 w2 ... wn}
value = {v(w1) v(w2) ... v(wn) }
}
table = table_reference_name {
property = table_property
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = {absolute | delta}
bias_type = {preferred | nonpreferred}
equation = {<equation to evaluate, optional>}
variable1 = {w1 w2 ... wn}
variable2 = {s1 s2 ... sn}
value = { v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
Table Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
WIDTH Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VWIDTH and VLENGTH Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VRESISTANCE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
THICKNESS Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
THICKNESS_TOP and THICKNESS_BOT Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
GATE_FRINGE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
GATE_FRINGE4 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
RSH Table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
RSH_T Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
RHO Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
RHO_T Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
RESISTANCE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
TC1 and TC2 Tables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
CONTACT_WIDTH Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table Property
The property parameter defines the table’s property. The table_type is required and must be
either R, C, or RC. If both are present, the table is applied to both resistance and capacitance.
Not every keyword is supported with every table type. For example, if the R keyword is
specified with a capacitance table, then an error message is generated and calibration will stop.
Foundry modeling teams derive table data from silicon process technology test chips to support
the table property content. For example, in conducting layer definitions there are four table
property types that can be used for modeling resistance. Listed in order of precedence they are
rho_t, rho, rsh_t, and rsh. For thickness dependent data they would define either a rho_t or a
rsh_t table, otherwise they would define a rho or a rsh table.
Note
Tables of RESISTANCE property type are only allowed for via and contact layers.
Table 3-48 shows which options are available for each table property. It also identifies which
properties can be in drawn or actual dimensions, or both, and what value type setting should be
used.
For information on the variables used for each table see Variable Keywords.
The following sections provide information on the table syntax for the available table property
types:
WIDTH Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VWIDTH and VLENGTH Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VRESISTANCE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
THICKNESS Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
THICKNESS_TOP and THICKNESS_BOT Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
GATE_FRINGE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
GATE_FRINGE4 Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
RSH Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
RSH_T Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
RHO Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
RHO_T Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
RESISTANCE Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
TC1 and TC2 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
CONTACT_WIDTH Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
CONTACT_BIAS Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
WIDTH Table
A width table uses width and spacing variable types. Width table entries for value are absolute
values applied to the variation property, a positive floating point number in microns.
The following is width table syntax:
table = my_width_table {
property = width
table_type = { R | C | RC}
dim_type = drawn
value_type = absolute
bias_type = {preferred | nonpreferred}
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = { v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn) }
}
table = my_vwidth_table {
property = vwidth
table_type = { C | RC}
dim_type = drawn
value_type = absolute
width = {w1 w2 ... wn} #variable1
length = {l1 l2 ... ln} #variable2
value = { v(w1,l1) v(w1,l2) ... v(w1,ln),
...,
v(wn,l1) v(wn,l2) ... v(wn,ln) }
}
table = my_vlength_table {
property = vlength
table_type = {C | RC}
dim_type = drawn
value_type = absolute
width = {w1 w2 ... wn} #variable1
length = {l1 l2 ... ln} #variable2
value = { v(w1,l1) v(w1,l2) ... v(w1,ln),
...,
v(wn,l1) v(wn,l2) ... v(wn,ln) }
}
VRESISTANCE Table
Use a vresistance table to specify contact or via resistance. A vresistance table uses width and
length variable types. The width and length values are drawn dimensions. Use this table type for
vias and contacts that are not square. The vresistance table takes precedence over the
specification of n1 and n2 parameters.
The following is vresistance table syntax:
table = my_vresistance_table {
property = vresistance
table_type = R
dim_type = drawn
value_type = absolute
width = {w1 w2 ... wn}
length = {l1 l2 ... ln}
value ={v(w1,l1) v(w1,l2) ... v(w1,ln),
...,
v(wn,l1) v(wn,l2) ... v(wn,ln)}
}
THICKNESS Table
Use a thickness table to specify the total thickness due to all effects for a layer.
This includes the measurements for nominal, top, and bottom thickness as shown in Figure 3-9
in “Thickness Variation”. Total thickness is represented by the following equation:
Thickness tables can be varied as a function of width and spacing, or width and density.
Translation from density to spacing uses the equation:
density = width/(width+spacing)
then
spacing = width*((1-density)/density)
Thickness table cannot exist together with thickness_top table for the same layer; however, they
can exist together in the same mipt file as long as they are specified for different layers. When
specifying thickness tables, use either width/spacing tables or width/density tables but not a
combination of both.
The width and spacing values can be drawn or actual dimensions. The values are the absolute
thickness value for a given width/spacing pair. Values are a floating point number in microns.
table = my_thickness_spacing_table {
property = thickness
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = absolute
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
table = my_thickness_density_table {
property = thickness
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = absolute
width = {w1 w2 ... wn}
density = {d1 d2 ... dn}
value = {v(w1,d1) v(w1,d2) ... v(w1,dn),
...,
v(wn,d1) v(wn,d2) ... v(wn,dn)}
}
For more information on total thickness, see “Thickness Variation” on page 83.
table = my_thickness_top_spacing_table {
property = thickness_top
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = delta
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
table = my_thickness_bot_spacing_table {
property = thickness_bot
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = delta
width ={w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
table = my_thickness_top_density_table {
property = thickness_top
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = delta
width = {w1 w2 ... wn}
density = {d1 d2 ... dn}
value = {v(w1,d1) v(w1,d2) ... v(w1,dn),
...,
v(wn,d1) v(wn,d2) ... v(wn,dn)}
}
table = my_thickness_bot_density_table {
property = thickness_bot
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = delta
width = {w1 w2 ... wn}
density = {d1 d2 ... dn}
value = {v(w1,d1) v(w1,d2) ... v(w1,dn),
...,
v(wn,d1) v(wn,d2) ... v(wn,dn)}
}
GATE_FRINGE Table
A gate_fringe table defines variables co_co_spacing and gate_co_spacing. The gate_fringe
table entries for value are absolute values applied to the variation property, a positive floating
point number in femtofarads. The gate_fringe table may consist of a single value if that is what
corresponds to the spice device model.
Specify different gate_fringe tables for different MOS transistor types. Use gate_fringe tables to
specify the fringe capacitance (CF) values.
The ignore_gate_to_diff variable setting determines whether the CF values are added or
subtracted from the extracted gate to S/D capacitance value. If ignore_gate_to_diff is yes, the
CF values are added; this is the default. If ignore_gate_to_diff is no, the CF values are
subtracted.
table = my_gate_fringe_table {
property = gate_fringe
table_type = C
dim_type = drawn
value_type = absolute
ignore_gate_to_diff = yes | no
co_co_spacing = {c1 c2 ... cn}
gate_co_spacing = {g1 g2 ... gn}
value = {v(c1,g1) v(c1,g2) ... v(c1,gn),
v(c2,g1) v(c2,g2) ... v(c2,gn),
...,
v(cn,g1) v(cn,g2) ... v(cn,gn)}
}
GATE_FRINGE4 Table
A gate_fringe4 table defines variables co_co_spacing, gate_co_spacing, gate_width, and
gate_length. The gate_fringe4 table entries for value are absolute values applied to the variation
property, a positive floating point number in femtofarads. The gate_fringe4 table may consist of
a single value if that is what corresponds to the spice device model.
Specify different gate_fringe4 tables for different MOS transistor types. Use gate_fringe4 tables
to specify the fringe capacitance (CF) values that require gate width and gate length detail.
The ignore_gate_to_diff variable setting determines whether the CF values are added or
subtracted from the extracted gate to S/D capacitance value. If ignore_gate_to_diff is yes, the
CF values are added; this is the default. If ignore_gate_to_diff is no, the CF values are
subtracted.
table = my_gate_fringe_table {
property = gate_fringe4
table_type = C
dim_type = drawn
value_type = absolute
ignore_gate_to_diff = yes | no
co_co_spacing = {c1 c2 ... cn}
gate_co_spacing = {g1 g2 ... gn}
gate_width = {w1 w2 ... wn}
gate_length = {l1 l2 ... ln}
value = {v(c1,g1,w1,l1) v(c1,g1,w1,l2) ... v(c1,g1,w1,ln),
v(c1,g1,w2,l1) v(c1,g1,w2,l2) ... v(c2,g1,wn,ln),
...,
v(cn,gn,w1,l1) v(cn,gn,w1,l2) ... v(cn,gn,wn,ln)}
}
RSH Table
An RSH table must define variables width and spacing. However, an actual dimension RSH
table does not depend on spacing. Specify dummy values for spacing when defining an actual
dimension RSH table. If the dim_type is drawn, then drawn values are used for spacing.
RSH table entries for value are absolute values applied to the variation property. These are
positive floating point numbers in ohms per square.
table = my_rsh_table {
property = rsh
table_type = R
dim_type = {drawn | actual}
value_type = absolute
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
Resistance can be modeled by specifying the r_sheet parameter or by defining an rsh table for
the layer. When resistance (R) is modeled with an rsh table and a width table with its table_type
keyword set to R or RC is specified for the layer, the width table is not used for computing
resistance.
RSH_T Table
For rsh_t define variables width and thickness. RSH_T table entries for value are absolute
values applied to the variation property, a positive floating point number in ohms per square.
Use an rsh_t table when the resistance data is thickness dependent.
The following is rsh_t table syntax:
table = my_rsh_t_table {
property = rsh_t
table_type = R
dim_type = actual
value_type = absolute
width = {w1 w2 ... wn}
thickness = {t1 t2 ... tn}
value = {v(w1,t1) v(w1,t2) ... v(w1,tn),
...,
v(wn,t1) v(wn,t2) ... v(wn,tn)}
}
Resistance can be modeled by specifying the r_sheet parameter or by defining an rsh_t table for
the layer. When resistance (R) is modeled with an rsh_t table and a width table with its
table_type keyword set to R or RC is specified for the layer, the width table is not used for
computing resistance.
RHO Table
For rho table property define variables width and spacing. The rho table entries for value are
absolute values applied to the variation property, a positive floating point number in ohm-
microns.
The following is rho table syntax:
table = my_rho_table {
property = rho
table_type = R
dim_type = drawn
value_type = absolute
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
Resistance can be modeled by specifying the resistivity parameter or by defining an rho table
for the layer. When resistance (R) is modeled with an rho table and a width table with its
table_type keyword set to R or RC is specified for the layer, the width table is used for
computing resistance.
RHO_T Table
For rho_t define variables width and thickness. The rho_t table entries for value are absolute
values applied to the variation property, a positive floating point number in ohm-microns. Use
the rho_t table when the resistance data is thickness dependent.
The following is rho_t table syntax:
table = my_rho_t_table {
property = rho_t
table_type = R
dim_type = actual
value_type = absolute
width = {w1 w2 ... wn}
thickness = {t1 t2 ... tn}
value = {v(w1,t1) v(w1,t2) ... v(w1,tn),
...,
v(wn,t1) v(wn,t2) ... v(wn,tn)}
}
Resistance can be modeled by specifying the resistivity parameter or by defining an rho_t table
for the layer. When resistance (R) is modeled with an rho_t table and a width table with its
table_type keyword set to R or RC is specified for the layer, the width table is used for
computing resistance.
RESISTANCE Table
Resistance table should only be specified for via or contact layers. It is area based to handle
square vias and contacts. Resistance table entries for value are absolute values applied to the
variation property. Resistance is a positive floating point number in ohms per contact.
If a TC1 table is specified, then a resistance table must also exist. If TC1 and TC2 tables are
specified, there must also be a resistance specification for that layer. A resistance table can be
used without TC1 and TC2.
table = my_resistance_table {
property = resistance
table_type = R
dim_type = drawn
value_type = absolute
area = {a1 a2 ... an}
value = {r1 r2 r3 ... rn}
}
table = my_tc1_table {
property = tc1
table_type = R
dim_type = drawn
value_type = absolute
width = {w1 w2 w3 ... wn}
value = {tc11 tc12 tc13 ... tc1n}
}
table = my_tc2_table {
property = tc2
table_type = R
dim_type = drawn
value_type = absolute
width = {w1 w2 w3 ... wn}
value = {tc21 tc22 tc23 ... tc2n}
}
CONTACT_WIDTH Table
For contact_width define variables co_co_spacing and gate_co_spacing. Contact_width table
entries for value are absolute values applied to the variation property, a floating point number in
microns. Contact_width tables are associated with gate layers.
The following is contact_width table syntax:
table = my_contact_width_table {
property = contact_width
table_type = C
dim_type = drawn
value_type = absolute
co_co_spacing = {c1 c2 ... cn}
gate_co_spacing = {g1 g2 ... gn}
value = {v(c1,g1) v(c1,g2) ... v(c1,gn),
v(c2,g1) v(c2,g2) ... v(c2,gn),
...,
v(cn,g1) v(cn,g2) ... v(cn,gn)}
}
CONTACT_BIAS Table
For contact_bias define variables width and spacing. Used for capacitance, BIAS values may be
positive, negative or zero, and are associated with contact or via layers.
table = my_contact_bias_table {
property = contact_bias
table_type = C
dim_type = drawn
value_type = absolute
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
LI_GATE_FRINGE Table
The li_gate_fringe defines the table for local interconnect capacitance.
If li1 and li2 variables represent percentage values, then the variable values should be within the
range [0..1]. If li1 and li2 variables represent drawn values, then the variable values should be
positive floating point values.
table = my_li_gate_fringe_table {
property = li_gate_fringe
table_type = C
dim_type = {drawn | percentage}
value_type = absolute
li1 = {li11 li12}
li2 = {li21 li22}
value = {v(li11,li21) v(li11,li22)
v(li12,li21) v(li12,li22)}
table = my_li1_width_table {
property = li1_width
table_type = C
dim_type = {drawn | percentage}
value_type = absolute
li1 = {li11 li12}
li2 = {li21 li22}
value = {v(li11,li21) v(li11,li22)
v(li12,li21) v(li12,li22)}
}
table = my_li2_width_table {
property = li2_width
table_type = C
dim_type = {drawn | percentage}
value_type = absolute
li1 = {li11 li12}
li2 = {li21 li22}
value = {v(li11,li21) v(li11,li22)
v(li12,li21) v(li12,li22)}
}
MULTI_BIAS Table
For multi_bias type a two sets of variables and values is allowed. The values are the delta
changes. BIAS values may be positive, negative or zero. This table type must be used with a
rho_t table and a thickness table.
The following is multi_bias table syntax:
table = my_multi_bias_table {
property = multi_bias
table_type = {R | C | RC}
dim_type = drawn
value_type = delta
bias_type = {preferred | nonpreferred}
width1 = {w1 w2 ... wn}
spacing1 = {s1 s2 ... sn}
value1 = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
width2 = {w1 w2 ... wn}
spacing2 = {s1 s2 ... sn}
value2 = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
DIELECTRIC_CONSTANT Table
The dielectric_constant table defines the properties of width-spacing dependent conformal
dielectric layer for gate geometries.
The following is dielectric_constant table type syntax:
table = my_dielectric_constant_table {
property = dielectric_constant
table_type = C
dim_type = drawn
value_type = absolute
li_layer = M0
gate_width = {w1 w2 ... wn}
gate_to_li_spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
EXTRA_WIDTH Table
An EXTRA_WIDTH table can be used to specify varying extra width values for side walls
based on width and spacing for a conductor with a trapezoid shape.
EXTRA_WIDTH table must define variables width and spacing. If the dim_type is actual, then
actual values are used for spacing. If the dim_type is drawn, then drawn values are used for
spacing. The table entries for value can be absolute or delta values applied to the variation
property. These are positive floating point numbers.
table = my_extra_width_table {
property = extra_width
table_type = R | C | RC
dim_type = {drawn | actual}
value_type = absolute | delta
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value = {v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
SIDEWALL_K Table
The sidewall_k table defines the side wall dielectric constant changes for various spacing.
Use this table type to appropriately adjust the dielectric constants and account for the mask
offsets. Specify the corners (DP) that the table applies to with the corners variable keyword.
Specify the dielectric constants (dc) for various spacing for each corner with a corresponding
value list.
table = my_sidewall_k_table {
property = sidewall_k
table_type = C
dim_type = drawn
value_type = absolute
corners = {DP1 DP2 ... DPn}
width = {w1 w2 ... wn}
spacing = {s1 s2 ... sn}
value1 = {dc11 dc12 dc13 ... dc1n}
value2 = {dc21 dc22 dc23 ... dc2n}
...
valuen = {dcn1 dcn2 dcn3 ... dcnn}
}
Variable Keywords
The variable parameter is a table keyword.
Table 3-49 lists the available variable keywords and their unit value. Following the variable
keyword is a list of values in brackets. The values in this list must be in increasing order from
smallest to largest. These list values define the axis values for the table’s lookups. Values
outside this range are set at the minimum or maximum value listed. Each table can have a
maximum of two variable definitions. If the table bounds are exceeded, use values at the extent
of the table.
Multi-dimensional Table Syntax has two or more variables and corresponding value array. The
order of the values in the array is the same as in the two-dimensional table.
Multiple variable lines can be present in a table. The table entries for value are the absolute or
delta values applied to the variation property. The adjusted data in the value arrays must
conform to the corresponding minimum values defined in the MIPT file. If a bias has been set in
the MIPT file, an error message should be generated if a table has settings that are out of range
according to that bias.
The required parameter value is the last entry of the table. The table entries for value are the
absolute or delta values applied to the variation property. The end of line character of each line
in the value array must be a comma “,”. The value parameter can be specified as value, value1,
and value2 depending on the type of table. Tables with multiple values will use value1 and
value2.
The adjusted data in the value arrays must conform to the corresponding minimum values
defined in the MIPT file. The adjusted widths must not be smaller than the minimum width for
the layer. The adjusted spacing must not be smaller than the minimum spacing for the layer. If a
bias has been set in the MIPT file, an error message is generated if a table has settings that are
out of range according to that bias.
Table Examples
Various examples are provided to demonstrate table structure usage.
conductor = metal4 {
min_width = 0.1
min_spacing = 0.1
thickness = 0.2
table = m4_width_table {
property = width
table_type = R
dim_type = drawn
value_type = absolute
width = {0.1 0.2 0.25}
spacing = {0.15 0.25 0.5}
value = {0.2 0.3 0.5,
0.2 0.3 0.5,
0.2 0.3 0.5}
}
}
conductor = metal1 {
thickness = 0.092
min_width = 0.046
min_spacing = 0.046
table = rho_t_table {
property = rho_t
table_type = R
dim_type = actual
value_type = delta
width = {0.065 0.08 0.14}
thickness = {0.04 0.06 0.15 2.5}
value = {0.036 0.032 0.03 0.028,
0.035 0.0318 0.029 0.0278,
0.034 0.0315 0.028 0.0276}
}
table = thickness_top_table {
property = thickness_top
table_type = RC
dim_type = drawn
value_type = delta
width = {0.045 0.08 0.2 2.5}
spacing = {0.045 0.08 0.2 2.5}
value = {0 0.002 0.005 0.006,
0.003 0.004 0.006 0.007,
-0.001 0.001 0.03 0.004,
-0.005 -0.0045 -0.002 0.0001}
}
table = multi_bias_table {
property = multi_bias
table_type = RC
dim_type = drawn
value_type = delta
width1 = {0.045 0.08 0.14 0.2}
spacing1 = {0.045 0.1 0.15 0.25}
value1 = { -0.002 0.004 0.015 0.02,
-0.004 0.002 0.012 0.018,
-0.006 -0.002 0.01 0.016,
-0.01 -0.004 -0.002 -0.002}
width2 = {0.046 0.085 0.2 1.0 3.2}
spacing2 = {0.05 0.1 0.5 2.5}
value2 = { 0.002 0.005 0.01 0.02,
-0.001 0.001 0.008 0.018,
-0.003 -0.001 0.005 0.017,
0.0005 0.0007 0.001 0.0015,
0.002 0.0022 0.0022 0.01}
}
}
conductor = metal1 {
thickness = 0.092
min_width = 0.046
min_spacing = 0.046
table = metal1_rho_t_table {
property = rho_t
table_type = R
dim_type = actual
value_type = absolute
width = {0.065 0.08 0.14}
thickness = {0.04 0.06 0.15 2.5}
value = {0.036 0.032 0.03 0.028,
0.035 0.0318 0.029 0.0278,
0.034 0.0315 0.028 0.0276}
}
table = metal1_thickness_table {
property = thickness
table_type = RC
dim_type = drawn
value_type = delta
width = {0.045 0.08 0.2 2.5}
spacing = {0.045 0.08 0.2 2.5}
value = {0.092 0.094 0.097 0.098,
0.095 0.096 0.098 0.099,
0.093 0.093 0.122 0.096,
0.097 0.0965 0.094 0.0921}
}
table = metal1_multi_bias_table {
property = multi_bias
table_type = RC
dim_type = drawn
value_type = delta
width1 = {0.045 0.08 0.14 0.2}
spacing1 = {0.045 0.1 0.15 0.25}
value1 = { -0.002 0.004 0.015 0.02,
-0.004 0.002 0.012 0.018,
-0.006 -0.002 0.01 0.016,
-0.01 -0.004 -0.002 -0.002}
width2 = {0.046 0.085 0.2 1.0 3.2}
spacing2 = {0.05 0.1 0.5 2.5}
value2 = { 0.002 0.005 0.01 0.02,
-0.001 0.001 0.008 0.018,
-0.003 -0.001 0.005 0.017,
0.0005 0.0007 0.001 0.0015,
0.002 0.0022 0.0022 0.01}
}
}
In the MIPT file specify the rectangular via using vwidth and vlength tables:
table = vwidth_table {
property = vwidth
table_type = RC
dim_type = drawn
value_type = absolute
width = {0.04725}
length = {0.04725 0.12285}
value = {0.08022 0.05145}
}
table = vlength_table {
property = vlength
table_type = RC
dim_type = drawn
value_type = absolute
width = {0.04725}
length = {0.04725 0.12285}
value = {0.08022 0.12705}
}
can be used to define both square and rectangular contacts with the dimensions:
contact = pcont {
measured_from = p_od
measured_to = m1
max_length = 0
max_area = 0.016
tc1 = 0
tc2 = 0
min_width = 0.03
min_spacing = 0.03
resistance = 363.023
enclosure_down = 0
enclosure_up = 0
table = resistance_table {
property = vresistance
table_type = R
dim_type = drawn
value_type = absolute
width = {0.04725 0.12285}
length = {0.04725 0.12285}
value = {200 190,
190 100}
}
table = vwidth_table {
property = vwidth
table_type = RC
dim_type = drawn
value_type = absolute
width = {0.04725 0.12285}
length = {0.04725 0.12285}
value = {0.08022 0.05145
0.12705 0.12705}
}
table = vlength_table {
property = vlength
table_type = RC
dim_type = drawn
value_type = absolute
width = {0.04725 0.12285}
length = {0.04725 0.12285}
value = {0.08022 0.12705
0.05145 0.12705}
}
}
In the MIPT file, to subtract CF table values from the gate to source-drain capacitance during
gate to diffusion capacitance extraction, set ignore_gate_to_diff table parameter to no. For
example:
seed = my_gate {
thickness = 0.031
min_width = 0.018
min_spacing = 0.060
r_sheet = 55
layer_bias = 0.0063
tc1 = 2.2e-4
tc2 = 0.0
devices = { my_device }
ignore_gate_to_diff = no
top_thickness = 0.014
top_spacing = 0.020
top_enclosure = 0.015
table = my_gate_fringe_table {
property = gate_fringe
table_type = C
dim_type = drawn
value_type = absolute
co_co_spacing = {0.01}
gate_co_spacing = {0.01}
value = {0.08022 0.05145}
} # end table
} # end seed layer definition
This chapter contains descriptions for the MIPT keywords and parameters used to create a
MIPT file. These appear in alphabetical order.
airgap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
background_dielectric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
bias_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
bot_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
botthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
bottom_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
bulk_min_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
bulk_resistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
calibration_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
cap_unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
capacitive_only_etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
channel_er. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
conductor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
cond_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
contact_width2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
coplanar_min_spacing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
copy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
corner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
damage_eps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
damage_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
density_window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
depletion_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
derived. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
derived_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
device_li. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
device_li_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
dielectric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
diel_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
dim_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
distance_unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
enclosure_down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
enclosure_up. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
eps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
equation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
extra_width. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
fin_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
fin_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
fin_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
fin_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
gate_diffusion_layer_pair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
gate_oxide_er . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
gate_oxide_side_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
gate_oxide_top_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
gate_poly_side_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
gate_poly_top_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
gate_to_cont_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
gate_to_cont_spacing_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
gate_to_LI1_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
gate_to_LI2_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
gate_to_via_min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
gate_to_via_spacing_min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
half_node_scale_factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
height. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
hidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
hollow_radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
ignore_diff_intrinsic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
ignore_diff_to_diff_under_poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
ignore_endcap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
ignore_gate_intrinsic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
ignore_gate_to_diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
ignore_gateext_to_diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
ignore_gateext_to_diff_only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
ignore_rsd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
ignore_rsd_intrinsic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
inductance_unit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
insulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
layer_bias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
layer_name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
li . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
li_device_model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
li_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
max_area. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
max_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
max_rlength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
max_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
max_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
measured_from . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
measured_to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
metal_fill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
mid_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
min_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
min_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
min_width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
mipt_version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
multigate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
multigate parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
parallel_to_gate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
pcaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
plate_loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
poly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
radius. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
ref_layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
resistance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
resistivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
resistor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
ronly_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
rsd_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
rsd_spacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
rsd_thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
r_sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
rsh_type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
seed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
seed_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
spacings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
src_drn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
src_drn_contact_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
src_drn_layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
substrate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
svrf_verbatim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
swslope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
swthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
table_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
tap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
tc1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
tc2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
thickness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
thickness_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
top_enclosure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
topthk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
trap_style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
trench_contact_extension_length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
TSV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
tsv_model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
tsv_radius_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
ubump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
value_type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
well. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
widths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
zbottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
ztop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
airgap
Parameter for layer(s): dielectric
An optional conformal dielectric parameter that specifies the airgap parameters for dielectric
layers. The mingap value is the largest spacing value.
Syntax
airgap = {rectangle | triangle} min_gap (value) spacing (s1 ... sn) width (w1 ... wn)
thickness (t1 ... tn) dist_from_surface (b1 ... bn)
Parameters
• rectangle | triangle
A required parameter that specifies the shape of the airgap.
• min_gap (value)
A required keyword value set that specifies the threshold value for the spacing between
conductors. If the spacing between conductors is less than the min_gap value, then an airgap
(dielectric void) occurs. Conductors further apart than min_gap do not have airgaps. The
value must be enclosed in parentheses.
• spacing (s1 ... sn)
A required keyword value set of floating point values that must be greater than or equal to
zero and enclosed in parentheses. Used to define the spacing between conductors as shown
in Figure 4-1 and Figure 4-2, or the spacing between thin conformal layers with no airgaps
as shown in Figure 4-3 and Figure 4-4. Values must be specified in ascending order.
• width (w1 ... wn)
A required keyword value set of floating point values that must be greater than or equal to
zero and enclosed in parentheses. Used to define the width of the air gap at its base.
• thickness (t1 ... tn)
A required keyword value set of floating point values that must be greater than or equal to
zero and enclosed in parentheses. Used to define the height of the rectangle or triangle.
• dist_from_surface (b1 ... bn)
A required keyword value set of floating point values that must be greater than or equal to
zero and enclosed in parentheses. Used to define the distance to the base of the air gap from
the bottom surface of the dielectric.
Description
The spacing between conductors is shown in Figure 4-1 and Figure 4-2. The spacing between
thin conformal layers with no airgaps is shown in Figure 4-3 and Figure 4-4.
Examples
In the following example, airgaps form at spacings below min_gap (0.3), but no airgaps exist
for spacings larger than min_gap (0.3):
airgap = rectangle min_gap (0.3) spacing (0.15 0.2) width (0.075 0.08)
thickness (0.05 0.06) dist_from_surface (0.04 0.05)
area
Parameter for layer(s): Contact,Via
A required parameter used by contact and via layers that specifies the area of contact in
distance_units squared. This parameter is required if min_width is not specified. The shape of
the contact or via is assumed to be square, with dimensions of sqrt(area) * sqrt(area).
Syntax
area = value
Parameters
• value
A value that specifies the area of contact or via in distance_units squared.
area = min_width * min_width.
Examples
area = 0.25
author
Type: Global Parameters
An optional global parameter used to specify the author of the MIPT file and other related
author information. The specified string is added to the beginning of the calibrated rule file
during calibration. This parameter can only be specified once. If it is a single string without
spaces, the quotation marks are not required. If the string is enclosed in quotes, spaces are
allowed.
Syntax
author = author_info
Parameters
• author_info
A string that specifies the author of the MIPT file and other related author information.
Examples
Example 1
author = Matthew_Hogan
Example 2
author = “Matthew Hogan”
background_dielectric
Type: Global Parameters
An optional global parameter whose real number or integer value specifies the dielectric
constant (permittivity). It can only be specified once.
Syntax
background_dielectric = value
Parameters
• value
A real number or integer value that specifies the dielectric constant (permittivity). It can
only be specified once. The default is 1.0.
Examples
background_dielectric = -0.5
base
Type: Base layer
A layer definition keyword used to define a base reference plane layer.
Syntax
base = layer_name {
thickness = layer_thickness
ztop = top_z-coordinate
zbottom = bottom_z-coordinate
bulk_min_width = value
bulk_resistance = value
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the base layer in the z-direction.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• bulk_min_width
An optional layer parameter that specifies the minimum width of the bulk layer in microns.
• bulk_resistance
An optional layer parameter that specifies the sheet resistance of the bulk layer in ohms.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
Part of the layer definition syntax, this layer definition keyword is used to optionally define a
base reference plane layer. The base keyword is followed by an equal sign, a unique user-
specified layer name, and a list of parameters enclosed in required braces. Each parameter must
appear on its own line.
It is possible to have a single base plane or multiple base layers. A single base plane is used to
specify a reference from which all dimensions are defined. Multiple base layers are used in a
technology stack where each base layer definition represents a different possible ground plane
height. For more information on base layers, see Base.
Examples
base = my_base_layer {
thickness = 1
ztop = 0
}
bias_type
table structure parameter
An optional table structure parameter used to specify whether the actual width values described
in the table are for the preferred or non-preferred direction. This parameter may only be used in
two-dimensional width or multi_bias property tables.
Syntax
bias_type = preferred | nonpreferred
Parameters
• preferred
A keyword used to specify that the actual width parameters described in this table are for the
preferred direction.
• nonpreferred
A keyword used to specify that the actual width parameters described in this table are for the
non-preferred direction.
Description
An optional table structure parameter that specifies whether the actual width values described in
the table are for the preferred or non-preferred direction.
Both a preferred and a nonpreferred table are required for a particular property in the layer
definition. If one is missing, then calibration stops with the following error:
Once you have specified the preferred and nonpreferred tables for a given property, additional
tables for that property type are not permitted. For information on orientation-based width
variation see Retargeting.
Examples
Example 1
bias_type = preferred
Example 2
The following is an example of a two dimensional WIDTH table specified with bias_type:
poly = my_poly2 {
thickness = 0.25
table = my_table5 {
property = width
table_type = RC
dim_type = drawn
value_type = absolute
bias_type = preferred
width1 = {0.027 0.045 0.068 0.125 0.2 0.5}
spacing1 = {0.072 0.081 0.09 0.135 0.18 0.3 0.4 0.6 1.2}
value1 = {0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 ,
0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048}
width2 = {0.027 0.045 0.068 0.125 0.2 0.5}
spacing2 = {0.072 0.081 0.09 0.135 0.18 0.3 0.4 0.6 1.2}
value2 = {0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 ,
0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048}
}
table = my_table6 {
property = width
table_type = RC
dim_type = drawn
value_type = absolute
bias_type = nonpreferred
width1 = {0.027 0.045 0.068 0.125 0.2 0.5}
spacing1 = {0.072 0.081 0.09 0.135 0.18 0.3 0.4 0.6 1.2}
value1 = {0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 ,
0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048}
width2 = {0.027 0.045 0.068 0.125 0.2 0.5}
spacing2 = {0.072 0.081 0.09 0.135 0.18 0.3 0.4 0.6 1.2}
value2 = {0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.03 ,
0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048 0.048}
}
}
bot_enclosure
Parameter for layer(s): TSV
An optional TSV layer parameter that specifies the bottom enclosure.
Syntax
bot_enclosure = value
Parameters
• value
A floating point value that specifies the bottom enclosure covered by the metal
“from_layer”. The default is 0 if you do not specify this parameter.
Description
An optional parameter that specifies the bottom enclosure covered by the metal “from_layer”
for the TSV. This parameter is used only in TSV layer definitions. The bot_enclosure is shown
in Figure 4-5.
Examples
bot_enclosure = 0.34
botthk
Parameter for layer(s): dielectric
An optional dielectric layer parameter that specifies the conformal coating thickness on the
bottom of a conductor.
Syntax
botthk = value
Parameters
• value
A positive or negative floating point value that specifies the conformal coating thickness on
the bottom of a conductor.
Description
Use this dielectric parameter when diel_type is set to conformal, trench, or spacer. Allows the
bottom for the conformal to be moved down by the amount specified for botthk. The bothk
measurement is shown in Figure 4-6.
Examples
botthk = 0.02
bottom_thickness
Parameter for layer(s): contact
An optional parameter used by diffusion contact layers that specifies the lower section of the
diffusion contact.
Syntax
bottom_thickness = value
Parameters
• value
A positive floating point value that specifies the lower section of the diffusion contact.
Description
The optional bottom_thickness parameter is used to represent the lower section of the diffusion
contact as seen in Figure 4-7.
Examples
bottom_thickness = 0.15
bulk_min_width
Parameter for layer(s): base, substrate, tap, well
An optional layer parameter that specifies the minimum width of the bulk layer. It can be
specified for base, substrate, tap, and well layer definitions.
Syntax
bulk_min_width = value
Parameters
• value
A non-negative floating point value used to specify the minimum width in microns.
Examples
Given the following layer definitions:
substrate = nsub {
zbottom = -50
ztop = -0.7
resistivity = 101800
eps = 11.9
bulk_resistance = 100
bulk_min_width = 0.5
}
well = nwell {
zbottom = -0.7
thickness = 0.7
resistivity = 100
eps = 11.9
bulk_resistance = 10
bulk_min_width = 0.5
}
tap = ntap {
zbottom = 0
ztop = 0.01
resistivity = 0.1
bulk_resistance = 2
bulk_min_width = 0.1
}
calibration adds the following SVRF statements to the calibrated rule file:
bulk_resistance
Parameter for layer(s): base, substrate, tap, well
An optional layer parameter that specifies the sheet resistance of the bulk layer. It is used to
calculate resistance between the bulk pin of a transistor and the nearest substrate or well
connection. This parameter can be specified for base, substrate, tap, and well layer definitions.
Syntax
bulk_resistance = value
Parameters
• value
A non-negative floating point value used to specify the sheet resistance in ohms.
Examples
Given the following layer definitions:
base = base_b {
zbottom = -1
thickness = 1
bulk_resistance = 15
}
calibration adds the following SVRF statement to the calibrated rule file:
calibration_type
Type: Global Parameters
A required global parameter declared at the beginning of your MIPT file that specifies the type
of calibration used.
Syntax
calibration_type = {RONLY | FIELDSOLVER | RULEBASED | ALL}
Parameters
• RONLY
A keyword which specifies that the MIPT file is only intended for RONLY calibrations.
When doing an RONLY calibration, only the technology header and resistance rules are
calibrated. It may not be suitable for other calibrations due to insufficient data or accuracy
of data.
• FIELDSOLVER
A keyword which specifies that the MIPT file is only intended for FIELDSOLVER
calibrations. When doing a FIELDSOLVER calibration, only the technology header and
resistance rules are calibrated. It may not be suitable for other calibrations due to
insufficient data or accuracy of data.
• RULEBASED
A keyword which specifies that the MIPT file is only intended for RULEBASED
calibrations. This type produces the same output as is currently expected for traditional
calibrations. It may not be suitable for other calibrations due to insufficient data or accuracy
of data.
• ALL
A keyword which specifies that the MIPT file is intended for ALL calibrations. It may be
used for other calibrations as specified on the command line.
Description
This required global parameter specifies the type of calibration used or possible uses of the
MIPT file. It can only be specified once. This parameter accepts a list of values or a single value
to indicate the possible uses of a specific MIPT file. Possible calibration types are RONLY,
FIELDSOLVER, RULEBASED and ALL. Multiple values must be separated by a space and
enclosed in braces ({ }). For more information on global parameters, see Global Parameters.
Examples
Example 1
calibration_type = RONLY
Example 2
calibration_type = {RONLY RULEBASED}
cap_unit
Type: Global Parameters
An optional global parameter that specifies the units for capacitance values.
Syntax
cap_unit = unit
Parameters
• unit
A value that specifies the units for capacitance values.
Acceptable values are:
af — attofarads
ff — femtofarads (default)
pf — picofarads
nf — nanofarads
uf — microfarads
mf — millifarads
f — farads
The default is femtofarads.
Examples
cap_unit = pf
capacitive_only_etch
Parameter for layer(s): conductor, device_li, poly
An optional parameter, used for conductor, device_li, and poly layer definitions, that specifies
the layer bias for capacitance.
Syntax
capacitive_only_etch = value
Parameters
• value
A floating point value that specifies the layer bias for capacitance.
Description
This parameter can be specified for Conductor, Device_li, and Poly layer definitions. It is
equivalent to the capacitive_only_etch found in the standardized Interconnect Technology
Format (ITF).
Layer_bias applies to both resistance and capacitance. The value of layer_bias is determined
using the following equation:
layer_bias = -2 * capacitive_only_etch
Examples
device_li = CA {
thickness = 0.059
min_width = 0.026
min_spacing = 0.051
capacitive_only_etch = -0.0057
}
channel_er
Parameter for layer(s): multigate
An optional multigate layer parameter used to specify the difference in permittivity of the gate
oxide and its lateral side.
Syntax
channel_er = value
Parameters
• value
A floating point value that specifies the difference in permittivity of the gate oxide and its
lateral side.
Description
An optional multigate layer parameter that specifies the difference in permittivity of the gate
oxide and its lateral side. This parameter is used only in multigate layer definitions. For more
information on the multigate layer definition, see Multigate.
Examples
channel_er = 8.0
comment
Type: Global Parameters
An optional global parameter used to specify a comment string that is placed in the calibrated
rule file.
Syntax
comment = comment_info
Parameters
• comment_info
A string that describes comments and other information for the manufacturing technology
(process) being used.
Description
An optional global parameter used to create comments and other information for the
manufacturing technology (process) being used. Comments specified with the comment
parameter are placed in the calibrated rule file directly below the command line comment
separated with a blank line. They are located towards the top of the un-encrypted section of the
calibrated rule deck.
The comment parameter can only be specified once. If it is a single string without spaces, the
quotation marks are not required. If the string is enclosed in quotes, spaces are allowed. If the
description requires multiple lines, then it should be enclosed in braces ({ }).
Examples
Example 1
comment = MIPT_2_0_ekit_file
Example 2
comment = “MIPT 2.0 ekit file”
Example 3
comment = {
MIPT 2.0
ekit
file
}
conductor
Type: Conductor layer
A layer definition keyword used to define a conductor layer.
Syntax
conductor = layer_name {
thickness = z_direction_metal_thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded]‘}’
thickness_type = absolute | relative
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
layer_bias = bias_actual_width_relative_to_drawn_width
capacitive_only_etch = layer_bias_for_capacitance_only
cond_type = nonplanar
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wn hn factorn‘}’
widths = ‘{’ w1 w2 w3 ... wn ‘}’
spacings = ‘{’ s1 s2 s3 ... sn ‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required layer parameter that specifies the minimum allowed drawn spacing between
conductors on this layer.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional conducting layer parameter that specifies the resistance temperature1
coefficient.
• tc2
An optional conducting layer parameter that specifies the resistance temperature2
coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length of a wire. This
parameter is used for resistance fracturing, which determines how many pieces a resistor
should be broken into for representation in a distributed network.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• capacitive_only_etch
An optional parameter that specifies the layer bias for capacitance only.
• cond_type
An optional parameter that specifies the conductor layer is non-planar. Nonplanar is the
only permitted value.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1 h1 factor1} ... {wn hn factorn}. The
braces are required for grouping.
• widths
An optional conducting layer parameter that specifies a space delimited list of floating point
width values enclosed in braces ({ }).
• spacings
An optional conducting layer parameter that specifies a space delimited list of floating point
spacing values enclosed in braces ({ }).
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
Part of the layer definition syntax, this layer definition keyword is used to define the electrical
and physical characteristics of conductor layers. The conductor keyword is followed by an
equal sign, a unique user-specified layer name, and a list of parameters enclosed in required
braces. Each parameter must appear on its own line.
Conductor layers are conducting layers that are also referred to as metal layers. You are
required to specify at least one conducting layer in your MIPT file. Layers of this type can be
specified multiple times. For more information on conductor layers, see Conductor.
Examples
conductor = M1 {
ztop = 0.0
measured_from = poly_diel7
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
tc1 = use my_Mx_layers_tc1
tc2 = use my_Mx_layers_tc2
}
cond_type
Parameter for layer(s): conductor
An optional conductor layer parameter used to specify that the conductor layer is non-planar.
Syntax
cond_type = nonplanar
Parameters
• nonplanar
A keyword used to specify that the conductor layer is non-planar.
Description
An optional conductor layer parameter used to specify that the conductor layer is non-planar.
Use this parameter to define conductors sitting on top of non-planar or conformal dielectrics.
The conductor layer is treated as a normal planar conductor, if this parameter is not specified.
This parameter is used only in conductor layer definitions. For more information on the
conductor layer definition, see Conductor.
Examples
If a conductor, M3, is defined after a conformal dielectric, dielectric3, it is placed coplanar to
the conductor the conformal is associated with, M2, as in Figure 4-8.
To properly place the conductor M3 over the conformal dielectric, dielectric3, as shown in
Figure 4-9, specify the cond_type parameter set to nonplanar in the definition of conductor M3.
For example:
conductor = M3 {
thickness = 0.24
min_width = 0.13
min_spacing = 0.12
r_sheet = 0.38
cond_type = nonplanar
}
contact
Type: Contact layer
A layer definition keyword used to define a contact layer.
Syntax
contact = layer_name {
measured_from = lower_conductor_layername
measured_to = upper_conductor_layername
area = area_of_contact
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistance = resistance_per_via
enclosure_down = enclosure_with_respect_to_lower_conductor
enclosure_up = enclosure_with_respect_to_upper_conductor
min_length = length_of_shape
bottom_thickness = lower_section_value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
gate_to_cont_spacing_min = minimum_allowed_gate_to_contact_spacing
extra_width = measurement_of_side_walls
ronly_layers = ‘{’space_delimited_list_of_r-only_layernames‘}’
src_drn_contact_layers = ‘{’space_delimited_list_of_srcdrn_contact_layernames‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• measured_from
A required parameter that specifies the lower conductor layer_name.
• measured_to
A required parameter that specifies the upper conductor layer_name.
• area
A required parameter if min_width is not specified. Specifies the area of the contact in
distance_units squared.
• min_width
A required parameter that specifies the minimum allowed metal width if the area parameter
is not specified. This parameter cannot be specified with the area parameter. The shape is
assumed to be square, with dimensions of min_width * min_width.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistance
A required parameter that specifies the resistance per via or contact. The value is specified
in Ohms.
• enclosure_down
A required parameter that specifies enclosure with respect to a lower conductor. This value
is typically 0, and defaults to 0 if not specified.
• enclosure_up
A required parameter that specifies enclosure with respect to an upper conductor. This value
is typically 0, and defaults to 0 if not specified.
• min_length
An optional parameter that specifies the length of the shape. From a dimension perspective,
min_width is the shortest side, while min_length is the longest side. This parameter may be
used together with min_width parameter, but cannot be used with area parameter. The shape
is assumed to be rectangular, with dimensions of min_width * min_length.
• bottom_thickness
An optional parameter that specifies the lower section of a diffusion contact. The value must
be a positive floating point number.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• gate_to_cont_spacing_min
An optional parameter that specifies the minimum allowed gate to contact spacing.
• extra_width
An optional parameter that specifies the extra width of side walls for a conductor with a
trapezoid shape.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• src_drn_contact_layers
An optional contact layer parameter that specifies the layer or layers that make up the
source/drain contact region of devices. Enclose the list in braces ({ }).
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
Part of the layer definition syntax, the contact layer definition keyword is used to define the
electrical and physical characteristics of contact layers. The contact keyword is followed by an
equal sign, a unique user-specified layer name, and a list of parameters enclosed in required
braces. Each parameter must appear on its own line.
Layers of this type may be specified multiple times. For more information on contact, see
Contact.
Examples
contact = my_contact {
resistance = 1.1
min_width = 0.13
min_spacing = 0.15
enclosure_up = 0.00
enclosure_down = 0.00
measured_from = polyX
measured_to = metal1
}
contact_width2
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter for all contact types except diffusion contact. This
parameter specifies the ct2 bias width for a seed layer contact.
Syntax
contact_width2 = value
Parameters
• value
A floating point value used to specify the ct2 bias.
Description
The optional contact_width2 parameter is used to represent the upper section of the diffusion
contact as seen in Figure 4-10.
Use a contact_width table to define ct1. For more information on contact_width tables, see
CONTACT_WIDTH Table. See Seed for more information on the seed layer type.
Examples
contact_width2 = 0.24
coplanar_min_spacing
Type: conductor, device_li, diffusion, ground, li, pcaux, poly, resistor
An optional parameter for conducting layer definitions conductor, device_li, diffusion, ground,
li, pcaux, poly, and resistor that specifies the minimum spacing used between coplanar layers.
Syntax
coplanar_min_spacing = value
Parameters
• value
A positive floating point value that represents the minimum spacing used between coplanar
layers.
Examples
coplanar_min_spacing = 0.04
copy
Parameter for layer(s): ground
An optional ground layer parameter that specifies a space delimited list of layer names to be
mapped to ground layers under the gate.
Syntax
copy = ‘{’layer_name1 layer_name2 ... layer_namen‘}’
Parameters
• ‘{’layer_name1 layer_name2 ... layer_namen‘}’
A space delimited list of layer names enclosed in braces ({ }).
Description
In most cases, the ground layer is a copy of the gate layer and associates the ground layer with
the gate layer in the layout patterns in the sdcont profile. For example, if there are two ground
layers N and P associated with two N and P diffusion layers, the gate layers associated with
each diffusion layer go in the copy list for the associated ground layers.
Examples
ground = tpdiff_device_gnd {
zbottom = -0.01
thickness = 0.1
resistivity = 11
copy = {pgate pgate_srn}
}
corner
Type: Global Parameters
An optional global parameter that specifies the corner variation to be applied during extraction.
Syntax
corner = typical | cbest | rcbest | cworst | rcworst
Parameters
• typical | cbest | rcbest | cworst | rcworst
A value that specifies the corner variation to be applied during extraction. The default is
typical.
Description
Process corners represent the extremes of variations of fabrication parameters within which a
circuit must function correctly. A circuit that has been etched onto the wafer and runs on
devices fabricated at these process corners may run slower or faster than specified and at lower
or higher temperatures and voltages. Use the corner parameter to specify the corner variation
you want applied during calibration.
The process corner variation choices are typical, cbest, rcbest, cworst, and rcworst. The default
is the process name if neither this parameter or the “-corner” command line option is specified.
The corner parameter can only be specified once.
Calibration generates the PEX Corner statement and updates the reference corners in the PEX
Corner Custom statement with the specified corner variation in the calibrated rule file.
For more information on global parameters, see Global Parameters. For information on SVRF
statements, see the Standard Verification Rule Format (SVRF) Manual.
Examples
Example 1
Specifying the following global parameter in your .mipt file:
corner = cbest
generates SVRF statements similar to the following in your rules.C and rules.R files:
Example 2
Specifying the following global parameter in your .mipt file:
corner = typical
generates SVRF statements similar to the following in your rules.C and rules.R files:
damage_eps
Parameter for layer(s): dielectric
An optional parameter that specifies the damaged relative permittivity (dielectric constant).
This changes the dielectric constant in a planar dielectric where the damaged portion touches
the conductor laterally or vertically. This parameter can only be specified if diel_type is set to
planar and must be specified with damage_thickness parameter.
Syntax
damage_eps = value
Parameters
• value
A floating point value that specifies the damaged relative permittivity (dielectric constant).
Examples
dielectric = diel1 {
diel_type = planar
thickness = 0.1
eps = 2.5
damage_thickness = 0.001
damage_eps = 3.7
}
dielectric = diel2 {
diel_type = conformal
thickness = 1
eps = 2.5
swthk = 0.075
topthk = 0.00
bottthk = 0.00
ref_layer = m1
}
damage_thickness
Parameter for layer(s): dielectric
An optional dielectric layer parameter that specifies the damaged thickness of the dielectric
layer in the z-direction where it touches the conductor laterally or vertically. This parameter can
only be specified if diel_type is set to planar and must be specified with damage_eps.
Syntax
damage_thickness = value
Parameters
• value
A floating point value that specifies the damaged thickness of the dielectric layer in the z-
direction.
Examples
dielectric = diel1 {
diel_type = planar
thickness = 0.1
eps = 2.5
damage_thickness = 0.001
damage_eps = 3
}
dielectric = diel2 {
diel_type = conformal
thickness = 1
eps = 2.5
swthk = 0.075
topthk = 0.00
bottthk = 0.00
ref_layer = m1
}
date
Type: Global Parameters
An optional global parameter used to specify the date the MIPT file containing the description
of the process was created. The specified string is added to the beginning of the calibrated rule
file during calibration. It can only be specified once. If date is a single string without spaces, the
quotation marks are not required. If the string is enclosed in quotes, spaces are allowed.
Syntax
date = date
Parameters
• date
A string that specifies the date the MIPT file containing the description of the process was
created.
Examples
Example 1
date = August_9_2010
Example 2
date = 8/9/10
Example 3
date = “August 9, 2010”
density_window
Parameter for layer(s): conductor, poly, diffusion, li
An optional conducting layer parameter that takes a list of values that are applied to any
conductor that has a thickness table.
Syntax
density_window = ‘{’ ‘{’w1 h1 factor1 stepx1 stepy1‘}’... ‘{’wn hn factorn stepxn stepyn‘}’ ‘}’
Parameters
• {w h factor stepx stepy}
One or more space separated lists of values applied to any conductor that has a thickness
table. These lists must be enclosed in braces ({ }).
w — window size.
h — optional window height. The default is the value specified for window size, w.
factor — optional value between 0 and 1 that specifies the weight applied to the density
window. The default is 1.
stepx stepy — optional value pair that specifies the grid increment for which the fill
density windows are tiled. The default is half the window size, w.
Description
If thickness variation is based on width and density, one or more density windows may be
specified. The list of values must be enclosed in braces ({ }). There is default density window
size is the cell size. This parameter may optionally be specified by conducting layer definitions,
conductor, poly, diffusion, and li.
During calibration, a PEX Density Window statement is generated and written to the calibrated
rule files for each conductor that specifies the density_window parameter.
For more information on the conductor keyword, see Conductor. For more information on the
poly keyword, see Poly. For more information on the diffusion keyword, see Diffusion. For
more information on the li keyword, see li.
Examples
density_window = {{10 10 0.5 5 5} {30 20 0.1 10 10} {50 50 0.4 25 25}}
depletion_width
Parameter for layer(s): TSV
A required TSV layer parameter that specifies the depletion region width of a Through-Silicon-
Via (TSV).
Syntax
depletion_width = value
Parameters
• value
A floating point value that specifies the depletion region width.
Description
The depletion_width measurement is shown in Figure 4-11.
Examples
depletion_width = 10.4
derived
Type: Derived layer
The derived layer keyword is an optional keyword used to define the electrical characteristics of
a conducting layers. The derived keyword is followed by an equal sign, a unique user-specified
layer name, and a list of parameters enclosed in required braces. Each parameter must appear on
its own line. This layer type cannot alter any physical parameters of a conducting layer and can
be specified more than once.
Syntax
derived = layer_name {
derived_type = {src_drn | src_drn_contact | seed | ronly | ronly_contact | ronly_via}
resistance = resistance_per_via
resistivity = resistivity_value
r_sheet = sheet_resistance
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• derived_type
A required parameter that defines the derived layer type. Derived types are only valid for
use with specific layers and the syntax checker will verify these are used appropriately.
Accepted values are src_drn, src_drn_contact, seed, ronly, ronly_contact, or ronly_via.
• resistance
A required parameter that specifies the resistance per via or contact. The value is specified
in Ohms. This parameter cannot be specified with resistivity or r_sheet.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
derived = my_src_drn { # Table usage; preferred syntax
derived_type = src_drn
resistivity = 0.0355
tc1 = my_local_tc1 use my_Mx_layers_tc1
tc2 = my_local_tc2 use my_Mx_layers_tc2
}
diffusion = my_diff {
# CONDUCTOR PARAMETERS
src_drn_layers = {my_src_drn}
}
derived_type
Parameter for layer(s): derived
A required derived layer parameter that describes the specified derived layer type. Derived
types are only valid for use with specific layers.
Syntax
derived_type = {src_drn | src_drn_contact | seed | ronly | ronly_contact | ronly_via}
Parameters
• src_drn
Specifies that the type of derived layer is src_drn. Valid for diffusion layers only.
• src_drn_contact
Specifies that the type of derived layer is src_drn_contact. Valid for contact layers only.
• seed
Specifies that the type of derived layer is seed. Valid for poly layers only.
• ronly
Specifies that the type of derived layer is ronly. Valid for conductor and seed layers only.
• ronly_contact
Specifies that the type of derived layer is ronly_contact. Valid for contact layers only.
• ronly_via
Specifies that the type of derived layer is ronly_via. Valid for via layers only.
Examples
derived_type = src_drn
device_li
Type: Device_li layer
The required device_li layer definition keyword is used to define the device region of the li
layer. The device_li keyword is followed by an equal sign, a unique user-specified layer name,
and a list of parameters enclosed in required braces. Each parameter must appear on its own
line. Layers of this type represent a physical layer in the stack and can be specified multiple
times. This layer definition is required when you are not performing RONLY extraction.
Syntax
device_li = layer_name {
thickness = z-direction_ metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
capacitive_only_etch = layer_bias_for_capacitance_only
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wn hn factorn‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• capacitive_only_etch
An optional parameter that specifies the layer bias for capacitance only.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
device_li = m0_od2 {
ztop = 0.0
measured_from = poly_diel7
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
tc1 = use my_Mx_layers_tc1
tc2 = use my_Mx_layers_tc2
}
device_li_layers
Parameter for layer(s): li
An optional li layer parameter that specifies a space delimited list of device_li layer names
identifying the device local interconnect layers associated with it.
Syntax
device_li_layers = {li_layer_name1 li_layer_name2 ... li_layer_namen}
Parameters
• {li_layer_name1 li_layer_name2 ... li_layer_namen}
A space delimited list of device_li layer names enclosed in braces ({ }).
Examples
li = M0_STI1 {
min_width = 0.02600
min_spacing = 0.05800
resistivity = 0.67
device_li_layers = {M0_OD1}
}
device_li = M0_OD1 {
min_spacing = 0.05800
resistivity = 0.672
layer_bias = -0.0070
devices = { ngate_mac ngate_15_mac
pgate_mac pgate_15_mac}
}
devices
Parameter for layer(s): device_li, diffusion, li, pcaux, poly, resistor, seed, src_drn
An optional layer parameter that specifies the devices the layer definition applies to.
Syntax
devices = {device1 device2 ... devicen}
Parameters
• {device1 device2 ... devicen}
A space delimited list of device names enclosed in braces ({ }).
Examples
poly = GATE_FINAL{
thickness = 0.1
min_width = 0.045
min_spacing = 0.12
extension = 0.14
devices = {NMOS PMOS}
}
diffusion = diff {
thickness = 0.16
min_width = 0.045
min_spacing = 0.12
devices = {NMOS PMOS}
src_drn_layers = {NDIFSI_FINAL PDIFSI_FINAL}
extension = 0.03
}
dielectric
Type: Dielectric layer
Part of the layer definition syntax, the dielectric layer definition keyword is used to optionally
define a insulating layers. The dielectric keyword is followed by an equal sign, a unique user-
specified layer name, and a list of parameters enclosed in required braces. Each parameter must
appear on its own line. Layers of this type represent a physical layer in the stack and can be
specified multiple times.
Syntax
dielectric = layer_name {
diel_type = planar | conformal | rsd_conformal | trench | mask | spacer
thickness = layer_thickness
eps = value
ref_layer = reference_layername # required for conformal, trench, and spacer diel_types
swslope = value
swthk = value # required for conformal, trench, and spacer diel_types
topthk = value # required for conformal, trench, and spacer diel_types
botthk = value # required for conformal, trench, and spacer diel_types
ztop = top_z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
airgap = {rectangle | triangle} min_gap (v) spacing (s1 ... sn) width (w1 ... wn)
thickness (t1 ... tn) dist_from_surface (b1 ... bn)
thickness_type = absolute | relative
damage_thickness = value
damage_eps = value
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• diel_type
A required parameter that specifies the type of dielectric being described. Legal values are
planar, conformal, rsd_conformal, dielectric, mask, or spacer.
• thickness
A required layer thickness parameter that specifies the thickness of the dielectric layer in the
z-direction. The thickness may be a zero value if diel_type is conformal or rsd_conformal.
For a trench dielectric where diel_type is conformal or rsd_conformal, the thickness must be
0.
• eps
A required value that specifies the relative permittivity (dielectric constant).
• ref_layer
An optional parameter when diel_type is planar. A required parameter when diel_type is set
to conformal, rsd_conformal, trench, or spacer.
• swslope
An optional dielectric layer parameter used to specify the angle of the side wall in degrees.
May only be used when diel_type is set to conformal or trench.
• swthk
An optional parameter when diel_type is planar. A required parameter when diel_type is set
to conformal, rsd_conformal, trench, or spacer.
• topthk
An optional parameter when diel_type is planar. A required parameter when diel_type is set
to conformal, rsd_conformal, trench, or spacer.
• botthk
An optional parameter when diel_type is planar. A required parameter when diel_type is set
to conformal, rsd_conformal, trench, or spacer.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional parameter whose value specifies the layer whose top surface is used as the base
from which the layer’s bottom is measured. Measures zbottom or ztop relative to the given
layer. This parameter is required if thickness_type parameter is specified.
• airgap
An optional conformal dielectric parameter that specifies the airgap parameters for the
dielectric layer.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• damage_thickness
An optional parameter that specifies the damaged thickness a planar dielectric layer in the z-
direction where it touches the conductor laterally or vertically. This parameter can only be
specified if diel_type is set to planar and must be specified with damage_eps.
• damage_eps
An optional parameter that specifies the damaged relative permittivity (dielectric constant).
This parameter can only be specified if diel_type is set to planar and must be specified with
damage_thickness parameter.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
dielectric = diel1 {
diel_type = planar
thickness = 0.1
eps = 2.5
}
dielectric = diel2 {
diel_type = conformal
thickness = 1
eps = 2.5
swthk = 0.075
topthk = 0.2
botthk = 0.1
ref_layer = m1
}
diel_type
Parameter for layer(s): dielectric
A required dielectric layer parameter that describes the type of dielectric layer being defined.
Syntax
diel_type = planar | conformal | rsd_conformal | trench | mask | spacer
Parameters
• planar
Specifies a planar dielectric.
• conformal
Specifies a conformal dielectric.
• rsd_conformal
Specifies a rsd conformal dielectric.
• trench
Specifies a trench dielectric.
• mask
Specifies a local dielectric for extraction with field solvers. Use only with
Calibre xACT 3D.
• spacer
Specifies a spacer dielectric.
Description
Legal values for diel_type are planar, conformal, rsd_conformal, trench, mask. or spacer.
Specifying more than twenty conformals per layer generates an error message and stops
calibration. A layer cannot have a diel_type equal to both conformal and trench.
Set diel_type to mask when defining the local dielectric layer, typically around a device. The
mask subtype does not change the top of the current dielectric stack for relative layer
definitions. It should have the required thickness and eps parameters. If zbottom is not
specified, the mask subtype sits on top of the last regular dielectric, and does not change the top
of the stack. It is coplanar with the planar dielectrics. It may be trapezoid in shape (have an
extra_width parameter), and may have its own conformal or trench dielectrics. This dielectric
type is only used by Calibre xACT 3D. Figure 4-12 shows an example of a mask dielectric.
Set diel_type to conformal when defining a dielectric layer over a diffusion. If diel_type is
conformal, the sidewall thickness (swthk), top thickness (topthk), and bottom thickness (botthk)
of the conformal dielectric as well as a reference layer (ref_layer) for the conformal layer must
be specified. Figure 4-13, Figure 4-14, and Figure 4-15 show examples of conformal dielectrics.
Set diel_type to rsd_conformal when defining a dielectric layer over an rsd layer. If diel_type is
rsd_conformal, the sidewall thickness (swthk), top thickness (topthk), and bottom thickness
(botthk) of the rsd_conformal dielectric as well as a reference layer (ref_layer) for the
rsd_conformal layer must be specified.
Figure 4-19 shows an example of a spacer dielectric. Spacer dielectrics are conformal
dielectrics used to self align contacts near the gate or other similar operations.
Examples
dielectric = diel1 {
diel_type = planar
thickness = 0.1
eps = 2.5
}
dielectric = diel2 {
diel_type = conformal
thickness = 1
eps = 2.5
swthk = 0.075
topthk = 0.00
bottthk = 0.00
ref_layer = m1
}
diffusion
Type: Diffusion layer
Part of the layer definition syntax, the diffusion layer definition keyword is used to define the
electrical and physical characteristics of conducting. The diffusion keyword is followed by an
equal sign, a unique user-specified layer name, and a list of parameters enclosed in required
braces. Each parameter must appear on its own line. Layers of this type can be specified
multiple times. This layer definition is required when you are not performing RONLY
extraction.
Syntax
diffusion = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wn hn factorn‘}’
src_drn_layers = ‘{’space_delimited_list_of_src_drn_layer_names‘}’
rsd_enclosure = raised_source/drain_edge_bias_value
rsd_thickness = raised_source/drain_height_value
rsd_spacing = raised_source/drain_to_gate_spacing_value
widths = ‘{’ w1 w2 w3 ... wn ‘}’
spacings = ‘{’ s1 s2 s3 ... sn ‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the diffusion metal layer in the z-
direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• src_drn_layers
An optional layer parameter that specifies a space delimited list of src_drn layer names
enclosed in braces ({ }).
• rsd_enclosure
An optional layer parameter that specifies the raised source/drain edge bias.
• rsd_thickness
An optional conducting layer parameter that specifies the raised source/drain height.
• rsd_spacing
An optional conducting layer parameter that specifies the raised source/drain to gate
spacing.
• widths
An optional conducting layer parameter that specifies a space delimited list of floating point
width values enclosed in braces ({ }).
• spacings
An optional conducting layer parameter that specifies a space delimited list of floating point
spacing values enclosed in braces ({ }).
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
diffusion = diff1 {
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
src_drn_layers = {tndiff tpdiff}
}
dim_type
table structure parameter
A required table structure parameter that must be either drawn or actual. Note that not every
keyword is supported with every table type.
Syntax
dim_type = drawn | actual
Parameters
• drawn
Specifies that the table should treat dimension values as drawn.
• actual
Specifies that the table should treat dimension values as actual.
Description
A required table structure parameter that specifies the types of values specified in the table.
“Table Property” on page 92 shows which dimension type settings should be used for each table
property. For more information on tables, see “Table Syntax” on page 88.
Examples
dim_type = drawn
distance_unit
Type: Global Parameters
An optional global parameter that specifies the units for distance values. It can only be specified
once.
Syntax
distance_unit = unit
Parameters
• unit
A value that specifies the units for distance values.
Acceptable values are:
a — angstrom
nm — nanometer
um — micrometer or micron
The default is micrometers (1e-06).
Examples
distance_unit = nm
enclosure_down
Parameter for layer(s): contact, ubump, via
A required parameter used by via, contact, or ubump layers that specifies the enclosure with
respect to a lower conductor.
Syntax
enclosure_down = value
Parameters
• value
A floating point value used to specify the enclosure with respect to a lower conductor. The
default is 0 if this parameter is not specified.
Examples
enclosure_down = 0.01
enclosure_up
Parameter for layer(s): contact, ubump, via
A required parameter used by via, contact, or ubump layers that specifies the enclosure with
respect to an upper conductor.
Syntax
enclosure_up = value
Parameters
• value
A floating point value used to specify the enclosure with respect to an upper conductor. The
default is 0 if this parameter is not specified.
Examples
enclosure_up = 0.01
eps
Parameter for layer(s): dielectric
A required parameter for dielectric layer definitions that specifies the relative permittivity
(dielectric constant).
Syntax
eps = value
Parameters
• value
A floating point value that specifies the relative permittivity (dielectric constant).
Examples
dielectric = diel1 {
diel_type = planar
thickness = 0.1
eps = 2.5
}
dielectric = diel2 {
diel_type = conformal
thickness = 1
eps = 2.5
swthk = 0.075
topthk = 0.00
bottthk = 0.00
ref_layer = m1
}
equation
table structure parameter
An optional table structure parameter used to specify an in-die equation.
Syntax
equation = ‘{’equation_to_evaluate’}’
Parameters
• ‘{’equation_to_evaluate‘}’
An equation enclosed in braces ({ }) used to specify the thickness variation (in-die)
equation.
Description
Specifies an in-die equation for the layer. When specified, this equation is copied to the PEX
Tables section of the generated rules file. The equation definition follows the rules in the
Standard Verification Rule Format (SVRF) Manual.
Examples
table = my_thickness_table {
property = thickness
table_type = R
dim_type = drawn
value_type = delta
equation = {
property T
T = density () + 2
}
} # end table
extension
Parameter for layer(s): conductor, device_li, diffusion, li, pcaux, poly, resistor, seed, src_drn
An optional conducting layer parameter that specifies the amount the conductor layer extends
past the diffusion or contact layers. For diffusion layer, this specifies the amount diffusion
extends past the contact layer.
Syntax
extension = value
Parameters
• value
A floating point value used to specify the amount the conductor layer extends past the
diffusion or contact layers.
Examples
extension = 0.05
extra_width
Parameter for layer(s): conductor, contact, device_li, diffusion, ground, li, poly, resistor, seed,
src_drn, TSV, via
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
Syntax
extra_width = value
Parameters
• value
A floating point value used to specify the extra-width of side walls for a conductor with a
trapezoid shape.
Description
The extra-width of side walls for a conductor with a trapezoid shape is shown in Figure 4-20. To
simplify this diagram, drawn width and actual width are shown as equal.
The value of extra_width is determined using one of the following two equations:
For more information on the conductor keyword, see Conductor. For more information on the
poly keyword, see Poly. For more information on the diffusion keyword, see Diffusion. For
more information on the li keyword, see li.
Examples
extra_width = 0.05
fin_length
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the length of the fin.
Syntax
fin_length = value
Parameters
• value
A floating point value that specifies the length of the fin.
Description
A required multigate layer parameter that specifies the length of the fin. This parameter is used
only in multigate layer definitions. The fin_length is shown in Figure 4-22.
Examples
fin_length = 0.032
fin_spacing
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the spacing between fins.
Syntax
fin_spacing = value
Parameters
• value
A floating point value that specifies the spacing between fins.
Description
A required multigate layer parameter that specifies the spacing between fins. This parameter is
used only in multigate layer definitions. The top-view of the fin_spacing is shown in
Figure 4-23.
Examples
fin_spacing = 0.016
fin_thickness
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the thickness of the fin.
Syntax
fin_thickness = value
Parameters
• value
A floating point value that specifies the thickness of the fin.
Description
A required multigate layer parameter that specifies the thickness of the fin. This parameter is
used only in multigate layer definitions. The fin_thickness is shown in Figure 4-25.
Examples
fin_thickness = 0.032
fin_width
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the width of the fin.
Syntax
fin_width = value
Parameters
• value
A floating point value that specifies the width of the fin.
Description
A required multigate layer parameter that specifies the width of the fin. This parameter is used
only in multigate layer definitions. The top-view of the fin_width is shown in Figure 4-26.
Examples
fin_width = 0.016
gate_diffusion_layer_pair
Parameter for layer(s): multigate
A required list of one or more layer pairs used to specify which gate and diffusion layers can be
paired together to describe different device types with the same device parameters.
Syntax
gate_diffusion_layer_pair = ‘{’ (layer1 layer2) [(layer1 layer2)... ] ‘}’
Parameters
• (layer1 layer2)
A pair of gate and diffusion layers enclosed in parentheses used to describe a device.
Description
A required list of one or more layer pairs used to specify which gate and diffusion layers can be
paired together to describe different device types with the same device parameters. The list of
pairs must be specified in brackets; pairs must be specified in parentheses. This parameter is
used only in multigate layer definitions. For more information on the multigate layer definition,
see Multigate.
Examples
gate_diffusion_layer_pair = {(PGATE PDIFF) (NGATE NDIFF)}
gate_oxide_er
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the permittivity of the gate oxide.
Syntax
gate_oxide_er = value
Parameters
• value
A floating point value that specifies the permittivity of the gate oxide.
Description
A required multigate layer parameter that specifies the permittivity of the gate oxide. This
parameter is used only in multigate layer definitions. For more information on the multigate
layer definition, see Multigate.
Examples
gate_oxide_er = 6.0
gate_oxide_side_t
Parameter for layer(s): multigate
An optional multigate layer parameter used to specify the side thickness of the gate oxide.
Syntax
gate_oxide_side_t = value
Parameters
• value
A floating point value that specifies the side thickness of the gate oxide.
Description
An optional multigate layer parameter that specifies the side thickness of the gate oxide. This
parameter is used only in multigate layer definitions. The gate_oxide_side_t is shown in
Figure 4-28.
Examples
gate_oxide_side_t = 6.0
gate_oxide_top_t
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the top thickness of the gate oxide.
Syntax
gate_oxide_top_t = value
Parameters
• value
A floating point value that specifies the top thickness of the gate oxide.
Description
A required multigate layer parameter that specifies the top thickness of the gate oxide. This
parameter is used only in multigate layer definitions. The gate_oxide_top_t is shown in
Figure 4-29.
Examples
gate_oxide_top_t = 6.0
gate_poly_side_t
Parameter for layer(s): multigate
An optional multigate layer parameter used to specify the gate poly thickness between the side
of the gate poly and the side of the gate oxide.
Syntax
gate_poly_side_t = value
Parameters
• value
A floating point value that specifies the gate poly thickness between the side of the gate poly
and the side of the gate oxide.
Description
An optional multigate layer parameter that specifies the gate poly thickness between the side of
the gate poly and the side of the gate oxide. This parameter is used only in multigate layer
definitions. The gate_poly_side_t is shown in Figure 4-30.
Examples
gate_poly_side_t = 6.0
gate_poly_top_t
Parameter for layer(s): multigate
A required multigate layer parameter used to specify the gate poly thickness between the top of
the gate poly and the top of the gate oxide.
Syntax
gate_poly_top_t = value
Parameters
• value
A floating point value that specifies the gate poly thickness between the top of the gate poly
and the top of the gate oxide.
Description
A required multigate layer parameter that specifies the gate poly thickness between the top of
the gate poly and the top of the gate oxide. This parameter is used only in multigate layer
definitions. The gate_poly_top_t is shown in Figure 4-31.
Examples
gate_poly_top_t = 6.0
gate_to_cont_min_spacing
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter for all contact types except diffusion contact. This
parameter specifies the minimum spacing between the gate poly layer and the diffusion contact
layer (the contact from diffusion to metal1).
Syntax
gate_to_cont_min_spacing = value
Parameters
• value
A floating point value used to specify the minimum spacing between the gate poly layer and
the diffusion contact layer.
Examples
gate_to_cont_min_spacing = 0.05
gate_to_cont_spacing_min
Parameter for layer(s): contact
An optional contact layer parameter for all contact types except diffusion contact. This
parameter specifies the minimum allowed gate to contact spacing.
Syntax
gate_to_cont_spacing_min = value
Parameters
• value
A floating point value used to specify the minimum allowed gate to contact spacing.
Examples
gate_to_cont_spacing_min = 0.05
gate_to_LI1_min_spacing
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter for all contact types except diffusion contact. This
parameter specifies the minimum spacing between the gate poly layer and the li layer touching
the diffusion layer.
Syntax
gate_to_LI1_min_spacing = value
Parameters
• value
A floating point value used to specify the minimum spacing between the gate poly layer and
the li layer touching the diffusion layer.
Examples
gate_to_LI1_min_spacing = 0.05
gate_to_LI2_min_spacing
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter for all contact types except diffusion contact. This
parameter specifies the minimum spacing between the gate poly layer and the second li layer.
Syntax
gate_to_LI2_min_spacing = value
Parameters
• value
An optional floating point value used to specify the minimum spacing between the gate poly
layer and the second li layer.
Examples
gate_to_LI2_min_spacing = 0.05
gate_to_via_min_spacing
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter for all contact types except diffusion contact. This
parameter specifies the minimum spacing between the gate poly layer and the diffusion via
layer.
Syntax
gate_to_via_min_spacing = value
Parameters
• value
A floating point value used to specify the minimum spacing between the gate poly layer and
the diffusion via layer.
Examples
gate_to_via_min_spacing = 0.05
gate_to_via_spacing_min
Parameter for layer(s): via
An optional via layer parameter used to specify the minimum allowed gate to via spacing.
Syntax
gate_to_via_spacing_min = value
Parameters
• value
A floating point value used to specify the minimum allowed gate to via spacing.
Examples
gate_to_via_spacing_min = 0.05
ground
Type: Ground layer
Part of the layer definition syntax, the ground layer definition keyword is used to define the
electrical and physical characteristics of conducting ground layers. The ground keyword is
followed by an equal sign, a unique user-specified layer name, and a list of parameters enclosed
in required braces. Each parameter must appear on its own line. Layers of this type can be
specified multiple times.
Syntax
ground = layer_name {
thickness =z-direction_ metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
thickness_type = absolute | relative
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wn hn factorn‘}’
copy = ‘{’space_delimited_list_of_layer_names‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required layer parameter that specifies the minimum allowed drawn spacing between
conductors on this layer.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length of a wire. This
parameter is used for resistance fracturing, which determines how many pieces a resistor
should be broken into for representation in a distributed network.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• copy
An optional conducting layer parameter that specifies a space delimited list of layer names
enclosed in braces ({ }) to be mapped to ground layers under the gate.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
ground = my_ground {
zbottom = -0.01
thickness = 0.1
resistivity = 11
}
half_node_scale_factor
Type: Global Parameters
An optional global parameter that specifies the amount by which to scale the layout. It can only
be specified once.
Syntax
half_node_scale_factor = scale
Parameters
• scale
A positive floating point value used to specify the amount by which to scale the layout.
Description
Specifies the amount by which to scale the layout. Scaling affects a polygon’s width, length,
and spacing properties. Calibration does not scale the layout, but generates the PEX Magnify
SVRF statement with the specified scale value. The default is to not produce the PEX Magnify
statement.
Examples
Specifying the following global parameter in your .mipt file
half_node_scale_factor = 0.75
generates the following SVRF statement in your rules.C and rules.R files:
height
Parameter for layer(s): TSV
A required TSV layer parameter used to specify the height of the through silicon via.
Syntax
height = value
Parameters
• value
A floating point value that specifies the height of the through silicon via.
Description
A required TSV parameter that specifies the height of the through silicon via. This parameter is
used only in TSV layer definitions. The height is shown in Figure 4-32.
Examples
height = 10.4
hidden
Parameter for layer(s): all Layer Definitions
An optional layer parameter that controls whether or not the layer is encrypted in the calibrated
rule files. Can be used in all layer type definitions.
Syntax
hidden = false | true
Parameters
• false
Specifies not to encrypt the layer in the calibrated rule files. This is the default.
• true
Specifies to encrypt the layer in the calibrated rule files.
Examples
To encrypt the my_diel_mipt layer information in the calibrated rule files, specify hidden=true
in the layer definition:
dielectric = my_diel_mipt {
diel_type = mask
zbottom = 0.071
thickness = 11.0
eps = 1.69
hidden = true
}
hollow_radius
Parameter for layer(s): TSV
A required TSV layer parameter used to specify the radius of the hollow area for through silicon
via.
Syntax
hollow_radius = value
Parameters
• value
A floating point value used to specify the radius of the hollow area.
Description
A required TSV layer parameter that specifies the radius of the hollow area for through silicon
via. The hollow_radius measurement is shown in Figure 4-33.
Examples
Example 1
In Figure 4-33, Example 1 is an example of a solid TSV. In this case hollow radius is 0.
hollow_radius = 0
Example 2
In Figure 4-33, Example 2 is an example of a hollow TSV. In this case the hollow radius is a
non-zero value, for example:
hollow_radius = 0.87
ignore_diff_intrinsic
Parameter for layer(s): seed
An optional seed layer parameter that controls whether or not capacitance from diffusion to
ground is ignored by calibration when generating the calibrated rule files.
Syntax
ignore_diff_intrinsic = yes | no
Parameters
• yes
Specifies to ignore the capacitance from diffusion to ground. This is the default.
• no
Specifies to include the capacitance from diffusion to ground.
Description
The optional ignore_diff_intrinsic parameter controls whether or not capacitance from diffusion
to ground is ignored. For example, in Figure 4-34 the ignored capacitance would be from OD/
fin to ground.
Examples
ignore_diff_intrinsic = no
ignore_diff_to_diff_under_poly
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter that controls whether or not diffusion to diffusion
under poly capacitance is ignored by calibration when generating the calibrated rule files.
Syntax
ignore_diff_to_diff_under_poly = yes | no
Parameters
• yes
Specifies to ignore the diffusion to diffusion under poly capacitance. This is the default.
• no
Specifies to include the diffusion to diffusion under poly capacitance.
Description
Figure 4-35 shows the capacitance controlled by the ignore_diff_to_diff_under_poly parameter.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_endcap = yes
ignore_diff_to_diff_under_poly = no
ignore_gate_to_diff = yes
}
ignore_endcap
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter that controls whether or not poly extension to
source and drain coupling is ignored by calibration when generating the calibrated rule files.
Syntax
ignore_endcap = yes | no
Parameters
• yes
Specifies to ignore the poly extension to source and drain coupling.
• no
Specifies to include the poly extension to source and drain coupling. This is the default.
Description
Figure 4-36 shows the capacitance controlled by the ignore_endcap parameter.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_endcap = yes
ignore_diff_to_diff_under_poly = no
ignore_gate_to_diff = yes
}
ignore_gate_intrinsic
Parameter for layer(s): seed
An optional seed layer parameter that controls whether or not capacitance from the gate poly
layer to ground is ignored by calibration when generating the calibrated rule files.
Syntax
ignore_gate_intrinsic = yes | no
Parameters
• yes
Specifies to ignore the capacitance from the gate poly layer to ground. This is the default.
• no
Specifies to include the capacitance from the gate poly layer to ground.
Description
The optional ignore_gate_intrinsic parameter controls whether or not capacitance from the gate
poly layer to ground is ignored. For example, in Figure 4-37 the ignored capacitance would be
from gate poly to ground.
Examples
ignore_gate_intrinsic = no
ignore_gate_to_diff
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter that controls whether or not the coupling
capacitance between gates to diffusion is ignored by calibration when generating the calibrated
rule files.
Syntax
ignore_gate_to_diff = yes | no
Parameters
• yes
Specifies to add the coupling capacitance between gates to diffusion. This is the default.
• no
Specifies to subtract the coupling capacitance between gates to diffusion.
Description
Figure 4-38 shows the capacitance controlled by the ignore_gate_to_diff parameter.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_endcap = yes
ignore_diff_to_diff_under_poly = no
ignore_gate_to_diff = yes
}
ignore_gateext_to_diff
Parameter for layer(s): pcaux, seed
An optional pcaux and seed layer parameter that controls whether or not the coupling
capacitance between the gate extension to diffusion and rsd is ignored by calibration when
generating the calibrated rule files.
Syntax
ignore_gateext_to_diff = yes | no
Parameters
• yes
Specifies to ignore the coupling capacitance between gate extension to diffusion and rsd.
• no
Specifies to include the coupling capacitance between gate extension to diffusion and rsd.
This is the default.
Description
Figure 4-39 shows the capacitance controlled by the ignore_gateext_to_diff parameter.
This parameter is ignored if it is set to yes with ignore_endcap parameter set to yes, and issues
the following warning:
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_gate_to_diff = no
ignore_gateext_to_diff = yes
}
ignore_gateext_to_diff_only
Parameter for layer(s):pcaux, seed
An optional pcaux and seed layer parameter that controls whether or not the coupling
capacitance between the gate extension to diffusion is ignored by calibration when generating
the calibrated rule files.
Syntax
ignore_gateext_to_diff_only = yes | no
Parameters
• yes
Specifies to ignore the coupling capacitance between gate extension to diffusion.
• no
Specifies to include the coupling capacitance between gate extension to diffusion. This is
the default.
Description
Figure 4-40 shows the capacitance controlled by the ignore_gateext_to_diff_only parameter.
Note that capacitance from the gate extension to diffusion is ignored regardless of how the
ignore_endcap parameter is specified.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_gate_to_diff = no
ignore_gateext_to_diff_only = yes
}
ignore_rsd
Parameter for layer(s): seed
An optional seed layer parameter that controls whether or not the poly to raised source/drain
coupling is ignored by calibration.
Syntax
ignore_rsd = yes | no
Parameters
• yes
Specifies to ignore the capacitance between the poly and raised source/drain layer.
• no
Specifies to include the capacitance between the poly and raised source/drain layer. This is
the default.
Description
The optional ignore_rsd parameter controls whether or not capacitance from the poly to raised
source/drain coupling is ignored. For example, in Figure 4-41 the ignored capacitance would be
from rsd to poly.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_gate_to_diff = no
ignore_rsd = yes
}
ignore_rsd_intrinsic
Parameter for layer(s): seed
An optional seed layer parameter that controls whether or not the capacitance between the
raised source/drain layer and ground is ignored by calibration.
Syntax
ignore_rsd_intrinsic = yes | no
Parameters
• yes
Specifies to ignore the capacitance between the raised source/drain layer and ground.
• no
Specifies to include the capacitance between the raised source/drain layer and ground. This
is the default.
Description
The optional ignore_rsd_intrinsic parameter controls whether or not capacitance from the rsd
layer to ground is ignored. For example, in Figure 4-42 the ignored capacitance would be from
rsd to ground.
Examples
seed = NAGATE3 {
thickness = 0.04300
min_width = 0.02700
min_spacing = 0.07200
resistivity = 1.6984
ignore_gate_to_diff = no
ignore_rsd_intrinsic = yes
}
inductance_unit
Type: Global Parameters
An optional global parameter that specifies the units for inductance values to use when
calculating the self inductance of vias.
Syntax
inductance_unit = unit
Parameters
• unit
A value that specifies the unit of inductance to use for calculating the self inductance of
vias.
Acceptable values are:
ah — attohenry
fh — femtohenry
ph — picohenry
nh — nanohenry
uh — microhenry
mh — millihenry
h — henry
The default is picohenry (ph).
Description
Calibration does not generate inductance calculations but sets the units used during inductance
extraction. The default is to not produce the Unit Inductance SVRF statement. For more
information on global parameters, see Global Parameters.
Examples
inductance_unit = ph
insulator
Parameter for layer(s): TSV
An optional TSV layer parameter used to specify one or more insulators for the TSVs in the
process. The comma separated value pairs must be enclosed in braces ({ }). Insulators must be
described using either a conformal dielectric layer or with the insulator parameter.
Syntax
insulator = {{thickness1, ER1} {thickness2 , ER2 }... {thicknessn ERn}}
Parameters
• thickness
A floating point value used to specify the thickness of the insulator.
• ER
A floating point value used to specify the dielectric constant for the insulator.
Examples
Example 1
The following example is a TSV description using the insulator parameter for a TSV with one
insulator type where thickness of the insulator is 0.25 and the dielectric constant is 4.8:
tsv = my_tsv {
measured_from = base_M1
measured_to = BM
radius = 3.2
hollow_radius = 0
height = 48.5
top_enclosure = 4
bot_enclosure = 4
resistivity = 0.02
depletion_width = 0
insulator = {{0.25, 4.8}}
}
Example 2
This example defines a TSV insulator using a conformal dielectric layer. For example:
tsv = tsv {
measured_from = BM1
measured_to = M1
radius = 6.0
hollow_radius = 0
height = 50.50
top_enclosure = 0
bot_enclosure = 0
resistivity = 0.1
depletion_width = 0.5
}
dielectric = tsv_sidewall {
diel_type = conformal
thickness = 0.0
eps = 3.2
ref_layer = tsv
topthk = 0.0
swthk = 0.3
}
layer_bias
Parameter for layer(s): conductor, device_li, diffusion, ground, li, poly, resistor, seed, src_drn
An optional conducting layer parameter that specifies the bias on the edge of metal objects with
respect to the drawn width of the layer.
Syntax
layer_bias = value
Parameters
• value
A positive or negative floating point value that specifies the bias on the edge of metal
objects with respect to the drawn width of the layer.
Description
Figure 4-43 illustrates the bias on the edge of metal objects with respect to the drawn width of
the layer.
If there is no in-die table or opc bias table, then actual width uses the layer_bias setting as
follows:
If there is an in-die table or opc bias table and layer_bias is specified, then the table setting is
used and the layer_bias setting is ignored.
The process variation of the width is described through variation data from the table. For more
information on process variation, see Process Variation. For more information on the
conducting layers, see Layer Definitions.
Examples
layer_bias = 0.50
layer_name
Layer Definitions syntax
Part of the layer definition syntax, this layer definition parameter specifies a required unique
user-specified name.
Syntax
layer_type = layer_name {
list_of_parameters
}
Parameters
• layer_type
A required parameter that specifies the layer type keyword. Valid layer type keywords
include Base, Dielectric, Conductor, Resistor, Ground, Derived, Poly, Diffusion, li,
Device_li, Contact, Via, Src_drn, Seed, and TSV. When you define a layer, the layer type
keyword must come first followed by an equal sign then the layer name. For more
information on layer types, see Layer Definitions.
• layer_name
A required unique user-specified name.
• list_of_parameters
This is the list of required and optional parameters which varies depending on the layer type.
For more information on what the list of parameters should be, refer to the list supplied for
the layer type you wish to specify.
Examples
In the following example the layer_name parameter is my_base_layer:
base = my_base_layer {
thickness = 1
ztop = 0.
}
li
Type: li layer
Part of the layer definition syntax, the li layer definition keyword is used to define the electrical
and physical characteristics of local interconnect layers. The li keyword is followed by an equal
sign, a unique user-specified layer name, and a list of parameters enclosed in required braces.
Each parameter must appear on its own line. Layers of this type can be specified multiple times.
This layer definition is required when you are not performing RONLY extraction.
Syntax
li = layer_name {
thickness = z-direction_ metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
device_li_layers = space_delimited_list_of_device_li_layer_names
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
widths = ‘{’ w1 w2 w3 ... wn ‘}’
spacings = ‘{’ s1 s2 s3 ... sn ‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• device_li_layers
An optional li layer parameter that specifies a space delimited list of device_li layer names
enclosed in braces ({ }).
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• widths
An optional conducting layer parameter that specifies a space delimited list of floating point
width values enclosed in braces ({ }).
• spacings
An optional conducting layer parameter that specifies a space delimited list of floating point
spacing values enclosed in braces ({ }).
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
li = li_1 {
ztop = 0.0
measured_from = poly_diel7
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
tc1 = use my_Mx_layers_tc1
tc2 = use my_Mx_layers_tc2
}
li_device_model
Type: Global Parameters
An optional global parameter that defines the type of local interconnect model generated by
calibration.
Syntax
li_device_model = default | single_li_layer | dual_li_layer_model1 | dual_li_layer_model2
Parameters
• default
Specifies the CMOS device model. This is the default if this keyword is not specified.
• single_li_layer
Specifies a single layer LI model for an SOI process.
• dual_li_layer_model1
Specifies a two layer LI model which includes gate to diffusion coupling.
• dual_li_layer_model2
Specifies a two layer LI model which excludes gate to diffusion coupling.
Description
Legal values for li_device_model are default, single_li_layer, dual_li_layer_model1, or
dual_li_layer_model2. The number of LI layers defined in the MIPT file must match the
number of layers allowed for the specified li_device_model parameter. If the number of layers
for the parameter do not match the number of LI layers in the MIPT file, then an error message
is generated.
If this parameter is not specified, then the CMOS device model is used by default. If this
parameter is specified, but there are no LI layers in the MIPT file, no errors or warnings are
generated and the effect of the parameter is ignored. This parameter can only be specified once.
For more information on global parameters, see Global Parameters.
Examples
Example 1
Include the following global parameter definition in your MIPT file to specify two LI layers
which include gate to diffusion coupling:
li_device_model = dual_li_layers_model1
Example 2
If more than one definition appears in the MIPT file:
li_device_model = dual_li_layers_model1
li_device_model = dual_li_layers_model2
li_layers
Parameter for layer(s): device_li
An optional device_li layer parameter that specifies a space delimited list of li layer names used
to associate the device_li layer with other li layers. Use this parameter to maintain proper
physical connectivity between coplanar layers after applying bias.
Syntax
li_layers = {li_layer_name1 li_layer_name2 ... li_layer_namen}
Parameters
• {li_layer_name1 li_layer_name2 ... li_layer_namen}
A space delimited list of li layer names enclosed in braces ({ }).
Examples
device_li = M0_OD1 {
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.672
layer_bias = -0.0070
measured_from = ILD_nm
zbottom = 0
li_layers = {M0_ST1}
}
li = M0_ST1 {
min_width = 0.02600
min_spacing = 0.05800
resistivity = 0.67
measured_from = FOX
zbottom = 0
}
max_area
Parameter for layer(s): via
An optional parameter used by via layers that specifies the area threshold in square microns for
large area via connections.
Syntax
max_area = value
Parameters
• value
A value used to specify the area threshold for large area via connections in square microns.
Description
Use this parameter in your via layer definitions to control how vias are modeled. During
calibration, this parameter sets the MAXAREA parameter in the PEX Resistance Parameters
statement for the via layer. See Via layer type for a complete list of via layer definition
parameters.
Examples
max_area = 150
max_length
Parameter for layer(s): via
An optional parameter used by via layers that specifies the maximum distance in microns
between distributed vias.
Syntax
max_length = value
Parameters
• value
A value used to specify the maximum distance between distributed vias in microns.
Description
Use this parameter in your via layer definitions to control the distribution of reduced vias. The
distance between the distributed vias will not exceed this limit. During calibration, this
parameter sets the MAXLENGTH parameter in the PEX Resistance Parameters statement for
the via layer. See Via layer type for a complete list of via layer definition parameters.
Examples
max_length = 50
max_rlength
Parameter for layer(s): conductor, derived, device_li, diffusion, ground, li, pcaux, poly, resistor,
seed, src_drn
An optional conducting layer parameter that specifies the maximum length of a wire to use
when calculating how many pieces a resistor should be broken into for representation in a
distributed network.
Syntax
max_rlength = value
Parameters
• value
A value used to specify the maximum length of a wire to use when calculating how many
pieces a resistor should be broken into.
Description
If this parameter is unset, it defaults to a value of 0 and the parasitic resistors are limited to 100
microns (um) in length. Two-dimensional fracturing is not performed (no width fracturing).
Leaving this parameter unset is suitable for interconnect layers such as polysilicon and metal.
If this parameter is set to a value, then a two-dimensional grid is created, with a maximum
length of each resistor being set to the specified value. This is appropriate for substrate layers
such as nwell and psub.
Examples
max_rlength = 100
max_spacing
Parameter for layer(s): conductor, device_li, diffusion, ground, li, pcaux, poly, resistor, seed,
src_drn
An optional conducting layer parameter that specifies the maximum allowed metal spacing.
Syntax
max_spacing = value
Parameters
• value
A floating point value used to specify the maximum allowed metal spacing.
Examples
max_spacing = 0.50
max_width
Parameter for layer(s): conductor, device_li, diffusion, ground, li, pcaux, poly, resistor, seed,
src_drn
An optional conducting layer parameter that specifies the maximum allowed metal width.
Syntax
max_width = value
Parameters
• value
A floating point value used to specify the maximum allowed metal width.
Examples
max_width = 0.50
measured_from
Parameter for layer(s): optional for conductor, device_li, dielectric, diffusion, ground, li, pcaux,
poly, resistor, seed, src_drn; required by contact, TSV, ubump, via.
A layer parameter that specifies the layer whose top surface is used as the base from which the
layer’s bottom is measured.
Syntax
measured_from = layername
Parameters
• layername
A string value used to specify the name of the layer whose top surface is used as the base
from which the layer’s bottom is measured.
Description
For a conformal dielectric layer, the top is from the planar part. For a trench dielectric layer, the
top is from the bottom of the reference layer. The measured_from parameter can only reference
layers lower in the stack. For more information on dielectric layer definition, see Dielectric.
For contact and via layers, this is a required parameter that specifies the lower conductor layer
name. For more information on contact layer definition, see Contact. For more information on
via layer definition, see Via.
For TSV layers, this is a required parameter that specifies the back side metal layer name that
the TSV connects to. For more information on TSV layer definition, see TSV.
For ubump layers the parameter specifies the bottom most layer that the uBump connects to.
The parameters measured_from and measured_to are interchangeable for ubump layers.
Examples
measured_from = poly1
measured_to
Parameter for layer(s): contact, TSV, ubump, via
A required layer parameter that must be specified for contact, TSV, via, and ubump layer
definitions.
Syntax
measured_to = layername
Parameters
• layername
A string value used to specify the upper conductor layer name for contact and via layer type,
the front metal layer for TSV layer type, or top most layer for ubump layer type.
Description
For contact and via layers the parameter specifies the layer whose top surface is used as the base
from which the layer’s bottom is measured. For TSV layers the parameter specifies the front
metal layer that the TSV connects to. For ubump layers the parameter specifies the top most
layer that the ubump connects to. The parameters measured_from and measured_to are
interchangeable for ubump layers.
Examples
measured_to = metal1
metal_fill
Parameter for layer(s): conductor, device_li, diffusion, li, pcaux, poly, resistor, seed, src_drn
An optional conducting layer parameter used to define a list of virtual fill parameters. The
virtual fill parameters are specified as a set of values enclosed in braces ({ }).
Syntax
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded]‘}’
Parameters
• fill_ratio
A positive floating point number in the range [0..1], used as minimum density value by
virtual fill model.
• fill_spacing
A positive floating point number.
• fill_width
A positive floating point number.
• [floating | grounded]
A literal value used to specify the type of fill as either floating or grounded.
Examples
metal_fill = {0.9 0.1 0.5 grounded}
mid_width
Parameter for layer(s): ubump
A required parameter that specifies the middle metal width of the ubump layer.
Syntax
mid_width =value
Parameters
• value
A required floating point value used to specify the middle metal width of the ubump.
Description
In Figure 4-44, mid_width is the widest diameter of the ubump.
Examples
mid_width = 1.7
min_length
Parameter for layer(s): contact, via
An optional parameter used by via or contact layers that specifies the length of the shape. From
a dimension perspective, min_width is the shortest side, while min_length is the longest side.
This parameter can be used together with min_width parameter, but cannot be used with the
area parameter. The shape is assumed to be rectangular, with dimensions of min_width *
min_length.
Syntax
min_length = value
Parameters
• value
A floating point value used to specify the length of the shape in distance_units.
Examples
min_length = 0.15
min_spacing
Parameter for layer(s): conductor, contact, device_li, diffusion, ground, li, pcaux, poly, resistor,
seed, src_drn, via
A required parameter for conducting layer definitions conductor, device_li, diffusion, ground,
li, pcaux, poly, and resistor that specifies the minimum drawn spacing of metal objects on this
layer. This parameter is optional for seed and src_drn layer definitions. For contact and via layer
definitions, this parameter is required to specify the spacing between vias (or contacts) and
conductors on their respective layers.
Syntax
min_spacing = value
Parameters
• value
A required floating point value used to specify the minimum drawn spacing of metal objects
on this layer.
Examples
min_spacing = 0.125
min_width
Parameter for layer(s): conductor, contact, device_li, diffusion, ground, li, pcaux, poly, resistor,
seed, src_drn, ubump, via
A required parameter for conducting layer definitions conductor, contact, device_li, diffusion,
ground, li, pcaux, poly, resistor, via, and ubump that specifies the minimum drawn width of
metal objects on this layer. This parameter is optional for seed and src_drn layer definitions.
Syntax
min_width = value
Parameters
• value
A required floating point value used to specify the minimum drawn width of metal objects
on this layer.
Examples
min_width = 0.17
mipt_version
Type: Global Parameters
A required global parameter that specifies the version of the MIPT syntax used in the MIPT file.
It can only be specified once.
Syntax
mipt_version = version_number
Parameters
• version_number
A value used to specify the version number of the MIPT syntax used in the file. The value
must be 2.0.
Examples
mipt_version = 2.0
multigate
Type: Multigate layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
electric and physical characteristics of a multigate device. The multigate keyword is followed
by an equal sign, a unique user-specified layer name, and a list of parameters enclosed in
required braces. Each parameter must appear on its own line. Layers of this type can be
specified multiple times in the MIPT file.
Syntax
multigate = layer_name {
fin_spacing = space_between_fins
fin_width = width_of_fin
fin_length = length_of_fin
fin_thickness = thickness_of_fin
gate_oxide_er = gate_oxide_permittivity
gate_oxide_top_t = gate_oxide_top_thickness
gate_oxide_side_t = gate_oxide_side_thickness
gate_poly_top_t = poly_top_thickness
gate_poly_side_t = poly_side_thickness
channel_er = permittivity_diff_value
gate_diffusion_layer_pair = ‘{’ list_of_one_or_more_layer_pairs‘}’
rsd_enclosure = raised_source/drain_edge_bias
rsd_thickness = raised_source/drain_height
rsd_spacing = raised_source/drain_to_gate_spacing
trench_contact_extension_length = value
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• fin_spacing
A required layer parameter that specifies the space between fins.
• fin_width
A required layer parameter that specifies the width of the fin.
• fin_length
A required layer parameter that specifies the length of the fin.
• fin_thickness
A required layer parameter that specifies the thickness of the fin.
• gate_oxide_er
A required layer parameter that specifies the permittivity of the gate oxide.
• gate_oxide_top_t
A required layer parameter that specifies the top thickness of the gate oxide.
• gate_oxide_side_t
An optional layer parameter that specifies the side thickness of the gate oxide.
• gate_poly_top_t
A required layer parameter that specifies the gate poly thickness between the top of the gate
poly and the top of the gate oxide.
• gate_poly_side_t
An optional layer parameter that specifies the gate poly thickness between the side of the
gate poly and the side of the gate oxide.
• channel_er
An optional layer parameter that specifies the difference in permittivity of the gate oxide
and its lateral side.
• gate_diffusion_layer_pair
A required list of one or more layer pairs used to specify which gate and diffusion layers can
be paired together to describe different device types with the same device parameters. The
list of pairs must be specified in brackets; pairs must be specified in parentheses.
• rsd_enclosure
An optional layer parameter that specifies the raised source/drain edge bias.
• rsd_thickness
An optional conducting layer parameter that specifies the raised source/drain height.
• rsd_spacing
An optional conducting layer parameter that specifies the raised source/drain to gate
spacing.
• trench_contact_extension_length
An optional layer parameter that specifies the nominal extension of the trench contact
beyond the diffusion.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
multigate = fin1 {
fin_spacing = 0.016
fin_width = 0.016
fin_length = 0.032
fin_thickness = 0.010
gate_oxide_top_t = 0.006
gate_oxide_er = 4.0
gate_poly_top_t = 0.008
channel_er = 6.0
gate_diffusion_layer_pair = {(PGATE PDIFF) (NGATE NDIFF)}
}
multigate parameter
Parameter for layer(s): pcaux, seed
An optional seed layer parameter used to control which default model for FinFETs is used
during calibration.
Syntax
multigate = ignore | trim
Parameters
• ignore
A keyword that specifies to replace diffusion with a dummy volume under raised source/
drain.
• trim
A keyword that specifies to keep diffusion under the raised source/drain (rsd) and not extend
to gate.
Examples
multigate = trim
pad
Type: Pad layer
Part of the layer definition syntax, this optional layer definition keyword is used to define a
conductor layer used to describe a CBUMP layer that has no routing, typically a square or round
shape. The pad keyword is followed by an equal sign, a unique user-specified layer name, and a
list of parameters enclosed in required braces. Each parameter must appear on its own line. Via
table types VRESISTANCE, VWIDTH, and VLENGTH can be specified in this layer type.
Syntax
pad = layer_name {
thickness = z_direction_metal_thickness
min_width =minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded]‘}’
thickness_type = absolute | relative
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
layer_bias = bias_actual_width_relative_to_drawn_width
capacitive_only_etch = layer_bias_for_capacitance_only
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls #for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1 h1 factor1‘}’ ... ‘{’wn hn factorn‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required layer parameter that specifies the minimum allowed drawn spacing between
conductors on this layer.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional conducting layer parameter that specifies the resistance temperature1
coefficient.
• tc2
An optional conducting layer parameter that specifies the resistance temperature2
coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length of a wire. This
parameter is used for resistance fracturing, which determines how many pieces a resistor
should be broken into for representation in a distributed network.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• capacitive_only_etch
An optional parameter that specifies the layer bias for capacitance only.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1 h1 factor1} ... {wn hn factorn}. The
braces are required for grouping.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
pad = pad1_layer {
thickness = 0.1
min_width = 0.1
min_spacing = 0.25
resistivity = 8.3
}
parallel_to_gate
Parameter for layer(s): via
An optional parameter used by via layers that specifies how the via width and length are
measured.
Syntax
parallel_to_gate = no | yes
Parameters
• no
Specifies the width is the shorter edge. This is the default.
• yes
Specifies the length is the edge parallel to the gate and the width is the edge perpendicular to
the gate.
Description
Use this parameter in your via layer definitions to describe how the via width and length are
measured. For rectangular vias, the width is typically taken to be the shorter value from the
width and length values. For smaller geometries certain via lengths may be shorter than the
width, so specify the parallel_to_gate parameter set to yes to override the default behavior. See
Via layer type for a complete list of via layer definition parameters.
Examples
parallel_to_gate = yes
pcaux
Type: PCaux layer
Part of the layer definition syntax, this optional layer definition keyword is used to define a
floating (non-gate) poly layer abutting the diffusion in between or at the end of a device. The
pcaux keyword is followed by an equal sign, a unique user-specified layer name, and a list of
parameters enclosed in required braces. Each parameter must appear on its own line.
Syntax
pcaux = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’ fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
multigate = ignore | trim
devices = ‘{’device1device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
seed_layers = ‘{’space_delimited_list_of_seed_layer_names‘}’
gate_to_cont_min_spacing = minimum_spacing_between_gate/poly_and_diffusion_contact
gate_to_via_min_spacing = minimum_spacing_between_gate/poly_and_diffusion_via
gate_to_LI1_min_spacing = minimum_spacing_between_gate/poly_and_li_layer
gate_to_LI2_min_spacing = minimum_spacing_between_gate/poly_and_second_li_layer
ignore_diff_to_diff_under_poly = yes | no
ignore_endcap = yes | no
ignore_gate_to_diff = yes | no
ignore_gateext_to_diff = yes | no
ignore_gateext_to_diff_only = yes | no
rsd_enclosure = raised_source/drain_edge_bias
rsd_thickness = raised_source/drain_height
rsd_spacing = raised_source/drain_to_gate_spacing
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer thickness parameter.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required layer parameter that specifies the minimum allowed metal spacing.
• resistivity
An optional layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
An optional layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• multigate
An optional parameter that specifies which default multigate model for FinFETs should be
used during calibration.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• seed_layers
An optional layer parameter that specifies one or more gate layers referred to as seed layers,
enclosed in braces ({ }). This parameter can only be specified for a poly or seed layer type.
• gate_to_cont_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the diffusion contact layer.
• gate_to_via_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the diffusion via layer.
• gate_to_LI1_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the li layer touching the diffusion layer.
• gate_to_LI2_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the second li layer touching the diffusion layer.
• ignore_diff_to_diff_under_poly
An optional parameter set to either yes or no, that controls whether or not diffusion to
diffusion under poly capacitance is ignored by calibration. The default is yes, if this
parameter is not specified.
• ignore_endcap
An optional parameter set to either yes or no, that controls whether or not poly extension to
source and drain coupling is ignored by calibration. The default is no, if this parameter is not
specified.
• ignore_gate_to_diff
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between gates to diffusion is ignored by calibration. The default is yes, if this
parameter is not specified.
• ignore_gateext_to_diff
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between the gate extension to diffusion and rsd is ignored by calibration. The
default is no, if this parameter is not specified.
• ignore_gateext_to_diff_only
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between the gate extension to diffusion is ignored by calibration. The default is
no, if this parameter is not specified.
• rsd_enclosure
An optional layer parameter that specifies the raised source/drain edge bias.
• rsd_thickness
An optional layer parameter that specifies the raised source/drain height.
• rsd_spacing
An optional layer parameter that specifies the raised source/drain to gate spacing.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
A pcaux (cfpoly) layer is an interconnect field poly between two devices whose thickness is the
same as field poly and that is treated as a floating net. The width bias, high K gate oxide is
different from field poly. For more information on pcaux layers, see PCaux.
Examples
Use a pcaux layer to specify a dummy interconnect field poly layer. For example:
pcaux = my_cpode_gate {
measured_from = ppoly
zbottom = 0
thickness = 0.005
rsd_spacing = 0.01
min_width = 0.05
min_spacing = 0.075
devices - {pmos1 pmos2}
gate_to_cont_min_spacing - 0.012
resistivity = 7.8
tc1 =0
tc2 =0
}
plate_loading
Type: Global Parameters
An optional global parameter that specifies whether the models and rules apply loading effects
to very wide wires or large plates. Setting plate_loading to yes turns on modeling of bottom
plane thickness variation, also known as loading. By default, plate_loading is set to no. This
option applies to all conductor layers that have thickness_bot tables. The plate_loading
parameter can only be specified once.
Syntax
plate_loading = yes | no
Parameters
• yes
Specifies to apply loading effects to plates. This setting turns on modeling of bottom plane
thickness variation, also known as loading.
• no
Specifies that loading effects are not applied to plates. This is the default behavior.
Examples
plate_loading = yes
poly
Type: Poly layer
Part of the layer definition syntax, the poly layer definition keyword is used to define the
electrical and physical characteristics of conducting layers. The poly keyword is followed by an
equal sign, a unique user-specified layer name, and a list of parameters enclosed in required
braces. Each parameter must appear on its own line. Layers of this type can be specified
multiple times. This layer definition is required when you are not performing RONLY
extraction.
Syntax
poly = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’ fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
capacitive_only_etch = layer_bias_for_capacitance_only
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
seed_layers = ‘{’space_delimited_list_of_seed_layer_names‘}’
widths = ‘{’ w1 w2 w3 ... wn ‘}’
spacings = ‘{’ s1 s2 s3 ... sn ‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer parameter that specifies the thickness of the metal layer in the z-direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• capacitive_only_etch
An optional parameter that specifies the layer bias for capacitance only.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• seed_layers
An optional layer parameter that specifies one or more gate layers referred to as seed layers,
enclosed in braces ({ }). This parameter may only be specified for a poly or seed layer type.
• widths
An optional conducting layer parameter that specifies a space delimited list of floating point
width values enclosed in braces ({ }).
• spacings
An optional conducting layer parameter that specifies a space delimited list of floating point
spacing values enclosed in braces ({ }).
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
Example 1
This example specifies a poly layer named ipoly:
poly = ipoly {
thickness = 0.005
min_width = 0.05
min_spacing = 0.075
r_sheet = 7.8
}
Example 2
In this example a new poly layer, my_poly, is created from an existing poly layer Mx using the
Use Directive. The “with” modifier overrides existing properties and adds new properties to the
my_poly layer definition.
process
Type: Global Parameters
A required global parameter used to create filenames and directories of results. It can only be
specified once. It must be a single string without spaces or special characters.
Syntax
process = name
Parameters
• name
A single string without spaces or special characters used to specify the name of the
manufacturing technology (process) being used.
Examples
process = my_process_1
property
table structure parameter
A required table structure parameter that specifies the property type of the table.
Syntax
property = table_property
Parameters
• table_property
A required value that specifies the property type of the table.
Description
Specifies the property type of the table for the layer. Each table property has a specific set of
ordered variables associated with them. For a complete list of valid table_property types and
their associated settings refer to “Table Property” on page 92. For more information on table
property, see “Table Property” on page 92.
Examples
This is an example of a conductor layer with a width table defined:
conductor = metal4 {
min_width = 0.1
min_spacing = 0.1
thickness = 0.2
table = m4_width_table {
property = WIDTH
table_type = R
dim_type = drawn
value_type = absolute
width = {0.1 0.2 0.25}
spacing = {0.15 0.25 0.5}
value = {0.2 0.3 0.5,
0.2 0.3 0.5,
0.2 0.3 0.5}
}
}
radius
Parameter for layer(s): TSV
A required TSV layer parameter used to specify the radius of the through silicon via.
Syntax
radius = value
Parameters
• value
A floating point value used to specify the radius of the TSV.
Description
The radius measurement for the TSV is shown in Figure 4-45.
Examples
Example 1
In Figure 4-45, Example 1 is an example of a solid TSV. In this case radius is 9.
radius = 9
Example 2
In Figure 4-45, Example 2 is an example of a hollow TSV. In this case the radius is 9.
radius = 9
ref_layer
Parameter for layer(s): dielectric
A dielectric layer parameter that specifies the metal or dielectric layer around which the
conformal coating is contoured.
Syntax
ref_layer = reference_layername
Parameters
• reference_layername
A string value used to specify the metal or dielectric layer name.
Description
This is an optional parameter when diel_type is planar; a required parameter when diel_type is
set to conformal, trench, or spacer.
The ref_layer parameter specifies the metal layer or dielectric layer around which the conformal
coating (swthk and topthk) is contoured when diel_type is set to conformal. The reference layer
is a metal layer in the case of a single conformal dielectric. The reference layer is a dielectric
layer for the upper conformal layer in the case of double (and above) conformal dielectrics (see
Figure 4-46).
The default reference layer is the previous conductor or conformal dielectric layer. Therefore,
the reference layer may be omitted for planar dielectrics if the layers are defined in the correct
order. Specifying the ref_layer allows out-of-order layer definitions. Once the layers have been
placed, the previous layer must be a conformal dielectric or a conductor.
Figure 4-47 shows the reference layer when diel_type is set to trench.
Examples
ref_layer = poly1
resistance
Parameter for layer(s): contact, derived, via
A required layer parameter used by contact, derived, and via layer definitions that specifies the
resistance for the layer in ohms. When specified for derived layers, the derived_type must be
src_drn_contact, ronly_contact, or ronly_via. This parameter generates n1/n2 tables during
calibration. This parameter cannot be used with resistivity or r_sheet parameters in the layer
specification.
Syntax
resistance = value
Parameters
• value
A floating point value used to specify the resistance in units ohms for this specific contact,
via, or derived layer.
Examples
resistance = 0.5
resistivity
Parameter for layer(s): required by conductor, derived, device_li, diffusion, ground, li, pcaux,
poly, resistor, substrate, tap, TSV, well; optional for seed, src_drn.
A required parameter for layer definitions conductor, derived, device_li, diffusion, ground, li,
poly, resistor, substrate, tap, TSV, and well that specifies the nominal metal resistance for this
layer. This parameter is optional for pcaux, seed, and src_drn layer definitions.
Syntax
resistivity = resistivity_value
Parameters
• resistivity
A required floating point value used to specify the nominal metal resistance for this layer.
The value can be specified as resistivity (rho). The units for resistivity are ohms *
distance_units.
Description
This parameter specifies the nominal metal resistance for the layer. The value may also be
specified as a table for resistivity (rho). The nominal value you specify for resistivity may be
overridden by specifying the table. This parameter cannot be used if resistance or r_sheet have
been defined for this layer. Specifying both resistivity and r_sheet generates an error during
parsing. When specified in a TSV layer definition, the value specifies the resistivity of the TSV
material.
Examples
resistivity = 0.347269
resistor
Type: Resistor layer
Part of the layer definition syntax, the resistor layer definition keyword is used to define the
electrical and physical characteristics of a resistor layer. The resistor keyword is followed by an
equal sign, a unique user-specified layer name, and a list of parameters enclosed in required
braces. Each parameter must appear on its own line. Layers of this type can be specified
multiple times.
Syntax
resistor = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
thickness_type = absolute | relative
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
coplanar_min_spacing = value
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed_metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names ‘}’
density_window = ‘{’w1h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
A required layer thickness parameter that specifies the thickness of the metal layer in the z-
direction.
• min_width
A required layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
A required layer parameter that specifies the minimum allowed drawn spacing between
resistors on this layer.
• resistivity
A required layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
A required layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• coplanar_min_spacing
An optional conducting layer parameter that specifies the minimum spacing value between
coplanar layers.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length of a wire. This
parameter is used for resistance fracturing, which determines how many pieces a resistor
should be broken into for representation in a distributed network.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wnhnfactorn}. The
braces are required for grouping.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
resistor = R1_RMOL {
ztop = 0.0
measured_from = poly_diel7
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
tc1 = use my_Mx_layers_tc1
tc2 = use my_Mx_layers_tc2
}
ronly_layers
Parameter for layer(s): conductor, contact, device_li, diffusion, ground, li, pcaux, poly, resistor,
seed, src_drn, via
An optional parameter for conducting layer definitions conductor, contact, device_li, diffusion,
ground, li, pcaux, poly, resistor, seed, src_drn, and via that specifies a space delimited list of r-
only derived layer names that to define electrical variations for the layer. An r-only layer is a
derived layer with derived_type equal to ronly, ronly_contact, or ronly_via.
Syntax
ronly_layers = ‘{’layer1 layer2 ... layern‘}’
Parameters
• ‘{’layer1 layer2 ... layern‘}’
A space delimited list of r-only layer names enclosed in braces ({ }).
Examples
Example 1
This example specifies a derived ronly layers M1, M2, M3:
Example 2
For conductor and li layers where physical parameters remain the same, but electrical properties
such as resistivity, tc1, tc2, and so forth may vary, you can specify a derived layer with a
derived_type ronly with the varied properties. For example:
li = M1 {
thickness = 0.052
min_width = 0.021
min_spacing = 0.06
resistivity = 0.70
tc1 = 1.5e-03
ronly_layers = {M1_light}
}
derived = M1_light {
derived_type = ronly
resistivity = 0.24
tc1 = 2.6e-03
}
Example 3
Electrical properties for contact and via layers may be varied using derived layers with a
derived_type ronly_contact or ronly_via respectively. For example:
via = via12 {
measured_from = ndiff
measured_to = M1_norm
min_width = 0.06
min_spacing = 0.06
ronly_layers = {via12_special}
resistance = 14.2
}
derived = via12_special {
derived_type = ronly_via
resistance = 19.7
}
rsd_enclosure
Parameter for layer(s): diffusion, pcaux, seed, src_drn, multigate
An optional parameter used in diffusion, pcaux, seed, src_drn, multigate layer definitions that
specifies the raised source/drain edge bias for the device.
Syntax
rsd_enclosure = value
Parameters
• value
A floating point value used to specify the raised source/drain edge bias.
Examples
rsd_enclosure = 0.044
rsd_spacing
Parameter for layer(s): diffusion, pcaux, seed, src_drn, multigate
An optional parameter used in diffusion, pcaux, seed, src_drn, multigate layer definitions that
specifies the raised source/drain to gate spacing for the device.
Syntax
rsd_spacing = value
Parameters
• value
A floating point value used to specify the raised source/drain to gate spacing.
Examples
rsd_spacing = 0.044
rsd_thickness
Parameter for layer(s): diffusion, pcaux, seed, src_drn, multigate
An optional parameter used in diffusion, pcaux, seed, src_drn, and multigate layer definitions
that specifies the raised source/drain height for the device.
Syntax
rsd_thickness = value
Parameters
• value
A floating point value used to specify the raised source/drain height.
Examples
rsd_thickness = 0.034
r_sheet
Parameter for layer(s): conductor, derived, device_li, diffusion, ground, li, pcaux, poly, resistor,
seed, src_drn
A required parameter for layer definitions conductor, derived, device_li, diffusion, ground, li,
poly, and resistor that specifies the nominal metal resistance for this layer. This parameter is
optional for pcaux, seed, and src_drn layer definitions.
Syntax
r_sheet = sheet_resistance
Parameters
• sheet_resistance
A required floating point value used to specify the nominal metal resistance for this layer.
The units for sheet resistance is ohms.
Description
A parameter that specifies the nominal metal resistance for this layer. The value may also be
specified as a table for sheet resistance (rsh). The nominal value you specify for r_sheet may be
overridden by specifying the table. This parameter cannot be used if resistance or r_sheet have
been defined for this layer. Specifying both resistivity and r_sheet generates an error during
parsing.
Examples
r_sheet = 0.09029
rsh_type
Type: Global Parameters
An optional global parameter that specifies how to interpret the indices for the sheet resistance
(rsh) process variation table. By default, the indices refer to drawn values; this is the most
common setting. If the parameter is set to actual, it affects the values used in the calculation of
sheet resistance. It can only be specified once.
Syntax
rsh_type = {drawn | actual}
Parameters
• drawn
Specifies that the table should treat indices in the process variation table as drawn values.
This is the default.
• actual
Specifies that the table should treat indices in the process variation table as actual values.
Examples
rsh_type = actual
seed
Type: Seed layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
area of the poly over the diffusion layer. The seed keyword is followed by an equal sign, a
unique user-specified layer name, and a list of parameters enclosed in required braces. Each
parameter must appear on its own line.
Syntax
seed = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’ fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
multigate = ignore | trim
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
seed_layers = ‘{’space_delimited_list_of_seed_layer_names‘}’
gate_to_cont_min_spacing = minimum_spacing_between_gate/poly_and_diffusion_contact
gate_to_via_min_spacing = minimum_spacing_between_gate/poly_and_diffusion_via
gate_to_LI1_min_spacing = minimum_spacing_between_gate/poly_and_li_layer
gate_to_LI2_min_spacing = minimum_spacing_between_gate/poly_and_second_li_layer
ignore_diff_intrinsic = yes | no
ignore_diff_to_diff_under_poly = yes | no
ignore_endcap = yes | no
ignore_gate_intrinsic = yes | no
ignore_gate_to_diff = yes | no
ignore_gateext_to_diff = yes | no
ignore_gateext_to_diff_only = yes | no
ignore_rsd = yes | no
ignore_rsd_intrinsic = yes |no
rsd_enclosure = raised_source/drain_edge_bias
rsd_thickness = raised_source/drain_height
rsd_spacing = raised_source/drain_to_gate_spacing
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
An optional seed layer thickness parameter.
• min_width
An optional seed layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
An optional seed layer parameter that specifies the minimum allowed metal spacing.
• resistivity
An optional seed layer parameter that specifies the nominal metal resistance for this layer.
This parameter cannot be specified with r_sheet.
• r_sheet
An optional seed layer parameter that specifies the sheet resistance for the layer. This
parameter cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• multigate
An optional parameter that specifies which default multigate model for FinFETs should be
used during calibration.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wn hn factorn}. The
braces are required for grouping.
• seed_layers
An optional layer parameter that specifies one or more gate layers referred to as seed layers,
enclosed in braces ({ }). This parameter can only be specified for a poly or seed layer type.
• gate_to_cont_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the diffusion contact layer.
• gate_to_via_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the diffusion via layer.
• gate_to_LI1_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the li layer touching the diffusion layer.
• gate_to_LI2_min_spacing
An optional layer parameter that specifies the minimum spacing between the gate poly layer
and the second li layer touching the diffusion layer.
• ignore_diff_intrinsic
An optional parameter set to either yes or no, that controls whether or not capacitance from
diffusion to ground is ignored by calibration. The default is yes, if this parameter is not
specified.
• ignore_diff_to_diff_under_poly
An optional parameter set to either yes or no, that controls whether or not diffusion to
diffusion under poly capacitance is ignored by calibration. The default is yes, if this
parameter is not specified.
• ignore_endcap
An optional parameter set to either yes or no, that controls whether or not poly extension to
source and drain coupling is ignored by calibration. The default is no, if this parameter is not
specified.
• ignore_gate_intrinsic
An optional parameter set to either yes or no, that controls whether or not capacitance from
the gate poly layer to ground is ignored by calibration. The default is yes, if this parameter is
not specified.
• ignore_gate_to_diff
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between gates to diffusion is ignored by calibration. The default is yes, if this
parameter is not specified.
• ignore_gateext_to_diff
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between the gate extension to diffusion and rsd is ignored by calibration. The
default is no, if this parameter is not specified.
• ignore_gateext_to_diff_only
An optional parameter set to either yes or no, that controls whether or not the coupling
capacitance between the gate extension to diffusion is ignored by calibration. The default is
no, if this parameter is not specified.
• ignore_rsd
An optional parameter set to either yes or no, that controls whether or not the poly to raised
source/drain coupling is ignored by calibration. The default is no, if this parameter is not
specified.
• ignore_rsd_intrinsic
An optional parameter set to either yes or no, that controls whether or not the capacitance
between the raised source/drain layer and ground is ignored by calibration. The default is
no, if this parameter is not specified.
• rsd_enclosure
An optional layer parameter that specifies the raised source/drain edge bias.
• rsd_thickness
An optional layer parameter that specifies the raised source/drain height.
• rsd_spacing
An optional layer parameter that specifies the raised source/drain to gate spacing.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
The seed layer must be defined with an associated poly layer by specifying the seed_layers
parameter in the poly layer definition. Seed layers use the same parameters as poly layer type,
however all seed layer parameters are optional, not required. The seed layer inherits parameter
settings from its associated poly layer. Any parameters specified in the seed layer definition
override the parameter setting specified in the parent poly layer. For more information on seed
layers, see Seed.
Examples
Example 1
When the gate of a poly layer has different properties than the interconnect poly, use a seed
layer to specify differences in physical parameters such as thickness. For example:
poly = PO {
thickness = 0.005
min_width = 0.05
min_spacing = 0.075
r_sheet = 7.8
seed_layers = {PO_gate}
}
seed = PO_gate {
thickness = 0.052
r_sheet = 12
}
Example 2
In this example, the poly layer fp_poly has a physical location in the layer stack and specifies
the poly layer over the field profile. The seed layer ppoly also has a physical location in the
layer stack and is used to specify the device region of the poly layer. For example:
poly = fp_poly {
thickness = 0.005
min_width = 0.05
min_spacing = 0.075
resistivity = 3.8
seed_layers = {ppoly}
}
seed = ppoly {
thickness = 0.10
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
seed_layers {PMOS1, PMOS2}
}
derived = NMOS1 {
derived_type = seed
table = NMOS1_width_RC {}
}
derived = NMOS2 {
derived_type = seed
table = NMOS2_width_RC {}
}
seed_layers
Parameter for layer(s): poly, seed
An optional parameter used in poly and seed layer definitions that specifies one or more gate
layers also referred to as seed layers. Use seed layers to describe different physical parameters
such as thickness, width, and spacing for a poly layer.
Syntax
seed_layers = ‘{’layer1 layer2 ... layern‘}’
Parameters
• {layer1 layer2 ... layern}
A space delimited list of one or more seed layer names enclosed in braces ({ }).
Examples
Example 1
You are allowed to specify more than one seed layer for a poly layer. For example:
poly = mpoly {
...
seed_layers = {ngate pgate}
...
}
Example 2
When the gate of a poly layer has different properties than the interconnect poly, use a seed
layer to specify differences in physical parameters such as resistivity. For example:
poly = mypoly {
thickness = 0.055
min_width = 0.05
min_spacing = 0.075
resistivity = 4.8
seed_layers = {gate_poly}
}
seed = gate_poly {
thickness = 0.09
resistivity = 12
}
spacings
Parameter for layer(s): conductor, poly, diffusion, li
An optional conducting layer parameter that specifies a list of spacing values used to override
modeled spacings for the layer. These floating point values must be enclosed in braces ({ }).
Syntax
spacings = ‘{’ s1 s2 s3 ... sn ‘}’
Parameters
• ‘{’ s1 s2 s3 ... sn ‘}’
A space delimited list of one or more floating point spacing values enclosed in braces ({ }).
Examples
conductor = M1 {
thickness = 0.063
hidden = {thickness}
min_width = 0.034
min_spacing = 0.02
tc1 = 1.565e-03
tc2 = -3.159e-07
extra_width = 0.012
swstep = 3
widths = {0.029 0.0483 0.067667 0.145 }
spacings = {0.009 0.0149698 0.0248995 0.041415 0.068887 0.114581
0.190584 0.317001 0.52727 1.74}
}
src_drn
Type: Src_drn layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
diffusion layer area used to form a gate. The src_drn keyword is followed by an equal sign, a
unique user-specified layer name, and a list of parameters enclosed in required braces. Each
parameter must appear on its own line.
Syntax
src_drn = layer_name {
thickness = z-direction_metal_ thickness
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistivity = resistivity_value
r_sheet = sheet_resistance
metal_fill = ‘{’fill_ratio fill_spacing fill_width [floating | grounded] ‘}’
ztop = top_ z-coordinate
zbottom = bottom_z-coordinate
measured_from = layername
thickness_type = absolute | relative
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
max_rlength = length_for_resistance_fracturing
max_width = maximum_allowed _metal_width
max_spacing = maximum_allowed_metal_spacing
devices = ‘{’device1 device2 ... devicen‘}’ # a space delimited list of device names
layer_bias = bias_actual_width_relative_to_drawn_width
trap_style = top | middle | bottom # where trapezoid measurements are taken from
extra_width = extra-width_of_side_walls # for a conductor with a trapezoid shape
extension = amount_layer_extends_past_diffusion_or_contact_layers
ronly_layers = ‘{’space_delimited_list_of_r-only_layer_names‘}’
density_window = ‘{’w1h1 factor1‘}’ ... ‘{’wnhn factorn‘}’
src_drn_layers = ‘{’space_delimited_list_of_src_drn_layer_names‘}’
rsd_enclosure = raised_source/drain_edge_bias_value
rsd_thickness = raised_source/drain_height_value
rsd_spacing = raised_source/drain_to_gate_spacing_value
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• thickness
An optional layer thickness parameter that specifies the thickness of the src_drn layer.
• min_width
An optional layer parameter that specifies the minimum allowed drawn width of metal
objects on this layer.
• min_spacing
An optional parameter that specifies the minimum allowed metal spacing.
• resistivity
An optional layer parameter that specifies the nominal metal resistance for this layer. This
parameter cannot be specified with r_sheet.
• r_sheet
An optional layer parameter that specifies the sheet resistance for the layer. This parameter
cannot be specified with resistivity.
• metal_fill
An optional conducting layer parameter. It is a set of values enclosed in braces, used to
define a list of virtual fill parameters.
• ztop
The top z-coordinate that is typically zero. This parameter is optional if zbottom is
specified; otherwise, this parameter is required.
• zbottom
The bottom z-coordinate that is typically a negative value. This parameter is optional if ztop
is specified; otherwise, this parameter is required.
• measured_from
An optional conducting layer parameter that measures zbottom or ztop relative to the
specified layer.
• thickness_type
An optional parameter set to either relative or absolute that defines how thickness is
measured. This parameter is permitted only if measured_from is set. The default is absolute,
if this parameter is not specified.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• max_rlength
An optional conducting layer parameter that specifies the maximum length allowed for
resistance fracturing.
• max_width
An optional parameter that specifies the maximum allowed metal width.
• max_spacing
An optional parameter that specifies the maximum allowed metal spacing.
• devices
An optional layer parameter that specifies a space delimited list of device names enclosed in
braces. This parameter is used to specify the devices the layer definition applies to.
• layer_bias
An optional conducting layer parameter that specifies the bias of actual width relative to
drawn width.
• trap_style
An optional conducting layer parameter that defines where trapezoid measurements are
taken from. Permitted values are top, middle, or bottom.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• extension
An optional conducting layer parameter that specifies the amount this layer extends past
diffusion or contact layers.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• density_window
An optional conducting layer parameter specified as {w1h1factor1} ... {wn hn factorn}. The
braces are required for grouping.
• src_drn_layers
Optional conducting layer parameter that specifies a space delimited list of src_drn layer
names enclosed in braces ({ }).
• rsd_enclosure
Optional conducting layer parameter that specifies the raised source/drain edge bias.
• rsd_thickness
Optional conducting layer parameter that specifies the raised source/drain height.
• rsd_spacing
Optional conducting layer parameter that specifies the raised source/drain to gate spacing.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
The src_drn layer type represents a physical location in the layer stack. A src_drn layer must be
defined with an associated diffusion layer by specifying the src_drn_layers parameter in the
diffusion layer definition. Src_drn uses the same parameters as diffusion layer type, except all
src_drn parameters are optional, not required. The src_drn layer inherits parameter settings from
its associated diffusion layer. Any parameters specified in the src_drn layer definition override
the parameter setting specified in the parent diffusion layer. For more information on src_drn,
see Src_drn.
Examples
src_drn = diff1 {
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
src_drn_layers = {tndiff tpdiff}
}
src_drn_contact_layers
Parameter for layer(s): contact
An optional parameter used in contact layer definitions that specifies the layer or layers that
make up the source/drain contact region of devices. Layer names must be enclosed in braces
({ }).
Syntax
src_drn_contact_layers = {layer1 layer2 ... layern}
Parameters
• {layer1 layer2 ... layern}
A space delimited list of src_drn contact layer names enclosed in braces ({ }).
Examples
src_drn_contact_layers = {ndiff2 pdiff2}
src_drn_layers
Parameter for layer(s): diffusion, src_drn
An optional parameter used in diffusion and src_drn layer definitions that specifies a space
delimited list of one or more src_drn layer names.
Syntax
src_drn_layers = {layer1 layer2 ... layern}
Parameters
• {layer1 layer2 ... layern}
A space delimited list of src_drn layer names enclosed in braces ({ }).
Description
Use this parameter to associated a diffusion layer to src_drn layers that specify variations in
diffusion thickness, spacing, and width. The src_drn layers describe the different physical
parameters such as thickness, width, and spacing for a diffusion layer.
Examples
Example 1
You are allowed to specify more than one src_drn layer for a diffusion layer. For example:
diffusion = my_diff {
...
src_drn_layers = {ndiff pdiff}
...
}
Example 2
When there are differences in diffusion thickness, spacing, or width, use a src_drn layer to
specify the differences in physical parameters. The src_drn layers that specify these differences
are defined in the diffusion layer with the src_drn_layers parameter. For example:
diffusion = diff1 {
thickness = 0.09
min_width = 0.045
min_spacing = 0.045
resistivity = 0.0366
src_drn_layers = {pdiff ndiff}
}
src_drn = pdiff {
thickness = 0.3
r_sheet = 0.2
}
src_drn = ndiff {
thickness = 0.32
r_sheet = 0.17
}
substrate
Type: Substrate layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
substrate layer. The substrate keyword is followed by an equal sign, a unique user-specified
layer name, and a list of parameters enclosed in required braces. Each parameter must appear on
its own line.
Syntax
substrate = layer_name {
ztop = top_z-coordinate
zbottom = bottom_z-coordinate
thickness = z-direction_metal_thickness
resistivity = resistivity_value
eps = value
bulk_min_width = value
bulk_resistance = value
hidden = false | true
}
Parameters
• ztop
A required top z-coordinate of the substrate layer.
• zbottom
A required bottom z-coordinate of the substrate layer.
• thickness
A required layer parameter that specifies the thickness of the substrate layer.
• resistivity
A required parameter that specifies the substrate layer resistance as rho, typically greater
than or equal to 0.
• eps
A required value that specifies the relative permittivity (dielectric constant), typically
greater than or equal to 0.
• bulk_min_width
An optional layer parameter that specifies the minimum width of the bulk layer in microns.
• bulk_resistance
An optional layer parameter that specifies the sheet resistance of the bulk layer in ohms.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
The substrate layer type can be specified once in the MIPT file. The ztop and zbottom
parameters are required to establish the substrate. Substrate models need information about
substrate layers. Substrate layers require resistivity, eps, and thickness. They cannot contain
tables. They should not be coplanar with each other or have gaps. For more information on
substrate layer structures, see Substrate Layer Structures.
Examples
base = base_layer {
ztop = 0 # required to define the base plane
# all other z-dimensions refer to this
thickness = 1
}
substrate = substrate_layer {
ztop = -0.18
zbottom = -0.08
resistivity = 0.11
eps = 2.3
}
dielectric = STI {
zbottom = 0 # optional
diel_type = planar
thickness = 0.27 # hSTI
eps = 4
}
svrf_verbatim
Type: Global Parameters
An optional global parameter that specifies a text string or text block that allows the insertion of
SVRF statements into the calibrated rule file.
Syntax
svrf_verbatim = text
Parameters
• text
A value that specifies a text string or text block that allows the insertion of SVRF statements
into the calibrated rule file. If the string contains spaces, then it must be enclosed in quotes
(“ ”).
Description
This parameter should be used with caution as some SVRF statements cannot be declared
multiple times when parsed by the SVRF parser. There is no checking for compliance with
SVRF.
This parameter can be specified multiple times. The text specified by this parameter is written
verbatim toward the top of the un-encrypted portion of the calibrated rule deck. It does not
affect calibration. You can use this parameter with no value to create an empty line in the header
of the calibrated rule file. If the string is enclosed in quotes, spaces are allowed. Multiple lines
must be enclosed in braces ({ }). You can encrypt one or more of the lines enclosed in braces by
using the #ENCRYPT and #DECRYPT directives.
For more information on global parameters, see Global Parameters. For more information on
the encryption directives, see Encryption. For information on SVRF statements, see the
Standard Verification Rule Format (SVRF) Manual.
Examples
Example 1
svrf_verbatim =
svrf_verbatim = "CAPACITANCE ORDER poly m1 m2"
svrf_verbatim = {
CAPACITANCE ORDER poly m1 m2
N4_PEX = M4 NOT GATE
}
Example 2
Given the following layer information:
To enter the sheet resistance of each bulk layer in your MIPT file, use the svrf_verbatim
keyword as follows:
Example 3
To encrypt certain SVRF statements in the calibrated rule files use the #ENCRYPT and
#DECRYPT directives:
svrf_verbatim = {
PEX REDUCE ANALOG YES
#ENCRYPT
CAPACITANCE ORDER poly m1 m2
N4_PEX = M4 NOT GATE
#DECRYPT
}
This example produces a rules.C file that has the following in the header section:
...
PEX REDUCE ANALOG YES
#DECRYPT%9"~6B$JA"P&@I1804%J<'_.H"#O9I&)M\:JU\<K4Y\L%?1!#WIG$!:S7W6A%2T)>
[;?UCA!"@3^UE:P%1QMT4:*!H;J;1Q!!"[X<'@?U.`WA<L7,O4"R02A!!"R*E"CSA\+0^Y:"R
O@VLX4!!!"E^W["MS@>7R,=2Q$9L>X5@N3\/
>>%CEC7)4!AXFL:Q!#,L#I!]@%B%5E2.(%Q,^$DQ!!")9OAR4C?L!@9&WA#J']E[1!!"8>KM$
5`!DR6L!&$_X65H#Q!!"\':3I,$\D]_J"]S#"N!!%!!!"
#ENCRYPT
...
swslope
Parameter for layer(s): dielectric
An optional conformal or trench dielectric layer parameter used to specify the angle of the side
wall in degrees.
Syntax
swslope = value
Parameters
• value
An integer valued used to specify the angle of the side wall in degrees. It should be a
positive value less than 180. The default is 90 degrees.
Description
The angle of the side wall, swslope, is shown in Figure 4-48. If this parameter has not been
specified the parser issues an informational message that notifies you that the parameter was not
found and the default of 90 degrees is used. The xCalibrate tool also verifies that the actual
slope angle entered intersects the top plane for this material thickness. This parameter may only
be used when the diel_type parameter is set to conformal or trench.
Examples
swslope = 90
swthk
Parameter for layer(s): dielectric
An optional dielectric layer parameter used to specify the conformal coating thickness on the
side wall.
Syntax
swthk = value
Parameters
• value
A floating point value used to specify the conformal coating thickness on the side wall.
Description
This swthk parameter is required when diel_type parameter is set to conformal, trench, or
spacer. The value specifies the conformal coating thickness on the side wall as shown in
Figure 4-49.
Examples
swthk = 0.075
table
Type: Table Syntax
An optional structure definition keyword used to provide a unified way to input process
variation information to xCalibrate.
Syntax
Syntax 1, one-dimensional table
table = <table_reference_name> {
property = <table_property>
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = {absolute | delta}
{{equation = {<equation to evaluate, optional>}} |
{variable1 = {w1 w2 ... wn}
value = {v(w1) v(w2) ... v(wn) }}
}
}
Parameters
• table_reference_name
A required unique user-specified name.
• property
A required parameter that specifies the table property being described. Each table property
has a specific set of ordered variables associated with it.
Valid table property types include: WIDTH, MULTI_BIAS, THICKNESS_TOP,
THICKNESS_BOT, THICKNESS, GATE_FRINGE, RSH, RSH_T, RHO, RHO_T,
RESISTANCE, TC1, TC2, CONTACT_WIDTH, VWIDTH, VLENGTH, and
VRESISTANCE.
“Table Property” on page 92 shows which options are available for each table property. It
also identifies which properties depict drawn or actual dimensions, or both, and what value
type setting should be used.
• table_type
A required parameter that must be either R, C, or RC. Note that not every keyword is
supported with every table type.
• dim_type
A required parameter that must be either drawn or actual. This parameter is used to specify
if table property is in drawn or actual dimensions. Note that not every keyword is supported
with every dimension type.
• value_type
A required parameter that must be either absolute or delta. Note that not every keyword is
supported with every value type.
• bias_type
An optional parameter used to specify whether the actual width values described in the table
are for the preferred or non-preferred direction. This parameter may only be used in two-
dimensional width or multi_bias property tables.
• equation
An optional parameter whose value specifies an equation to evaluate. This parameter cannot
be used with variable and value parameters.
• variabl e 1
A parameter that specifies variables that are affected by this table definition. Permitted
values for variable include width, length, thickness, spacing, density, co_co_spacing, and
gate_co_spacing. “Variable Keywords” on page 107 lists the available variable keywords
and their unit value. This parameter cannot be used with the equation parameter.
• value
An optional parameter whose value specifies the replacement values for the specified
variable. This parameter cannot be used with the equation parameter.
Description
A table is typically specified in-line with a layer definition in the MIPT file, but can also be
referenced using the use keyword. For more information on use keyword, see Use Directive.
Examples
table = my_table {
property = width
table_type = RC
dim_type = drawn
value_type = delta
width = { 5 6 7 8 }
value = { 0.12 0.13 0.14 0.15}
}
table_type
table structure parameter
A required table structure parameter used to specify how the table affects capacitance and
resistance extraction calculations for the layer.
Syntax
table_type = {R | C | RC}
Parameters
• R
Specifies that the table should be applied to resistance only.
• C
Specifies that the table should be applied to capacitance only.
• RC
Specifies that the table should be applied to both resistance and capacitance.
Description
A parameter that specifies how the table affects capacitance and resistance extraction
calculations for the layer. Permitted values are R, C, or RC. Note that not every table_type is
supported by every table property. Table 3-48 describes which table_type settings are allowed
for each table property. For more information on tables, see Table Syntax.
Examples
table_type = RC
tap
Type: Tap layer
Part of the layer definition syntax, this optional layer definition keyword is used to define a tap
layer. The tap keyword is followed by an equal sign, a unique user-specified layer name, and a
list of parameters enclosed in required braces. Each parameter must appear on its own line. This
layer type can be specified more than once in the MIPT file.
Syntax
tap = layer_name {
ztop = top_z-coordinate
zbottom = bottom_z-coordinate
thickness = z-direction_metal_thickness
resistivity = resistivity_value
bulk_min_width = value
bulk_resistance = value
hidden = false | true
}
Parameters
• ztop
A required top z-coordinate of the tap layer.
• zbottom
A required bottom z-coordinate of the tap layer.
• thickness
A required layer parameter that specifies the thickness of the tap layer.
• resistivity
A required parameter that specifies the tap layer resistance as rho, typically greater than or
equal to 0.
• bulk_min_width
An optional layer parameter that specifies the minimum width of the bulk layer in microns.
• bulk_resistance
An optional layer parameter that specifies the sheet resistance of the bulk layer in ohms.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
A tap layer is used to connect power and ground nets to the substrate. The vertical and lateral
resistance needs to be modeled for the substrate extraction model. Tap layers require the
parameters for resistivity and thickness. Tap layers have placement information defined relative
to the top of the substrate. This information is not used for capacitance calculations in Calibre
xRC or Calibre xACT 3D. The ztop and zbottom parameters are required to establish the tap
layer. For more information on tap layers, see Substrate Layer Structures.
Examples
tap = ntap {
zbottom = -0.01
ztop = 100
thickness = 0.1
resistivity = 11
}
substrate = substrate_layer {
ztop = -0.18
thickness = 0.1
resistivity = 0.11
eps = 2.3
}
dielectric = STI {
zbottom = 0
diel_type = planar
thickness = 0.27 # hSTI
eps = 4
}
tc1
Parameter for layer(s): conductor, contact, derived, device_li, diffusion, ground, li, pcaux, poly,
resistor, seed, src_drn, TSV, via
An optional parameter for layer definitions conductor, contact, derived, device_li, diffusion,
ground, li, pcaux, poly, resistor, seed, src_drn, TSV, and via that specifies the first order
temperature coefficient (TC1) for resistance for the layer.
Syntax
tc1 = value
Parameters
• value
A value that specifies the first order temperature coefficient (TC1) for resistance.
Description
Specifies the first order temperature coefficient (TC1) for resistance for the layer. When
specified in a TSV layer definition, the value specifies the first order temperature coefficient of
the TSV material.
The value may also be specified as a table for TC1. The nominal value you specify for tc1 may
be overridden by specifying the table. For more information on tables, see Table Syntax.
Examples
tc1 = 0.00231
tc2
Parameter for layer(s): conductor, contact, derived, device_li, diffusion, ground, li, pcaux, poly,
resistor, seed, src_drn, TSV, via
An optional parameter for layer definitions conductor, contact, derived, device_li, diffusion,
ground, li, pcaux, poly, resistor, seed, src_drn, TSV, and via that specifies the second order
temperature coefficient (TC2) for resistance for the layer.
Syntax
tc2 = value
Parameters
• value
A value that specifies the second order temperature coefficient (TC2) for resistance.
Description
Specifies the second order temperature coefficient (TC2) for resistance for the layer. When
specified in a TSV layer definition, the value specifies the second order temperature coefficient
of the TSV material.
The value may also be specified as a table for TC2. The nominal value you specify for tc2 may
be overridden by specifying the table. For more information on tables, see Table Syntax.
Examples
tc2 = -5.048e-07
temperature
Type: Global Parameters
An optional global parameter that specifies the nominal temperature for the calibration in units
Celsius. The default is 25 C if you do not include this parameter in your MIPT file. It can only
be specified once.
Syntax
temperature = value
Parameters
• value
A value that represents the nominal temperature for the calibration in units Celsius.
Examples
temperature = 28
thickness
Parameter for layer(s): base, conductor, contact, device_li, dielectric, diffusion, ground, li,
pcaux, poly, resistor, seed, substrate, src_drn, tap, well
A required parameter for layer definitions base, conductor, contact, device_li, dielectric,
diffusion, ground, li, pcaux, poly, resistor, substrate, tap, and well that specifies the nominal
metal resistance for this layer. This parameter is optional for seed and src_drn layer definitions.
Syntax
thickness = value
Parameters
• value
A required positive integer or floating point value that specifies the thickness of the layer
being defined.
Description
The thickness parameter represents different thickness measurements depending on the layer
type.
dielectric — the thickness of the dielectric layer in the z-direction. The thickness may be a zero
value if the layer is diel_type = conformal. For a trench dielectric (diel_type = trench) the
thickness must always be 0.
substrate, well, tap — for substrate layer types it is the thickness of the substrate. Thickness is
required to establish a substrate layer. The thickness parameter can only be specified with
zbottom parameter; It cannot be specified with both ztop and zbottom.
Examples
thickness = 0
thickness_type
Parameter for layer(s): conductor, device_li, dielectric, diffusion, ground, li, pcaux, poly,
resistor, seed, src_drn
An optional parameter for layer definitions conductor, device_li, dielectric, diffusion, ground,
li, pcaux, poly, resistor, seed, and src_drn, only valid and used together with the measured_from
parameter, that specifies how thickness is measured. This keyword is only valid if the
measured_from parameter is specified for the layer.
Syntax
thickness_type = absolute | relative
Parameters
• absolute
Specifies that the method of thickness measurement is absolute when ztop or zbottom is
defined. The default is absolute if this parameter is not specified.
• relative
Specifies that the method of thickness measurement is relative to the layer. Use this setting
when the measured_from parameter is specified, and ztop or zbottom parameters are not
defined for the layer. Use this setting to override the behavior of the thickness parameter.
Examples
thickness_type = relative
top_enclosure
Parameter for layer(s): TSV
An optional TSV layer parameter used to specify the top enclosure covered by the metal
“to_layer” for the through silicon via.
Syntax
top_enclosure = value
Parameters
• value
A floating point value that specifies the top enclosure covered by the metal “to_layer”.
Description
An optional TSV parameter that specifies the top enclosure covered by the metal “to_layer” for
the through silicon via. This parameter is used only in TSV layer definitions. The top_enclosure
is shown in Figure 4-50.
Examples
top_enclosure = 0.044
topthk
Parameter for layer(s): dielectric
An optional dielectric layer parameter that specifies the conformal coating thickness on top of a
conductor.
Syntax
topthk = value
Parameters
• value
A floating point value used to specify the conformal coating thickness on top of a conductor.
Description
This dielectric parameter is required when diel_type is set to conformal, trench, or spacer. The
value specifies the conformal coating thickness on top of a conductor. The topthk value may be
a positive or negative value as shown in Figure 4-51, Figure 4-52, and Figure 4-53.
Examples
topthk = 0.02
trap_style
Parameter for layer(s): conductor, device_li, diffusion, ground, li, pcaux, poly, resistor, seed,
src_drn
An optional parameter for layer definitions conductor, device_li, diffusion, ground, li, pcaux,
poly, resistor, seed, and src_drn, that specifies where the drawn or actual width is measured
from. This parameter must be specified with the layer_bias parameter for the conductor layer.
The drawn or actual width is measured in the middle of the trapezoid by averaging the top and
bottom edges of the trapezoid.
Syntax
trap_style = bottom | middle | top
Parameters
• bottom
Specifies that the drawn or actual width is measured from the bottom edge of the trapezoid.
• middle
Specifies that the drawn or actual width is measured from the middle of the trapezoid by
averaging the top and bottom edges of the trapezoid. This is the default.
• top
Specifies that the drawn or actual width is measured from the top edge of the trapezoid.
Examples
trap_style = middle
trench_contact_extension_length
Parameter for layer(s): multigate
An optional multigate layer parameter used to specify the nominal extension of the trench
contact beyond the diffusion. This parameter is used mainly for narrow devices.
Syntax
trench_contact_extension_length = value
Parameters
• value
A floating point value that specifies the nominal extension of the trench contact beyond the
diffusion.
Examples
trench_contact_extension_length = 8.0
trim
Parameter for layer(s): via
An optional layer parameter that controls how resistance is calculated for the via.
Syntax
trim = no | yes | actual | merge
Parameters
• no
Specifies to use drawn via dimensions when calculating via resistance. This is the default.
• yes
Specifies to use trimmed via dimensions when calculating via resistance.
• actual
Specifies to use actual via dimensions when calculating via resistance.
• merge
Specifies to use the merged area of the via when calculating via resistance. Use this setting
for coplanar vias.
Examples
trim = yes
TSV
Type: TSV layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
electric and physical characteristics of a through silicon via (tsv). The tsv keyword is followed
by an equal sign, a unique user-specified layer name, and a list of parameters enclosed in
required braces. Each parameter must appear on its own line. Layers of this type can be
specified multiple times in the MIPT file.
Syntax
tsv = layer_name {
measured_from = layername # bottom most layer (back side)
measured_to = layername # top most layer (front side)
radius = radius_of_the_TSV
hollow_radius = radius_of_the_hollow_area
height = height_of_the_TSV
resistivity = resistivity_value_of_the_TSV_material
depletion_width = depletion_region_width
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
top_enclosure = top_enclosure_value # covered by the metal “to_layer”
bot_enclosure = bottom_enclosure_value # covered by the metal “from_layer”
extra_width = extra-width_of_side_walls # for tapered style TSV
insulator = {{thickness1, ER1} {thickness2 , ER2 }... {thicknessn ERn}}
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• measured_from
A required layer parameter that specifies the back side metal layer that the TSV connects to.
• measured_to
A required layer parameter that specifies the front side metal layer that the TSV connects to.
• radius
A required layer parameter that specifies the radius of the TSV.
• hollow_radius
A required layer parameter that specifies the radius of the hollow area of the TSV.
• height
A required layer parameter that specifies the height of the TSV.
• resistivity
A required layer parameter that specifies the resistivity of the TSV material.
• depletion_width
A required layer parameter that specifies the depletion region width for the TSV.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• top_enclosure
An optional parameter that specifies the top enclosure covered by the metal “to_layer” for
the TSV.
• bot_enclosure
An optional parameter that specifies the bottom enclosure covered by the metal
“from_layer” for the TSV.
• extra_width
An optional layer parameter that specifies the extra-width of side walls for a tapered TSV.
• insulator
An optional layer parameter that specifies one or more insulators for the TSVs in the
process. Each insulator is described by a thickness and dielectric constant value.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
tsv = myTSV {
measured_from = bmet1
measured_to = met1
radius = 1.89
hollow_radius = 0.87
height = 10.3
top_enclosure = 1.3
bot_enclosure = 0.6
depletion_width = 0.5
resistivity = 8.3
}
tsv_model
Type: Global Parameters
An optional global parameter that specifies whether the TSV radius is retrieved from the rules
(device) or the layout (layout) during calibration. It can only be specified once.
Syntax
tsv_model = device | layout
Parameters
• device
Specifies the TSV radius is retrieved from the device. This is the default.
• layout
Specifies the TSV radius is retrieved from the layout.
Examples
If your TSV model is layout:
tsv_model = layout
tsv_radius_type = hole
tsv = myTSV {
measured_from = bmet1
measured_to = met1
radius = 1.89
hollow_radius = 0.87
hollow_diel = 1.4
height = 40
top_enclosure = 1.3
bot_enclosure = 0.6
depletion_width = 0.5
resistivity = 0.02
}
tsv_radius_type
Type: Global Parameters
An optional global parameter that specifies whether to treat the radius of the TSV as metal lined
or just a hole. It can only be specified once.
Syntax
tsv_radius_type = metal | hole
Parameters
• metal
Specifies that the radius of the TSV represents the radius of the metal in the TSV. This is the
default.
• hole
Specifies that the radius of the TSV represents the radius of the TSV as a hole in the
substrate (metal and insulator).
Description
Specifies whether to treat the radius of the TSV as metal lined or just a hole.
In Figure 4-54, R2 is the radius of the hole and R1 is the radius of the TSV when it is metal
lined. The difference between R2 and R1 is the dielectric sidewall thickness.
Examples
If your TSV is a hole:
tsv_model = layout
tsv_radius_type = hole
tsv = myTSV {
measured_from = bmet1
measured_to = met1
radius = 1.89
hollow_radius = 0.87
hollow_diel = 1.4
height = 40
top_enclosure = 1.3
depletion_width = 0.5
resistivity = 0.1
}
ubump
Type: uBump layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
electric and physical characteristics of a ubump. The ubump keyword is followed by an equal
sign, a unique user-specified layer name, and a list of parameters enclosed in required braces.
Each parameter must appear on its own line. Layers of this type can be specified multiple times
in the MIPT file.
Syntax
ubump = layer_name {
measured_from = layername # bottom most layer
measured_to = layername # top most layer
min_width = minimum_allowed_metal_width
mid_width = middle_width_of_the_ubump
enclosure_down = enclosure_with_respect_to_lower_conductor
enclosure_up = enclosure_with_respect_to_upper_conductor
resistivity = resistivity_value_of_the_ubump_material
hidden = false | true
}
Parameters
• layer_name
A required unique user-specified name.
• measured_from
A required layer parameter that specifies the bottom most layer that the uBump connects to.
• measured_to
A required layer parameter that specifies the top most layer that the uBump connects to.
• min_width
A required parameter that specifies the minimum allowed metal width of the ubump.
• mid_width
A required parameter that specifies the middle metal width of the ubump.
• enclosure_down
A required parameter that specifies enclosure with respect to a lower conductor. For ubump
the value of enclosure_down is the same as the value specified for enclosure_up.
• enclosure_up
A required parameter that specifies enclosure with respect to an upper conductor. For
ubump the value of enclosure_up is the same as the value specified for enclosure_down.
• resistivity
A required layer parameter that specifies the resistivity of the ubump material.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Examples
ubump = my_bump {
measured_from = WI
measured_to = BMB
min_width = 1.5
mid_width = 2.0
enclosure_up = 1.8
enclosure_down = 1.8
resistivity = 0.02
}
value
table structure parameter
A required table structure parameter used to specify a space delimited set of values enclosed in
braces that represent value variations for the property.
Syntax
value = ‘{’v(w1) v(w2) ... v(wn) ‘}’
Parameters
• {v(w1) v (w2) ... v (wn) }
A set of space delimited floating point values enclosed in braces ({ }), used to specify the
variation values applied to associated variable in the table definition.
Description
This required parameter is the last entry of each table. The table entries for value are the
absolute or delta values applied to the variation property. The end of line character of each line
in the value array must be a comma “,”. The adjusted data in the value arrays must conform to
the corresponding minimum values defined in the MIPT file. The adjusted widths must not be
smaller than the minimum width for the layer. The adjusted spacing must not be smaller than
the minimum spacing for the layer. If a bias has been set in the MIPT file, an error message is
generated if a table has settings that are out of range according to that bias.
The number of values that appear depends on the number of variables specified for the table. A
table with only one variable is a single dimensional table. A table that specifies 2 variables is
called a two dimensional table. The value list for a two dimensional list looks like:
table = table_reference_name {
property = table_property
table_type = {R | C | RC}
dim_type = {drawn | actual}
value_type = {absolute | delta}
equation = {<equation to evaluate, optional>}
variable1 = {w1 w2 ... wn}
variable2 = {s1 s2 ... sn}
value = { v(w1,s1) v(w1,s2) ... v(w1,sn),
...,
v(wn,s1) v(wn,s2) ... v(wn,sn)}
}
Examples
table = my_table {
property = width
table_type = RC
dim_type = drawn
value_type = delta
width = { 5 6 7 8 }
value = { 0.12 0.13 0.14 0.15}
}
value_type
table structure parameter
A required table structure parameter used to specify how the values provided in the table are
treated.
Syntax
value_type = {absolute | delta}
Parameters
• absolute
Specifies that the table should treat the specified values as absolute.
• delta
Specifies that the table should treat the specified values as delta values.
Description
A required parameter that specifies how the values provided in the table are treated. Permitted
types are absolute or delta. Note that not every value_type is supported by every table property.
Table 3-48 describes which value_type settings are allowed for each table property. For more
information on tables, see Table Syntax.
Examples
value_type = delta
variable
table structure parameter
A required table structure parameter used to specify variables that will be affected by the table
definition.
Syntax
variable = ‘{’w1 w2 ... wn‘}’
Parameters
• { w1 w2 ... wn }
A space delimited set of floating point values enclosed in braces that specify the values
applied to the variation property.
Description
The variable name is followed by an equal sign and a set of space delimited floating point
values enclosed in braces ({ }). Permitted values for variable include width, length, thickness,
spacing, width1, spacing1, width2, spacing2, density, co_co_spacing, gate_co_spacing, li1, li2,
or corners. See Table 3-49 which lists the available variable keywords and their unit value. For
more information on tables, see Table Syntax.
Examples
co_co_spacing = {0.045 0.08 0.2 2.5}
version
Type: Global Parameters
An optional global parameter that specifies the version number of the manufacturing technology
(process) being used in the MIPT file. If it is a single string without spaces, the quotation marks
are not required. If the string is enclosed in quotes, spaces are allowed. It can only be specified
once.
Syntax
version = version_number
Parameters
• version_number
A string value that specifies the version number of the manufacturing technology (process)
being used in the MIPT file.
Examples
Example 1
version = 2.4
Example 2
version = “This is v2.4 of the process”
via
Type: Via layer
Part of the layer definition syntax, this optional layer definition keyword is used to define the
electric and physical characteristics of a via. Layers of this type can be specified multiple times
in the MIPT file. Vias of different sizes and different resistance may be defined between the
same conducting layers.
Syntax
via = layer_name {
measured_from = layername # lower conductor layer_name
measured_to = layername # upper conductor layer_name
area = area_of_via
min_width = minimum_allowed_metal_width
min_spacing = minimum_allowed_metal_spacing
resistance = resistance_per_via
enclosure_down = enclosure_with_respect_to_lower_conductor
enclosure_up = enclosure_with_respect_to_upper_conductor
max_area = maximum_via_area
max_length = maximum_distance_between_vias
min_length = length_of_shape
tc1 = resistance_temperature1_coefficient
tc2 = resistance_temperature2_coefficient
gate_to_via_spacing_min = minimum_allowed_gate_to_via_spacing
extra_width = extra-width_of_side_walls
ronly_layers = ‘{’space_delimited_list_of_r-only_layernames‘}’
parallel_to_gate = no | yes
hidden = false | true
trim = no | yes | actual | merge
}
Parameters
• layer_name
A required unique user-specified name.
• measured_from
A required parameter that specifies lower conductor layer_name.
• measured_to
A required parameter that specifies upper conductor layer_name.
• area
A required parameter if min_width is not specified. Specifies the area of via in
distance_units squared. This parameter cannot be specified with min_width parameter.
• min_width
A required parameter that specifies the minimum allowed metal width if area parameter is
not specified. This parameter cannot be specified with area parameter. The shape is assumed
to be square, with dimensions of min_width * min_width.
• min_spacing
A required parameter that specifies the minimum allowed metal spacing.
• resistance
A required parameter that specifies the resistance per via or contact. The value is specified
in Ohms.
• enclosure_down
A required parameter that specifies enclosure with respect to a lower conductor. This value
is typically 0, and defaults to 0 if not specified.
• enclosure_up
A required parameter that specifies enclosure with respect to an upper conductor. This value
is typically 0, and defaults to 0 if not specified.
• max_area
An optional parameter that specifies the area threshold for large area via connections.
• max_length
An optional parameter that specifies the maximum distance between distributed vias.
• min_length
An optional parameter that specifies the length of the shape. From a dimension perspective,
min_width is the shortest side, while min_length is the longest side. This parameter may be
used together with min_width parameter, but cannot be used with area parameter. The shape
is assumed to be rectangular, with dimensions of min_width * min_length.
• tc1
An optional parameter that specifies the resistance temperature1 coefficient.
• tc2
An optional parameter that specifies the resistance temperature2 coefficient.
• gate_to_via_spacing_min
An optional parameter that specifies the minimum allowed gate to via spacing.
• extra_width
An optional conducting layer parameter that specifies the extra-width of side walls for a
conductor with a trapezoid shape.
• ronly_layers
An optional conducting layer parameter that specifies a space delimited list of r-only layer
names enclosed in braces ({ }).
• parallel_to_gate
An optional parameter, set to either yes or no, that specifies how via width and length are
measured. The default is no, if this parameter is not specified.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
• trim
An optional parameter that controls how resistance is calculated for the via layer. The
default is no, if this parameter is not specified.
Examples
Example 1
This example specifies my_via with a resistance of 37 ohms between layers metal1 and metal7:
via = my_via {
measured_from = metal1
measured_to = metal7
enclosure_down = 0.0000
enclosure_up = 0.0000
area = 0.75
min_spacing = 0.040
resistance = 37
}
Example 2
This example specifies via1 with a resistance of 20 ohms and via2 with a resistance of 30 ohms
between layers metal1 and metal3:
via = via1 {
measured_from = metal1
measured_to = metal3
enclosure_down = 0.0000
enclosure_up = 0.0000
min_width = 0.035
min_spacing = 0.035
resistance = 20
}
via = via2 {
measured_from = metal1
measured_to = metal3
enclosure_down = 0.0000
enclosure_up = 0.0000
min_width = 0.035
min_spacing = 0.035
resistance = 30
}
Example 3
To define a via connection to a base layer with modeling properties max_area and max_length:
base = base1_r {
zbottom = -1
thickness = 1
}
via = b_via {
measured_from = base1_r
measured_to = metal1
enclosure_down = 0.0000
enclosure_up = 0.0000
min_width = 0.030
min_spacing = 0.030
resistance = 50
max_length = 0
max_area = 0.004
tc1 = 0.0000
}
well
Type: Well layer
Part of the substrate layer definition syntax, this optional layer definition keyword is used to
define the well layer.
Syntax
well = layer_name {
zbottom = bottom_z-coordinate
thickness = z-direction_metal_thickness
resistivity = resistivity_value
eps = value
bulk_min_width = value
bulk_resistance = value
hidden = false | true
}
Parameters
• zbottom
A required bottom z-coordinate of the well layer.
• thickness
A required layer parameter that specifies the thickness of the well layer in the z-direction.
• resistivity
A required parameter that specifies the well layer resistance as rho, typically greater than or
equal to 0.
• eps
A required floating point value that specifies the relative permittivity (dielectric constant).
The value is typically greater than or equal to 0.
• bulk_min_width
An optional layer parameter that specifies the minimum width of the bulk layer in microns.
• bulk_resistance
An optional layer parameter that specifies the sheet resistance of the bulk layer in ohms.
• hidden
An optional parameter, set to either true or false, that specifies to encrypt the layer in the
calibrated rule files. The default is false, if this parameter is not specified.
Description
The well keyword is followed by an equal sign, a unique user-specified layer name, and a list of
parameters enclosed in required braces. Each parameter must appear on its own line. Well
layers require zbottom, resistivity, eps, and thickness parameters. This layer type can be
specified once in the MIPT file. Well layers may have tables and they may be coplanar with
other well and substrate layers. The zbottom and thickness parameters are required to establish
the well. For more information on substrate layer structures, see Substrate Layer Structures.
Examples
well = nwell {
zbottom = -0.1
thickness = 0.1
resistivity = 11
eps = 12
}
widths
Parameter for layer(s): conductor, poly, diffusion, li
An optional conducting layer parameter that specifies a list of width values used to override
modeled widths for the layer. These floating point values must be enclosed in braces ({ }).
Syntax
widths = ‘{’ w1 w2 w3 ... wn ‘}’
Parameters
• ‘{’ w1 w2 w3 ... wn ‘}’
A space delimited list of one or more floating point width values enclosed in braces ({ }).
Examples
conductor = M1 {
thickness = 0.063
hidden = {thickness}
min_width = 0.034
min_spacing = 0.02
tc1 = 1.565e-03
tc2 = -3.159e-07
extra_width = 0.012
swstep = 3
widths = {0.029 0.0483 0.067667 0.145 }
spacings = {0.009 0.0149698 0.0248995 0.041415 0.068887 0.114581
0.190584 0.317001 0.52727 1.74}
}
zbottom
Parameter for layer(s): base, conductor, device_li, dielectric, diffusion, ground, li, pcaux, poly,
resistor, seed, substrate, src_drn, tap, well
An optional parameter for layer definitions base, conductor, device_li, dielectric, diffusion,
ground, li, pcaux, poly, resistor, seed, and src_drn that specifies the bottom z-coordinate for this
layer. This parameter is required for substrate, tap, and well layer definitions. Zbottom is not
valid for calibration_type RONLY.
Syntax
zbottom = value
Parameters
• value
An absolute or relative floating point value that specifies the bottom z-coordinate. You can
measure from the top of a reference layer defined by the measured_from keyword. If
measured_from is not specified, zbottom is absolute (measured from z=0).
Description
By default, the bottom of the layer is placed at the top of the previously-defined layer. For most
processes, you do not use zbottom. Often, it is possible to place an entire stack of layers
implicitly, one on top of the other, by relying on the placement of the previous layers. Use
zbottom if you cannot place layers implicitly.
If your process is under development and can potentially change, it is not recommended that
you use fixed locations for the layer definitions. For example, if a layer thickness changes, then
the fixed locations of all the layers above it change and you will need to recalculate all the
locations. Or, if you choose to make a variation of a process that uses worst case values instead
of typical, then it will be difficult to calculate the fixed locations for the variation. Use relative
placement to make process modifications easier.
base — for base layers the zbottom parameter specifies the bottom z-coordinate of the base
layer. It is required if and only if, ztop parameter has not be specified. If you have specified ztop
you are not required to specify zbottom.
dielectric — for dielectric layers the zbottom parameter specifies the bottom z-coordinate when
the dielectric layer is not defined in the specified order; that is, the dielectric layer is not placed
relative to a previous layer’s placement. For most processes, you do not use zbottom. If you
implicitly define your layer order by listing the layers in order, bottom to top, you do not need
zbottom. The zbottom parameter should not be used when defining new dielectric layers.
conductor, poly, diffusion, li — for these layer types the zbottom parameter specifies the
bottom z-coordinate when the metal layer is not implicitly placed; that is, the metal layer is not
placed relative to a previous layer’s placement. You do not need zbottom if you implicitly
define your layer order by listing the layers bottom to top in the mipt file.
substrate, well, tap — for these layer types the zbottom parameter is part of the thickness
specification information. The zbottom parameter can be specified with the ztop parameter or
with the thickness parameter; It cannot be specified with both ztop and thickness in the same
layer definition.
Examples
Example for Base
zbottom = 3
ztop
Parameter for layer(s): base, conductor, device_li, dielectric, diffusion, ground, li, pcaux, poly,
resistor, seed, substrate, src_drn, tap
An optional parameter for layer definitions base, conductor, device_li, dielectric, diffusion,
ground, li, pcaux, poly, resistor, seed, and src_drn that specifies the bottom z-coordinate for this
layer. This parameter is required for substrate and tap layer definitions. Zbottom is not valid for
calibration_type RONLY.
Syntax
ztop = value
Parameters
• value
An absolute or relative floating point value that specifies the top z-coordinate of the layer.
You can measure from the top of a reference layer defined by the measured_from
parameter. If measured_from parameter is not specified, ztop is absolute (measured from
z=0).
Description
base — for base layers the ztop parameter specifies the top z-coordinate when the base layer is
not implicitly placed; that is, the base layer is not placed relative to a previous layer’s
placement. For most processes, you do not use ztop if the layer order is defined from bottom to
top.
dielectric — for dielectric layers the ztop parameter specifies the top z-coordinate when the
dielectric layer is not implicitly placed; that is, the dielectric layer is not placed relative to a
previous layer’s placement. For most processes do not use ztop in dielectric layer definitions.
For trench dielectrics, ztop should be set to 0. The parser verifies this condition.
conductor, poly, diffusion, li — for these layers ztop is top z coordinate for the layer. It is not
placed relative to a previous layer’s placement. For most processes, you do not use ztop. If you
implicitly define your layer order by listing the layers bottom to top, you do not need ztop. For
trenched conductors, ztop should be set to 0 and a ref_layer specified.
substrate, well, tap — for these layer types the ztop parameter is part of the thickness
specification information. The ztop parameter can only be specified with the zbottom
parameter; It cannot be specified with thickness.
Examples
Example for Base
ztop = 1.2
xCalibrate provides utilities for translating technology files to MIPT format and verifying MIPT
files (.mipt).
Interconnect Technology Format (ITF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
iRCX File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Verifying MIPT Structures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Stack Viewer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Stack Viewer GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
ITF Translation
With the ITF Translation options you can perform different types of translations.
Use the ITF translation options to convert an:
• ITF Mapping file to an equivalent PEX SVRF mapping and ignore file (rules.map).
xcalibrate -itfmap2svrf itf_mapping_file
• ITF file with one or more ITF Mapping files to an MIPT file with embedded SVRF
mapping and ignore statements (out.mipt).
xcalibrate -itf2mipt2 itf_file -itfmap itf_mapping_file \
[itf_mapping_file...]
To invoke the translator, enter the command at the shell prompt. For example:
If the information in the ITF file is incomplete, you can provide an auxiliary file (itf.aux) to fill
in the missing information. By default, the translator searches the current working directory for
this file and uses it if it is found. Optionally, to specify an auxiliary file, use the -aux command
line option. For example:
For information on the contents of the auxiliary file, see Auxiliary File Format.
command line option is needed. For information on how to run the translation, see ITF
Translation.
Global Parameters are specified at the beginning of the itf.aux file, outside of any layer
declarations. For example:
plate_loading = yes
li_device_model = single_li_layer
The layer definitions in the auxiliary file must be specified using MIPT layer syntax. For
example:
seed = pc_par_PMOS {
ignore_gate_to_diff = no
}
Use the following auxiliary file syntax to exclude specific layers from translation:
where ignore is a required keyword followed by one or more layer names. For example:
ignore ngate
Results
A successful conversion run completes with no errors or warnings:
...
parsing succeeded
------------------
Translation succeeded
Translation Done...
2. To convert my.itf file and include the auxiliary file information in the generated mipt.out
file, use either of the following command lines:
xcalibrate -itf2mipt2 my.itf
or
xcalibrate -itf2mipt2 my.itf -aux itf.aux
Results
This conversion produces an mipt.out file with the auxiliary file annotations.
In this example, the heading information in the out.mipt file has been annotated with the
auxiliary file contents; for example:
mipt_source = itf2mipt
mipt_version = 2.0
calibration_type = all
process = typical
date = “Wed Apr 1 14 14:19:47 2015”
author = mentorgraphics
cap_unit = ff
version = “v2015.2_2.0003”
temperature = 25
plate_loading = true
li_device_model = dual_li_layers_model1
corner = typical
...
Note that the li_device_model line specified in the auxiliary file was included in the out.mipt
file.
IRCX Translation
Use the xCalibrate IRCX translation option to convert an iRCX file (filename.ircx) to an MIPT
file.
To invoke the translator, enter the command at the shell prompt. For example:
creates an MIPT file called my.mipt that can then be used to generate calibrated rule files.
Prerequisites
You must have a syntactically valid MIPT file and an xCalibrate license. See “Licensing:
Parasitic Extraction Products” in the Calibre Administrator’s Guide for details.
Procedure
1. You can verify the syntax by any of these methods:
• Direct invocation:
xcalibrate -check filename.mipt
2. The logic checker parses the file and any errors are written to the terminal window.
Results
A possible syntax error:
ERROR: XCAL_2_002: MIPT Parser Error: Technology Parser Error: bad
mipt_version value “3”: must be either “1.0” or “2.0” in file name
The parser exits on the first error it encounters. If this occurs, the remainder of the file was not
checked.
Parsing messages start with the following:
Note: Successfully parsed filename
MIPT checker: Problem with …
ERROR: description
…
Stack Viewer
The stack viewer shows a graphical representation of a MIPT file. You can customize the
representation to display only certain measurements, as well as defined devices. It only reads
MIPT format files.
The filename is required. If you do not specify a filename, xCalibrate stops with the following
error:
The stack viewer also accepts an ITF file as input. For details on the command line syntax for
the stack viewer, see “xcalibrate -view” on page 387.
The stack viewer session window (Figure 5-1) is divided into four areas:
• MIPT Editor Window — Use this window to display and edit the MIPT file.
• Log Window — Use this window to view informational messages generated while using
the stack viewer; the messages include drawing events and any errors reported by the
syntax checker when editing the MIPT file.
• Layers Window — Use this window to control the appearance of the layers shown in the
displayed structure.
• Stack View Window — Use this window to view a graphical form of the MIPT file. The
master view is shown by default.
Log Window
The Log window displays messages generated by the stack viewer.
Figure 5-3 shows the Log window. It displays informational messages that occur while using
the stack viewer, including drawing events and any errors reported by the syntax checker when
editing the MIPT file in the MIPT Editor window.
Layers Window
The Layers window controls the appearance of the layers in the displayed structure. Use this
window to turn the display of specific layers on or off and select the layers in the graphical
view.
The Layers window is open by default when the stack viewer is invoked. This window may be
undocked from the main stack viewer window or closed to increase the graphical viewing area.
You can also use the Windows > Layers menu selection to toggle the display of the Layers
window.
Figure 5-4 shows the Layers window for the stack viewer.
The Layers window contains the layer names and layer types specified in the MIPT file. The
layer names are listed in the order they appear in the MIPT file. Click the check box to toggle
the display of a particular layer. Click the layer name or type to select the layer in the displayed
structure and highlight they corresponding MIPT syntax in the MIPT Editor.
In Figure 5-5, the dielectric layer poly_diel has been selected in the Layers window. Note that
the corresponding syntax for this layer shown in the MIPT Editor window is highlighted in
grey. The layer in the displayed structure is outlined in red.
In Figure 5-6, the check boxes for polyX and via1 layers have been deselected. If you compare
Figure 5-6 and Figure 5-5, you can see these layers (the red rectangle and the light blue
rectangle) are no longer visible in the master view image.
By default, the structure displays most measurements such as conductor thickness, via height,
and minimum width. To view measured values not visible by default, such as dielectric
thickness, hover the cursor over the layer. In Figure 5-8, the planar dielectric thickness
displayed is 0.36 when the cursor is hovered over dielectric layer metal1_diel2.
Menus
Stack viewer functionality can be accessed from the menu bar.
The stack viewer GUI has the following menus:
• File — A pulldown menu that contains Open, Save, Redraw, Export View, and Exit
menu items.
• View — A pulldown menu used to control the graphical stack view.
• Profile — A pulldown menu that contains the profile display controls. Use this menu to
change the profile displayed in the graphical stack view. See Profile Menu for more
information.
• Window — A pulldown menu that controls the display of the MIPT Editor, Layers, and
Log windows.
Figure 5-9 shows the stack viewer menu bar.
Profile Menu
The profile menu controls which profile view is shown in the stack view window.
The Profile menu (Figure 5-10) contains two options: Profile 1 and Profile 2. View choices for
each profile are master, sdcont, and ultra. Profile 1 > master and Profile 2 > None are selected
by default.
Use the Profile 2 menu item (Figure 5-11) to show two different graphical views of the stack in
the stack view window.
Figure 5-12 demonstrates the display of both the master and sdcont profiles; Master is selected
in Profile 1 and sdcont is selected in Profile 2. To return to a single stack view, select None in
the Profile 2 menu.
Toolbar
The stack viewer toolbar provides quick access to the most commonly used operations.
Figure 5-13 shows the stack viewer toolbar.
• Open — Displays the Input Files dialog. Use this dialog to select and open a new MIPT
file in the current session.
• Save — Use this button to save the MIPT file shown in the MIPT Editor window to
disk. This automatically runs the checker and refreshes the graphical view.
• Export View — Displays the Save to file dialog. Use this dialog to save the structure
image to a .PNG file. If two profiles are displayed, both images will be saved.
• Redraw — Use this button to reload the image shown in the stack view window. This
button automatically saves any changes made to the MIPT file in the MIPT Editor
window.
• Reset Zoom — Use this button to display the entire image in the stack view window.
Invoke xCalibrate from the command line to create calibrated rule files.
This chapter includes sections that provide detailed information on the invocation command
options used to create calibrated rule files for capacitance and resistance.
Reference Syntax
The invocation descriptions use font properties and meta-characters to document the command
syntax.
For information on syntax conventions used in this chapter, refer to “Syntax Conventions” on
page 15.
Command Descriptions
The xCalibrate tool can be invoked to perform various operations.
• xcalibrate -exec — used for calibration and rule file generation.
• xcalibrate -check — used for syntax verification and logical checks.
• xcalibrate -view — used for launching the Stack Viewer.
• xcalibrate -version — used for software version check.
• xcalibrate -itf2mipt2 — used for interconnect technology format (ITF) file translation.
• xcalibrate -itfmap2svrf — used for interconnect technology format (ITF) mapping file
translation.
• xcalibrate -ircx2mipt2 — used for iRCX technology format file translation.
xcalibrate -exec
The xCalibrate invocation command, which performs calibration to produce encrypted
capacitance and resistance rule files, rules.C, rules.R, and rules.xact. xCalibrate accepts MIPT
or ITF technology files as input.
Usage
xcalibrate -exec
[-turbo number_of_cpus]
[-remote host[,host…] | -remotefile filename ]
[-noheader]
[-tech tech_directory]
[-xact3d [-tcad] | -rperc | -tsv]
[-rulefile rule_file_name]
[-retry n] [-start start_stage] [-end end_stage]
[-hidden]
{mipt_file_name [-corner "corner_name" ] [-aux auxiliary_file_name] |
{-itf [-corner "corner_name" ] itf_file_name [-aux auxiliary_file_name]
[-itfmap map_file_name [map_file_name ... ]]}}
Parameters
• -exec
A required option to start running calibration.
• -turbo number_of_cpus
Specifies using multi-threaded parallel processing for extraction. The number_of_cpus
argument is a positive integer specifying the number of processors (CPUs) to use during
processing. If you omit this number, the xCalibrate tool runs on the maximum available for
which you have licenses. If you do not apply the -turbo switch, the tool defaults to running
on one processor.
For more information on this option, refer to Calibre Administrator’s Guide.
• -remote host[,host…]
An optional argument that runs the calibration remotely with all cpus on one or more
specified hosts.
• -remotefile filename
An optional switch that is part of the MTflex multi-threaded, parallel processing
architecture, which enables multi-threaded operation on remote hosts of a distributed
network. The filename specifies the pathname of a configuration file (remote_config)
containing information for the local and remote hosts. You must have the required number
of licenses for your job.
Caution
The remote_config file cannot contain relative references, links, shell variables, or
environment variables that require dereferencing to resolve. Make sure the paths
specified for MGC_HOME and the current working directory are fully qualified paths.
• -start start_stage
An optional argument set that specifies the name of the stage from which to restart the
calibration; for example, masterGenerateModel. The following are examples of stages that
appear in the transcript:
modInitialize
masterGnerateModel
masterExecModel
sux
gen_rules
• -end end_stage
An optional argument set that specifies the name of the stage at which to end the calibration
run. The default is to run to the end of the calibration.
• -hidden
An optional parameter that specifies to encrypt all layer information in the calibrated rule
files.
• mipt_file_name [-aux auxiliary_file_name]
A required parameter that specifies the path to and name of the MIPT file.
Use the optional -aux auxiliary_file_name parameter set to include additional MIPT layer
specification statements defined in the auxiliary_file_name in the calibration. For details
about the auxiliary file format, see “Auxiliary File Format” on page 362.
• -itf itf_file_name
A required parameter set used to specify the name of an ITF file. The ITF file is converted to
an MIPT file (out.mipt) before calibration begins.
• -corner “corner_name”
An optional parameter set used to specify the process corner variation type for the MIPT
file. The corner_name must be enclosed in quotes (“ ”). The process corner variation
choices are typical, cbest, rcbest, cworst, and rcworst. This option can only be used with ITF
or MIPT file types.
The default is the process name if neither this option or the global keyword corner is
specified. This parameter set takes precedence when the global keyword corner is also
specified.
• -aux auxiliary_file_name
An optional parameter set used to specify the auxiliary file containing any missing MIPT
information needed during ITF file translation. This option can only be used with ITF file
types.
xcalibrate -check
Command used to check for logical inconsistencies and syntax errors in the MIPT or ITF file.
Perform this check prior to calibration.
Usage
xcalibrate -check mipt_file_name
| {-itf [-corner corner_name] itf_file_name
[-aux auxiliary_file_name]
[-itfmap map_file_name [map_file_name ... ]]}
Parameters
• -check
Switch required to parse and check the MIPT or ITF file.
• mipt_file_name
A required parameter that specifies the path to and name of the MIPT file.
• -itf itf_file_name
A required parameter set used to specify the path to and name of an ITF file. The ITF file is
converted to an MIPT file (out.mipt) before validation begins.
• -corner corner_name
An optional parameter set used to specify the process corner variation type. The process
corner variation choices are typical, cbest, rcbest, cworst, and rcworst. The default is typical
if this option is not specified. This option can only be used with ITF file types.
• -aux auxiliary_file_name
An optional parameter set used to specify the auxiliary file containing any missing MIPT
information needed during ITF file processing. This option can only be used with ITF file
types.
• -itfmap map_file_name [map_file_name ... ]
An optional parameter set used to convert an ITF file with one or more ITF mapping files to
an MIPT file with embedded SVRF mapping and ignore statements. This option can only be
used with ITF file types.
Examples
Example 1
The following command line instructs the xCalibrate tool to parse the MIPT file, and checks for
logical inconsistencies and syntax errors:
Example 2
The following command line instructs the xCalibrate tool to convert the ITF file to MIPT file
format, then check for logical inconsistencies and syntax errors:
xcalibrate -view
Command used to invoke the stack viewer. The stack viewer shows a graphical representation
of a MIPT or ITF file.
Usage
xcalibrate -view mipt_file_name | {-itf [-corner corner_name] itf_file_name
[-aux auxiliary_file_name] [-itfmap map_file_name [map_file_name ... ]]}
Parameters
• -view
A required parameter that invokes the xCalibrate stack viewer tool.
• mipt_file_name
A required parameter that specifies the path to and name of the MIPT file.
• -itf itf_file_name
A required parameter set used to specify the path to and name of an ITF file. The ITF file is
converted to an MIPT file (out.mipt) before the file is loaded into the stack viewer.
• -corner corner_name
An optional parameter set used to specify the process corner variation type. The process
corner variation choices are typical, cbest, rcbest, cworst, and rcworst. The default is typical
if this option is not specified. This option can only be used with ITF file types.
• -aux auxiliary_file_name
An optional parameter set used to specify the auxiliary file containing any missing MIPT
information needed during ITF file processing. This option can only be used with ITF file
types.
• -itfmap map_file_name [map_file_name ... ]
An optional parameter set used to convert an ITF file with one or more ITF mapping files to
an MIPT file with embedded SVRF mapping and ignore statements. This option can only be
used with ITF file types.
Examples
The following command starts the stack viewer and loads the MIPT file named input.mipt:
Related Topics
Stack Viewer
xcalibrate -version
Command used to show the installed xCalibrate product version number.
Usage
xcalibrate -version
Parameters
• -version
Writes the installed xCalibrate product version number to standard output.
Examples
The following statement:
xcalibrate -version
instructs the xCalibrate tool to echo the product version number to stdout. For example:
xcalibrate -itf2mipt2
Command used to convert an interconnect technology format (ITF) file to an MIPT file.
Usage
xcalibrate -itf2mipt2 [-corner corner_name] itf_file_name [-aux auxiliary_file_name]
[-itfmap map_file_name [map_file_name ... ]]
Parameters
• -itf2mipt2 itf_file_name
A required parameter set used to convert an ITF file to an MIPT file.
• -corner corner_name
An optional parameter set used to specify the process corner.variation type for the MIPT
file. The process corner variation choices are typical, cbest, rcbest, cworst, and rcworst. The
default is typical if this option is not specified.
• -aux auxiliary_file_name
An optional parameter set used to specify the auxiliary file containing any missing MIPT
information needed during ITF file translation.
• -itfmap map_file_name [map_file_name ... ]
An optional parameter set used with the -itf2mipt2 to convert an ITF file with one or more
ITF mapping files to an MIPT file with embedded SVRF mapping and ignore statements.
Examples
Example 1
The following command line converts an ITF file to an MIPT file called out.mipt:
xcalibrate -itfmap2svrf
Command used to convert an interconnect technology format (ITF) mapping file to a PEX
SVRF mapping and ignore file called rules.map.
Usage
xcalibrate -itfmap2svrf itf_mapping_file
Parameters
• -itfmap2svrf itf_mapping_file
A required parameter set used to convert an ITF mapping file to an equivalent PEX SVRF
mapping and ignore file (rules.map).
Examples
The following command line converts an ITF mapping file to a PEX SVRF mapping and ignore
file called rules.map:
xcalibrate -ircx2mipt2
Command used to convert an iRCX file (filename.ircx) to an MIPT file.
Usage
xcalibrate -ircx2mipt2 ircx_filename
Parameters
• -ircx2mipt2 ircx_filename
A required parameter set used to convert an iRCX file to an MIPT file.
Examples
The following command line converts an iRCX file called input.ircx to an MIPT file called
input.mipt:
Example 1
The figure shows a technology definition and the .mipt file that follows shows how the
technology definition is described.
Figure A-1. Technology Definition
Note
The following MIPT file does not include the zbottom settings. The settings are not required
in this case because the layers are defined in the correct order. Marking the polysilicon layer
as type “poly,” the diff layer as “diffusion,” and including a diffusion contact allows this
technology to be automatically mapped to xCalibrate’s field, active, and sdcont profiles.
mipt_version = 2.0
process = example1
date = “10/10/10”
author = MentorGraphics
calibration_type = ALL
background_dielectric = 1
dielectric = base_diel {
# zbottom = 0
thickness = 0.02
diel_type = planar
eps = 4.2
}
diffusion = diff {
# zbottom = 0.02
thickness = 0.18
min_width = 0.12
min_spacing = 0.15
r_sheet = 0.25
src_drn_layers = {nsd psd}
}
contact = odCont {
resistance = 1
min_width = 0.13
min_spacing = 0.15
measured_from = diff
measured_to = metal1
enclosure_up = 0
enclosure_down = 0
gate_to_cont_spacing_min = 0.12
}
dielectric = diff_diel {
diel_type = planar
# zbottom = 0.02
thickness = 0.25
eps = 4.2
}
poly = polyX {
# zbottom = 0.27
thickness = 0.16
min_width = 0.11
min_spacing = 0.16
r_sheet = 0.25
layer_bias = -0.01
}
contact = polyCon {
resistance = 1.1
min_width = 0.13
min_spacing = 0.15
enclosure_up = 0.00
enclosure_down = 0.00
measured_from = polyX
measured_to = metal1
}
dielectric = poly_diel {
# zbottom = 0.27
thickness = 0
eps = 5
diel_type = conformal
ref_layer = polyX
topthk = 0.0
swthk = 0.076
}
dielectric = poly_diel2 {
# zbottom = 0.27
thickness = 0.02
eps = 5.5
diel_type = conformal
ref_layer = poly_diel
topthk = 0.02
swthk = 0.02
}
dielectric = poly_diel3 {
diel_type = planar
# zbottom = 0.29
thickness = 0.1
eps = 4.7
}
dielectric = poly_diel4 {
diel_type = planar
# zbottom = 0.39
thickness = 0.2
eps = 3.2
}
conductor = metal1 {
r_sheet = 0.38
# zbottom = 0.59
thickness = 0.24
min_width = 0.13
min_spacing = 0.12
layer_bias = 0.01
}
via = via1 {
resistance = 2
min_width = 0.12
min_spacing = 0.14
enclosure_up = 0.005
enclosure_down = 0.005
measured_from = metal1
measured_to = metal2
}
dielectric = metal1_diel {
diel_type = planar
# zbottom = 0.59
thickness = 0.04
eps = 5
}
dielectric = metal1_diel2 {
diel_type = planar
# zbottom = 0.63
thickness = 0.36
eps = 3
}
conductor = metal2 {
r_sheet = 0.25
# zbottom = 0.99
thickness = 0.3
min_width = 0.16
min_spacing = 0.14
layer_bias = 0.01
}
dielectric = metal2_diel {
diel_type = planar
# zbottom = 0.99
thickness = 0.3
eps = 3.8
}
dielectric = metal2_diel2 {
diel_type = planar
# zbottom = 1.29
thickness = 0.16
eps = 4.2
}
dielectric = metal2_diel3 {
diel_type = planar
# zbottom = 1.45
thickness = 0.25
eps = 3
}
Example 2
The following figure shows a technology definition with trench dielectrics and the MIPT file
that follows shows how the technology definition is described.
The following MIPT file describes the technology definition shown in Figure A-2.
mipt_version = 2.0
process = example2
date = “10/10/10”
author = MentorGraphics
calibration_type = ALL
background_dielectric = 1
dielectric = d1 {
diel_type = planar
# zbottom = 0
thickness = 1
eps = 3.9
}
conductor = m1 {
resistivity = 0.5
# zbottom = 1
thickness = 0.6
min_width = 0.3
min_spacing = 0.3
}
dielectric = d2 {
diel_type = conformal
# zbottom = 1
thickness = 0
eps = 3.8
ref_layer = m1
topthk = 0.1
swthk = 0.1
}
dielectric = d3 {
diel_type = planar
# zbottom = 1
thickness = 1
eps = 2.9
}
dielectric = d4 {
diel_type = planar
# zbottom = 2
thickness = 1
eps = 3.9
}
conductor = m2 {
resistivity = 0.25
ztop = 0
measured_from = d4
thickness = 0.6
min_width = 0.3
min_spacing = 0.4
}
# Notice that this trench dielectric, d5, is placed after the metal
# to avoid using ztop and measured_from
dielectric = d5 {
diel_type = trench
# zbottom = 3
thickness = 0
eps = 4.1
ref_layer = m2
topthk = 0.1
swthk = 0.1
}
dielectric = d6 {
diel_type = planar
# zbottom = 3
thickness = 1
eps = 4.9
}
calibration
A 5-stage process the xCalibrate tool uses for solving target equations for their capacitance
constants. The tool subsequently outputs capacitance rule file specification statements suitable
for parasitic extraction by the Calibre xACT and Calibre xRC tools.
curvefitting
The process of solving target equations for their capacitance constant(s), kn. The xCalibrate tool
plots and fits simulation data with a curve representing values of kn; this minimizes total relative
error. The fourth stage of the calibration process.
field solver
A simulation tool for measuring inter-conductor electrical effects due to charged conductors in a
medium in order to calculate effects such as capacitance. The xCalibrate tool calls the field
solver during the third stage (simulation) of the calibration process.
layer
The basic building block of a technology file, described by physical parameters such as thickness
and spacing.
process corners
The variations on a “typical” process: for instance, metal thickness may not be exactly
controlled.
process variation
The statistically predictable variations within a manufacturing process.
RMOL
A high precision intentional resistor device layer, which needs to be calibrated for capacitance
effects.
sensitivity-based rules
SVRF statements for capacitance and resistance calculation that incorporate functions to handle
foundry-defined process corners.
technology file
A file containing the process information. You can create a technology file by setting up a MIPT
file as described in this manual.
bulk_min_width, 133
Index
IMPORTANT INFORMATION
USE OF ALL SOFTWARE IS SUBJECT TO LICENSE RESTRICTIONS. CAREFULLY READ THIS LICENSE
AGREEMENT BEFORE USING THE PRODUCTS. USE OF SOFTWARE INDICATES CUSTOMER’S COMPLETE
AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
ANY ADDITIONAL OR DIFFERENT PURCHASE ORDER TERMS AND CONDITIONS SHALL NOT APPLY.
This is a legal agreement concerning the use of Software (as defined in Section 2) and hardware (collectively “Products”)
between the company acquiring the Products (“Customer”), and the Mentor Graphics entity that issued the corresponding
quotation or, if no quotation was issued, the applicable local Mentor Graphics entity (“Mentor Graphics”). Except for license
agreements related to the subject matter of this license agreement which are physically signed by Customer and an authorized
representative of Mentor Graphics, this Agreement and the applicable quotation contain the parties’ entire understanding
relating to the subject matter and supersede all prior or contemporaneous agreements. If Customer does not agree to these
terms and conditions, promptly return or, in the case of Software received electronically, certify destruction of Software and all
accompanying items within five days after receipt of Software and receive a full refund of any license fee paid.
1.1. To the extent Customer (or if agreed by Mentor Graphics, Customer’s appointed third party buying agent) places and Mentor
Graphics accepts purchase orders pursuant to this Agreement (each an “Order”), each Order will constitute a contract between
Customer and Mentor Graphics, which shall be governed solely and exclusively by the terms and conditions of this Agreement,
any applicable addenda and the applicable quotation, whether or not those documents are referenced on the Order. Any
additional or conflicting terms and conditions appearing on an Order or presented in any electronic portal or automated order
management system, whether or not required to be electronically accepted, will not be effective unless agreed in writing and
physically signed by an authorized representative of Customer and Mentor Graphics.
1.2. Amounts invoiced will be paid, in the currency specified on the applicable invoice, within 30 days from the date of such invoice.
Any past due invoices will be subject to the imposition of interest charges in the amount of one and one-half percent per month
or the applicable legal rate currently in effect, whichever is lower. Prices do not include freight, insurance, customs duties, taxes
or other similar charges, which Mentor Graphics will state separately in the applicable invoice. Unless timely provided with a
valid certificate of exemption or other evidence that items are not taxable, Mentor Graphics will invoice Customer for all
applicable taxes including, but not limited to, VAT, GST, sales tax, consumption tax and service tax. Customer will make all
payments free and clear of, and without reduction for, any withholding or other taxes; any such taxes imposed on payments by
Customer hereunder will be Customer’s sole responsibility. If Customer appoints a third party to place purchase orders and/or
make payments on Customer’s behalf, Customer shall be liable for payment under Orders placed by such third party in the event
of default.
1.3. All Products are delivered FCA factory (Incoterms 2010), freight prepaid and invoiced to Customer, except Software delivered
electronically, which shall be deemed delivered when made available to Customer for download. Mentor Graphics retains a
security interest in all Products delivered under this Agreement, to secure payment of the purchase price of such Products, and
Customer agrees to sign any documents that Mentor Graphics determines to be necessary or convenient for use in filing or
perfecting such security interest. Mentor Graphics’ delivery of Software by electronic means is subject to Customer’s provision
of both a primary and an alternate e-mail address.
2. GRANT OF LICENSE. The software installed, downloaded, or otherwise acquired by Customer under this Agreement, including any
updates, modifications, revisions, copies, documentation, setup files and design data (“Software”) are copyrighted, trade secret and
confidential information of Mentor Graphics or its licensors, who maintain exclusive title to all Software and retain all rights not
expressly granted by this Agreement. Except for Software that is embeddable (“Embedded Software”), which is licensed pursuant to
separate embedded software terms or an embedded software supplement, Mentor Graphics grants to Customer, subject to payment of
applicable license fees, a nontransferable, nonexclusive license to use Software solely: (a) in machine-readable, object-code form
(except as provided in Subsection 4.2); (b) for Customer’s internal business purposes; (c) for the term of the license; and (d) on the
computer hardware and at the site authorized by Mentor Graphics. A site is restricted to a one-half mile (800 meter) radius. Customer
may have Software temporarily used by an employee for telecommuting purposes from locations other than a Customer office, such as
the employee’s residence, an airport or hotel, provided that such employee’s primary place of employment is the site where the
Software is authorized for use. Mentor Graphics’ standard policies and programs, which vary depending on Software, license fees paid
or services purchased, apply to the following: (a) relocation of Software; (b) use of Software, which may be limited, for example, to
execution of a single session by a single user on the authorized hardware or for a restricted period of time (such limitations may be
technically implemented through the use of authorization codes or similar devices); and (c) support services provided, including
eligibility to receive telephone support, updates, modifications, and revisions. For the avoidance of doubt, if Customer provides any
feedback or requests any change or enhancement to Products, whether in the course of receiving support or consulting services,
evaluating Products, performing beta testing or otherwise, any inventions, product improvements, modifications or developments made
by Mentor Graphics (at Mentor Graphics’ sole discretion) will be the exclusive property of Mentor Graphics.
3. BETA CODE.
3.1. Portions or all of certain Software may contain code for experimental testing and evaluation (which may be either alpha or beta,
collectively “Beta Code”), which may not be used without Mentor Graphics’ explicit authorization. Upon Mentor Graphics’
authorization, Mentor Graphics grants to Customer a temporary, nontransferable, nonexclusive license for experimental use to
test and evaluate the Beta Code without charge for a limited period of time specified by Mentor Graphics. Mentor Graphics may
choose, at its sole discretion, not to release Beta Code commercially in any form.
3.2. If Mentor Graphics authorizes Customer to use the Beta Code, Customer agrees to evaluate and test the Beta Code under normal
conditions as directed by Mentor Graphics. Customer will contact Mentor Graphics periodically during Customer’s use of the
Beta Code to discuss any malfunctions or suggested improvements. Upon completion of Customer’s evaluation and testing,
Customer will send to Mentor Graphics a written evaluation of the Beta Code, including its strengths, weaknesses and
recommended improvements.
3.3. Customer agrees to maintain Beta Code in confidence and shall restrict access to the Beta Code, including the methods and
concepts utilized therein, solely to those employees and Customer location(s) authorized by Mentor Graphics to perform beta
testing. Customer agrees that any written evaluations and all inventions, product improvements, modifications or developments
that Mentor Graphics conceived or made during or subsequent to this Agreement, including those based partly or wholly on
Customer’s feedback, will be the exclusive property of Mentor Graphics. Mentor Graphics will have exclusive rights, title and
interest in all such property. The provisions of this Subsection 3.3 shall survive termination of this Agreement.
4. RESTRICTIONS ON USE.
4.1. Customer may copy Software only as reasonably necessary to support the authorized use. Each copy must include all notices
and legends embedded in Software and affixed to its medium and container as received from Mentor Graphics. All copies shall
remain the property of Mentor Graphics or its licensors. Except for Embedded Software that has been embedded in executable
code form in Customer’s product(s), Customer shall maintain a record of the number and primary location of all copies of
Software, including copies merged with other software, and shall make those records available to Mentor Graphics upon
request. Customer shall not make Products available in any form to any person other than Customer’s employees and on-site
contractors, excluding Mentor Graphics competitors, whose job performance requires access and who are under obligations of
confidentiality. Customer shall take appropriate action to protect the confidentiality of Products and ensure that any person
permitted access does not disclose or use Products except as permitted by this Agreement. Customer shall give Mentor Graphics
written notice of any unauthorized disclosure or use of the Products as soon as Customer becomes aware of such unauthorized
disclosure or use. Customer acknowledges that Software provided hereunder may contain source code which is proprietary and
its confidentiality is of the highest importance and value to Mentor Graphics. Customer acknowledges that Mentor Graphics
may be seriously harmed if such source code is disclosed in violation of this Agreement. Except as otherwise permitted for
purposes of interoperability as specified by applicable and mandatory local law, Customer shall not reverse-assemble,
disassemble, reverse-compile, or reverse-engineer any Product, or in any way derive any source code from Software that is not
provided to Customer in source code form. Log files, data files, rule files and script files generated by or for the Software
(collectively “Files”), including without limitation files containing Standard Verification Rule Format (“SVRF”) and Tcl
Verification Format (“TVF”) which are Mentor Graphics’ trade secret and proprietary syntaxes for expressing process rules,
constitute or include confidential information of Mentor Graphics. Customer may share Files with third parties, excluding
Mentor Graphics competitors, provided that the confidentiality of such Files is protected by written agreement at least as well as
Customer protects other information of a similar nature or importance, but in any case with at least reasonable care. Customer
may use Files containing SVRF or TVF only with Mentor Graphics products. Under no circumstances shall Customer use
Products or Files or allow their use for the purpose of developing, enhancing or marketing any product that is in any way
competitive with Products, or disclose to any third party the results of, or information pertaining to, any benchmark.
4.2. If any Software or portions thereof are provided in source code form, Customer will use the source code only to correct software
errors and enhance or modify the Software for the authorized use, or as permitted for Embedded Software under separate
embedded software terms or an embedded software supplement. Customer shall not disclose or permit disclosure of source
code, in whole or in part, including any of its methods or concepts, to anyone except Customer’s employees or on-site
contractors, excluding Mentor Graphics competitors, with a need to know. Customer shall not copy or compile source code in
any manner except to support this authorized use.
4.3. Customer agrees that it will not subject any Product to any open source software (“OSS”) license that conflicts with this
Agreement or that does not otherwise apply to such Product.
4.4. Customer may not assign this Agreement or the rights and duties under it, or relocate, sublicense, or otherwise transfer the
Products, whether by operation of law or otherwise (“Attempted Transfer”), without Mentor Graphics’ prior written consent and
payment of Mentor Graphics’ then-current applicable relocation and/or transfer fees. Any Attempted Transfer without Mentor
Graphics’ prior written consent shall be a material breach of this Agreement and may, at Mentor Graphics’ option, result in the
immediate termination of the Agreement and/or the licenses granted under this Agreement. The terms of this Agreement,
including without limitation the licensing and assignment provisions, shall be binding upon Customer’s permitted successors in
interest and assigns.
4.5. The provisions of this Section 4 shall survive the termination of this Agreement.
5. SUPPORT SERVICES. To the extent Customer purchases support services, Mentor Graphics will provide Customer with updates and
technical support for the Products, at the Customer site(s) for which support is purchased, in accordance with Mentor Graphics’ then
current End-User Support Terms located at http://supportnet.mentor.com/supportterms.
6. OPEN SOURCE SOFTWARE. Products may contain OSS or code distributed under a proprietary third party license agreement, to
which additional rights or obligations (“Third Party Terms”) may apply. Please see the applicable Product documentation (including
license files, header files, read-me files or source code) for details. In the event of conflict between the terms of this Agreement
(including any addenda) and the Third Party Terms, the Third Party Terms will control solely with respect to the OSS or third party
code. The provisions of this Section 6 shall survive the termination of this Agreement.
7. LIMITED WARRANTY.
7.1. Mentor Graphics warrants that during the warranty period its standard, generally supported Products, when properly installed,
will substantially conform to the functional specifications set forth in the applicable user manual. Mentor Graphics does not
warrant that Products will meet Customer’s requirements or that operation of Products will be uninterrupted or error free. The
warranty period is 90 days starting on the 15th day after delivery or upon installation, whichever first occurs. Customer must
notify Mentor Graphics in writing of any nonconformity within the warranty period. For the avoidance of doubt, this warranty
applies only to the initial shipment of Software under an Order and does not renew or reset, for example, with the delivery of (a)
Software updates or (b) authorization codes or alternate Software under a transaction involving Software re-mix. This warranty
shall not be valid if Products have been subject to misuse, unauthorized modification, improper installation or Customer is not in
compliance with this Agreement. MENTOR GRAPHICS’ ENTIRE LIABILITY AND CUSTOMER’S EXCLUSIVE
REMEDY SHALL BE, AT MENTOR GRAPHICS’ OPTION, EITHER (A) REFUND OF THE PRICE PAID UPON
RETURN OF THE PRODUCTS TO MENTOR GRAPHICS OR (B) MODIFICATION OR REPLACEMENT OF THE
PRODUCTS THAT DO NOT MEET THIS LIMITED WARRANTY. MENTOR GRAPHICS MAKES NO WARRANTIES
WITH RESPECT TO: (A) SERVICES; (B) PRODUCTS PROVIDED AT NO CHARGE; OR (C) BETA CODE; ALL OF
WHICH ARE PROVIDED “AS IS.”
7.2. THE WARRANTIES SET FORTH IN THIS SECTION 7 ARE EXCLUSIVE. NEITHER MENTOR GRAPHICS NOR ITS
LICENSORS MAKE ANY OTHER WARRANTIES EXPRESS, IMPLIED OR STATUTORY, WITH RESPECT TO
PRODUCTS PROVIDED UNDER THIS AGREEMENT. MENTOR GRAPHICS AND ITS LICENSORS SPECIFICALLY
DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NON-INFRINGEMENT OF INTELLECTUAL PROPERTY.
8. LIMITATION OF LIABILITY. TO THE EXTENT PERMITTED UNDER APPLICABLE LAW, IN NO EVENT SHALL
MENTOR GRAPHICS OR ITS LICENSORS BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES (INCLUDING LOST PROFITS OR SAVINGS) WHETHER BASED ON CONTRACT, TORT OR ANY OTHER
LEGAL THEORY, EVEN IF MENTOR GRAPHICS OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES. IN NO EVENT SHALL MENTOR GRAPHICS’ OR ITS LICENSORS’ LIABILITY UNDER THIS
AGREEMENT EXCEED THE AMOUNT RECEIVED FROM CUSTOMER FOR THE HARDWARE, SOFTWARE LICENSE OR
SERVICE GIVING RISE TO THE CLAIM. IN THE CASE WHERE NO AMOUNT WAS PAID, MENTOR GRAPHICS AND ITS
LICENSORS SHALL HAVE NO LIABILITY FOR ANY DAMAGES WHATSOEVER. THE PROVISIONS OF THIS SECTION 8
SHALL SURVIVE THE TERMINATION OF THIS AGREEMENT.
9.1. Customer acknowledges that Mentor Graphics has no control over the testing of Customer’s products, or the specific
applications and use of Products. Mentor Graphics and its licensors shall not be liable for any claim or demand made against
Customer by any third party, except to the extent such claim is covered under Section 10.
9.2. In the event that a third party makes a claim against Mentor Graphics arising out of the use of Customer’s products, Mentor
Graphics will give Customer prompt notice of such claim. At Customer’s option and expense, Customer may take sole control
of the defense and any settlement of such claim. Customer WILL reimburse and hold harmless Mentor Graphics for any
LIABILITY, damages, settlement amounts, costs and expenses, including reasonable attorney’s fees, incurred by or awarded
against Mentor Graphics or its licensors in connection with such claims.
9.3. The provisions of this Section 9 shall survive any expiration or termination of this Agreement.
10. INFRINGEMENT.
10.1. Mentor Graphics will defend or settle, at its option and expense, any action brought against Customer in the United States,
Canada, Japan, or member state of the European Union which alleges that any standard, generally supported Product acquired
by Customer hereunder infringes a patent or copyright or misappropriates a trade secret in such jurisdiction. Mentor Graphics
will pay costs and damages finally awarded against Customer that are attributable to such action. Customer understands and
agrees that as conditions to Mentor Graphics’ obligations under this section Customer must: (a) notify Mentor Graphics
promptly in writing of the action; (b) provide Mentor Graphics all reasonable information and assistance to settle or defend the
action; and (c) grant Mentor Graphics sole authority and control of the defense or settlement of the action.
10.2. If a claim is made under Subsection 10.1 Mentor Graphics may, at its option and expense: (a) replace or modify the Product so
that it becomes noninfringing; (b) procure for Customer the right to continue using the Product; or (c) require the return of the
Product and refund to Customer any purchase price or license fee paid, less a reasonable allowance for use.
10.3. Mentor Graphics has no liability to Customer if the action is based upon: (a) the combination of Software or hardware with any
product not furnished by Mentor Graphics; (b) the modification of the Product other than by Mentor Graphics; (c) the use of
other than a current unaltered release of Software; (d) the use of the Product as part of an infringing process; (e) a product that
Customer makes, uses, or sells; (f) any Beta Code or Product provided at no charge; (g) any software provided by Mentor
Graphics’ licensors who do not provide such indemnification to Mentor Graphics’ customers; (h) OSS, except to the extent that
the infringement is directly caused by Mentor Graphics’ modifications to such OSS; or (i) infringement by Customer that is
deemed willful. In the case of (i), Customer shall reimburse Mentor Graphics for its reasonable attorney fees and other costs
related to the action.
10.4. THIS SECTION 10 IS SUBJECT TO SECTION 8 ABOVE AND STATES THE ENTIRE LIABILITY OF MENTOR
GRAPHICS AND ITS LICENSORS, AND CUSTOMER’S SOLE AND EXCLUSIVE REMEDY, FOR DEFENSE,
SETTLEMENT AND DAMAGES, WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT
OR TRADE SECRET MISAPPROPRIATION BY ANY PRODUCT PROVIDED UNDER THIS AGREEMENT.
11.1. If a Software license was provided for limited term use, such license will automatically terminate at the end of the authorized
term. Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement immediately upon
written notice if Customer: (a) exceeds the scope of the license or otherwise fails to comply with the licensing or confidentiality
provisions of this Agreement, or (b) becomes insolvent, files a bankruptcy petition, institutes proceedings for liquidation or
winding up or enters into an agreement to assign its assets for the benefit of creditors. For any other material breach of any
provision of this Agreement, Mentor Graphics may terminate this Agreement and/or any license granted under this Agreement
upon 30 days written notice if Customer fails to cure the breach within the 30 day notice period. Termination of this Agreement
or any license granted hereunder will not affect Customer’s obligation to pay for Products shipped or licenses granted prior to
the termination, which amounts shall be payable immediately upon the date of termination.
11.2. Upon termination of this Agreement, the rights and obligations of the parties shall cease except as expressly set forth in this
Agreement. Upon termination of this Agreement and/or any license granted under this Agreement, Customer shall ensure that
all use of the affected Products ceases, and shall return hardware and either return to Mentor Graphics or destroy Software in
Customer’s possession, including all copies and documentation, and certify in writing to Mentor Graphics within ten business
days of the termination date that Customer no longer possesses any of the affected Products or copies of Software in any form.
12. EXPORT. The Products provided hereunder are subject to regulation by local laws and European Union (“E.U.”) and United States
(“U.S.”) government agencies, which prohibit export, re-export or diversion of certain products, information about the products, and
direct or indirect products thereof, to certain countries and certain persons. Customer agrees that it will not export or re-export Products
in any manner without first obtaining all necessary approval from appropriate local, E.U. and U.S. government agencies. If Customer
wishes to disclose any information to Mentor Graphics that is subject to any E.U., U.S. or other applicable export restrictions, including
without limitation the U.S. International Traffic in Arms Regulations (ITAR) or special controls under the Export Administration
Regulations (EAR), Customer will notify Mentor Graphics personnel, in advance of each instance of disclosure, that such information
is subject to such export restrictions.
13. U.S. GOVERNMENT LICENSE RIGHTS. Software was developed entirely at private expense. The parties agree that all Software is
commercial computer software within the meaning of the applicable acquisition regulations. Accordingly, pursuant to U.S. FAR 48
CFR 12.212 and DFAR 48 CFR 227.7202, use, duplication and disclosure of the Software by or for the U.S. government or a U.S.
government subcontractor is subject solely to the terms and conditions set forth in this Agreement, which shall supersede any
conflicting terms or conditions in any government order document, except for provisions which are contrary to applicable mandatory
federal laws.
14. THIRD PARTY BENEFICIARY. Mentor Graphics Corporation, Mentor Graphics (Ireland) Limited, Microsoft Corporation and
other licensors may be third party beneficiaries of this Agreement with the right to enforce the obligations set forth herein.
15. REVIEW OF LICENSE USAGE. Customer will monitor the access to and use of Software. With prior written notice and during
Customer’s normal business hours, Mentor Graphics may engage an internationally recognized accounting firm to review Customer’s
software monitoring system and records deemed relevant by the internationally recognized accounting firm to confirm Customer’s
compliance with the terms of this Agreement or U.S. or other local export laws. Such review may include FlexNet (or successor
product) report log files that Customer shall capture and provide at Mentor Graphics’ request. Customer shall make records available in
electronic format and shall fully cooperate with data gathering to support the license review. Mentor Graphics shall bear the expense of
any such review unless a material non-compliance is revealed. Mentor Graphics shall treat as confidential information all information
gained as a result of any request or review and shall only use or disclose such information as required by law or to enforce its rights
under this Agreement. The provisions of this Section 15 shall survive the termination of this Agreement.
16. CONTROLLING LAW, JURISDICTION AND DISPUTE RESOLUTION. The owners of certain Mentor Graphics intellectual
property licensed under this Agreement are located in Ireland and the U.S. To promote consistency around the world, disputes shall be
resolved as follows: excluding conflict of laws rules, this Agreement shall be governed by and construed under the laws of the State of
Oregon, U.S., if Customer is located in North or South America, and the laws of Ireland if Customer is located outside of North or
South America or Japan, and the laws of Japan if Customer is located in Japan. All disputes arising out of or in relation to this
Agreement shall be submitted to the exclusive jurisdiction of the courts of Portland, Oregon when the laws of Oregon apply, or Dublin,
Ireland when the laws of Ireland apply, or the Tokyo District Court when the laws of Japan apply. Notwithstanding the foregoing, all
disputes in Asia (excluding Japan) arising out of or in relation to this Agreement shall be resolved by arbitration in Singapore before a
single arbitrator to be appointed by the chairman of the Singapore International Arbitration Centre (“SIAC”) to be conducted in the
English language, in accordance with the Arbitration Rules of the SIAC in effect at the time of the dispute, which rules are deemed to be
incorporated by reference in this section. Nothing in this section shall restrict Mentor Graphics’ right to bring an action (including for
example a motion for injunctive relief) against Customer in the jurisdiction where Customer’s place of business is located. The United
Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement.
17. SEVERABILITY. If any provision of this Agreement is held by a court of competent jurisdiction to be void, invalid, unenforceable or
illegal, such provision shall be severed from this Agreement and the remaining provisions will remain in full force and effect.
18. MISCELLANEOUS. This Agreement contains the parties’ entire understanding relating to its subject matter and supersedes all prior
or contemporaneous agreements. Any translation of this Agreement is provided to comply with local legal requirements only. In the
event of a dispute between the English and any non-English versions, the English version of this Agreement shall govern to the extent
not prohibited by local law in the applicable jurisdiction. This Agreement may only be modified in writing, signed by an authorized
representative of each party. Waiver of terms or excuse of breach must be in writing and shall not constitute subsequent consent, waiver
or excuse.