L-Edit Users Guide
Section 1: Layout Design and Editing
Section 2: Design Verification
Section 3: User-Programmable Interface
Appendix: Legacy Tools
Section 1: Layout Design and Editing
1 Library and Design Configuration
Database Options in L-Edit
“Design” versus “Library”
OpenAccess Database Structure
OpenAccess Cell Libraries
Cell Reservations
TDB Database Structure
TDB Cell Libraries
Launching L-Edit
Opening an OpenAccess Database
lib.defs - the Library Path File in OpenAccess
Auto Loading TCL Scripts in an OpenAccess Database
File Contents in an OpenAccess Database
Using a Command-Line Argument to Launch a TDB File
Establishing Technology Information
OpenAccess Technology Libraries
Protecting Your Data in Attached and Referenced Libraries
Setting the Technology Reference in an OpenAccess Database
Technology Reference Options for OpenAccess
OpenAccess Attached Libraries
Technology Reference Options for a Tanner Database
Importing Technology into a Design
Importing Technology from a TDB File
Importing a Setup from Virtuoso
Importing a Setup from Laker
Importing a GDS Layer Map
GDS Layer Map File Format
Importing CDF
Layer Merging During Imports
2 Application and Design Setup
Setting the Number of Available Colors
Application Setup
Application Configuration Files
Workgroup and User Configuration Files
Editing Configuration Files
Contents of Configuration Files
Setup Application–General
Application–Editing
Setup Application–Keyboard
Setup Application–Mouse
Setup Application–Warnings
Setup Application–UPI
Setup Application–Rendering
Advanced Performance Settings
Setup Application–Selection
Setup Application–Text Editor
Files Modified Outside the Text Editor
Setup Application–Text Style
Adding Keywords to a Group
Design Setup
Internal Units, Display Units, and Technology Units
Setup Design–Technology
Setup Design–Grid
Setting and Displaying the Grid Layer
Setup Design–Selection
Selection and Deselection Ranges
Setup Design–Drawing
Setup Design–Libraries
Setup Design–Object Snap
Setup Design—Interactive DRC
Setup Design–Node Highlighting
Setup Design–Valid Vias
Layer Setup
Common Controls in the Setup Layers Tabs
General Layer Parameters
Derivation Layer Parameters
Rendering Layer Parameters
Rendering Modes
Paint Mode
Add Mode
Subtract Mode
Rendering Passes
Pattern
Color
Outline Style
Listing the Layers in a File
Special Layers
Layer Purpose Pairs
Predefined Layer Purposes
Predefined Layer Name-Number Mappings
Adding a Custom Purpose
Adding, Copying or Renaming a Layer
Deleting a Layer
3 Opening and Closing Designs
Creating a New Design
Opening an Existing Design
Saving a TDB File
Converting a TDB File to OpenAccess Format
The Four TDB to Open Access Conversion Options
Local
Attached or Referenced
Copied
Renaming or Relocating a TDB File
Converting an OpenAccess File to TDB Format
Renaming or Relocating an Open Access File
Closing a Design
Printing
Layout Print Options
Print Setup
Print Preview
Copying and Saving Layout Images
File Information
Listing Object Types by Layer
Transferring File Information to Cells
Properties
Property Types
Binary Large Object (“Blob”) Properties
Viewing and Editing Properties
Adding a Property
Deleting a Property
Renaming a Property
Deleting a Property Value
Editing a Property Value
Adding a Copyright, Logo or Text to a File
Adding True Type Fonts to a Design
Using the alphabet.tdb File
Rescaling a Design
Exiting L-Edit
Abnormal Termination
4 Importing and Exporting Files
Importing Files
Importing GDS Files
Prompt if unknown layers are found
Setting the View Level
Importing CIF Files
Importing OASIS Files
Prompt if unknown layers are found
Importing DXF Files
Draw > Convert > Connect Segments
Importing Gerber Files
Importing Graphics
Merging and Dithering Options
Exporting Files
Exporting GDS Files
Mapping the GDS Data Type and Purpose
Polygons with Too Many Vertices
Exporting CIF Files
Exporting OASIS Files
Exporting DXF Files
Exporting Gerber Files
Exporting PostScript Masks
CIF File Formatting
Symbols
Calls (Instances)
Geometric Primitives
Layers
Fabrication Cell
Restrictions
Extensions
Wires in CIF
Scaling
GDSII File Formatting
GDSII Properties
GDSII Naming
GDSII Date Formats
GDSII Shape Definition
GDSII Data Type
Assigning Data Types
Wires in GDSII
Setting GDSII Port and Port Text Size
5 The L-Edit Interface
Elements of the User Interface
Menus
The Window Menu
The Help Menu
Opening the Documentation
Installing Examples
Managing Commuter Licensing
Diagnostic Tools for Customer Support
Displaying the Product Version or Contacting Customer Support
Design Navigator
Toolbars
Dockable Toolbars and Views
Pinning A Docked View
Standard Toolbar
Drawing Toolbar
Editing Toolbar
Verification Toolbar
Compact Layer Palette
Base Point Toolbar
Object Snap Toolbar
Node Highlighting Toolbar
Database Toolbar
Alignment Toolbar
MultiGrid Toolbar
Customizing Toolbars
This opens the Customize dialog, to the Toolbars tab. Note that in this dialog the checkmarks control only whether or not a toolbar is displayed. The buttons apply only to the toolbar that is highlighted, and will be applied even if a toolbar is not ...
Adding a Command to a Toolbar
Use the Commands tab to add a button for an existing command to any toolbar.
Adding a New Toolbar
Adding a New Command Button
Example: Adding a Button to Toggle Snap Grid Size
Adding a Button using the tcl workspace command
Docking Views
Libraries Navigator
Layer Palette
and Log Window
Verification Navigator
SDL Navigator
Aerial View
Status Bars
Status Bar
Mouse Button Bar
Locator Bar
Coordinate System
Relative Coordinate Display
Layout Area
Text Editor
6 Viewing the Layout
Refreshing the Screen
Displaying Layout Interface Elements
Showing and Hiding Objects
Controlling Layer Display
Sorting Layers
Hiding Layers
Show/Hide Layers Using the View > Layers Command
Show/Hide Layers Using the Mouse
Locking Layers
Protecting Layers
Using the Compact Layer Palette
Using the Layer Palette
Buttons in the Layer Palette Header
Right-Click Menu in the Layer Palette
Creating and Saving a Layer Palette
Viewing Layout Hierarchy
Displaying Instance Insides
Displaying Instance Insides While Drawing and Editing
Zooming and Panning
Zooming
Zooming While Editing In-Place
Panning
Pan To Cell Edge
Object Pan Settings
Zooming and Panning with the Mouse
Mouse Wheel Functions
Auto-Panning
Moving to Specific Coordinates
Toggling Views
Using the Multigrid Toolbar to Toggle Grid Size
Schematic Probing and Selection Synchronization
Cross-Section Viewer
Grow/Deposit
Etch
Implant/Diffuse
Operation
Display
Single-Step Display
Process Definition Files
Example
7 Cell Hierarchy and Views
Working with Cells in a Multi-User Environment
Cell Views
Cell Information
The Libraries Navigator
The Cell List Filter Menu
Cell List Filter Settings
How to Set Column Headings in the Cell List
Saving Column Heading Setups 1, 2 and 3
Setting Colors in the Cell List
Highlighted vs Selected in the Cell List
Right-Click Menu in the Cell List
Cell Information
Reserving a Cell
Explicit Reservation
The Database Toolbar
Implicit Reservation
Unreserving a Cell
Listing of Reserved Cells
Creating a New Cell
Opening a Cell
Updating a Cell
Reverting a Cell
Saving a Cell
Renaming or Moving a Cell
Closing a Cell with a New Name
Saving a Single Cell to Another File
Copying a Piece of a Cell to Another Cell
Database Evaluation When Copying or Deleting Cells
Copying a Cell
Copying to a differerent database
Deleting a Cell
Listing the Object Types or Layers Used in a Cell
Cell > Cell Object Summary
Cell > Layer-Cell Cross Reference
The Design Navigator
Design Navigator Display Modes
Top down - all cells
Bottom up - all cells
Top down - non-instanced
By date modified
DRC Status
DRC Status Icons
Icons in the Design Navigator
Performing Cell Operations with the Design Navigator
Copying and Instancing from the Design Navigator
Instancing Cells
Toggling Instance Selectability
Creating Instances
Editing Instances
Editing an Original Instance In-Place
“Push to Object”
Edit Object(s) for Instances
Creating Instance Arrays
Creating Arrays using the Mouse
Flattening an Instance
Assigning Names to Multiple Instances
Setting the Scope of Action for Multiple Cell Operations
Replacing Instances
Aligning Instances by Abut Ports
Replace Instances of This Cell
Replace Instances in Selected Cells
Retargeting the Library of Selected Cells
You can replace instances of cells from one library with instances of like named cells from a different library using the Replace Instances > Retarget Library command. First select the cells in the library navigator that you wish to replace, then inv...
Replacing Multiple Instances using Edit Object(s)
Locking and Unlocking Cells Hierarchically
Specifying the Fabrication Cell
Finding I/O Pads in the Fabrication Cell
Wafer Tools
Populating the Wafer
Labeling the Die
Mapping the Die
8 Drawing Objects
Object Types
Selecting a Layer
Selecting a Drawing Tool
Selecting Angle Constraints for Drawing Tools
Changing Angle Constraints while Drawing or Editing
Drawing in Outline Mode
Drawing Objects
Boxes
Circles
Pie Wedges
Tori
Polygons and Wires
Self-Intersecting Polygons and Wires
Self-Intersecting Polygons
Ambiguous Fill Polygons
Winding Number
Curves
Converting a Straight Polygon Edge to a Curve
Curve Height
Chamfers and Fillets
Setting the Chamfer/Fillet Distance or Radius
Electrical Ports
Drawing and Editing Ports
Adding Additional Port Geometry
Terminals and Pins
Legacy Ports
Legacy Layers
Text Labels
Rulers
Editing and Deleting Rulers
Edit Object(s) for Rulers
Wire Styles
End Styles and Join Styles
Wire Style Defaults
Wire Utilities for Editing Wires
Adding a Wire Section
Joining Wires
Extending Wires
Resume Drawing a Wire from its Endpoint
Slicing Wires
Fixing Wires With Short Segments
Object Snapping
Snapping Existing Geometry to the Manufacturing Grid
Vertex Snapping
Intersection Snapping
Object Snap Setup
Object Snap Toolbar
Object Snap Shortcut Keys
Order of Preference in Snapping
Selecting Objects
Explicit Selection
Using a Selection Box
Disallowing Instance Selection
Implicit Selection
Extend Selection
Cycle Selection
Edge Selection
Universal Selection
Deselecting Objects
Explicit Deselection
Implicit Deselection
Hidden Deselection
Universal Deselection
Deleting Objects
Undoing or Redoing an Operation
Undo
Redo
Grouping and Ungrouping Objects
Grouping Instances to Create an Array
Ungrouping Instances
Undoing Draw > Group and Draw > Ungroup
9 Editing Objects
Finding Objects
Find Next/Find Previous
Hierarchical Find
Moving Objects
Repositioning
Move By Options
Nudge
Force Move Mode
Base Point Mode
Setting the Base Point
Move and Copy/Paste Operations in Base Point Mode
Reorienting
Specifying Rotation Parameters
Moving Objects from One Layer to Another
Copying and Duplicating Objects
Copying Objects
Duplicating Objects
Copying Images
Pasting Objects
Paste to Cursor Feature
Resizing and Reshaping
Types of Edge Moves
Standard Move- Preserve Edge Length, Change Angle
Orthogonal Edge Move
Two Options for a Perpendicular Edge Move
Perpendicular Edge Move - Change Length, Preserve Angle
Editing Multiple Objects Simultaneously
Adding Vertices
Pie Wedges and Tori
Resizing Text
Measuring Distance Between Objects
Temporary Rulers
Tools > Measure
Measuring Between Objects at the Same Level of Hierarchy
Measuring Between Objects on Different Levels of Hierarchy
Aligning and Distributing Objects
Global Alignment and Distribution Options
Minimum and Abutment Bounding Boxes
Alignment Commands
Global Distribution Options
Distribution Commands
Tiling Options
Tile Commands
Slicing
Nibbling
Merging Objects
Boolean and Grow Operations
Converting Curved and other Objects to Polygons
Converting All-Angle Polygons to Curved Polygons
Converting Polygons to Orthogonal or 45° Geometry
Removing Curves from Polygons
Fracturing Polygons
Editing Objects From a Dialog Window
Edit > Edit Object(s)
Common Text Edit Fields
Editing Multiple Object Using Text
Mixed-Value and Disabled Fields
Stepping Through Selected ObjectsOne at a Time
Edit Object(s) for Boxes
Edit Object(s) for Polygons
Edit Object(s) for Wires
Edit Object(s) for Circles
Edit Object(s) for Pie Wedges
Edit Object(s) for Tori
Edit Object(s) for Ports
Edit Object(s) for Text Labels
Editing Rulers
Editing Instances
Editing
Opening the Command Window
Using the Command Window
TCL Commands
Syntax
Coordinate Entry Options
Command Completion Using a Mouse Click
Reference Point Location
Reference Point Location for Multiple Objects
Special Characters
Keyboard Shortcuts
Command Reference
!!
, ¯
Array
Box
Copy
Goto
Instance
Layer
Move
Path
Paste
Polygon
Rotate
Run
Text
Width
Command Scripting
10 Parameterized Cells
P-Cells
Creating T-Cells
H-Stretch and VStretch Parameter Types for Edge Selection
T-Cell Code Templates
TCL Commands Specific to L-Edit
Opening T-Cells
Closing T-Cells
Instancing T-Cells
Regenerating T-Cell Instances
T-Cell Callbacks
Generating T-Cell Code from Layout —“T-Cell Builder”
Defining Stretch Ports for the T-Cell Builder
Constructing a T-Cell with Stretch Parameters—MOSFET Example
Parameter Types in the T-Cell Builder
Repeating Elements with the T-Cell Builder
Setting the Layer as a T-Cell Builder Parameter
Defining Conditional Inclusion as a T-Cell Builder Parameter
Finding Objects that have T-Cell Builder Parameters
Generating Via Cells
Standard Vias
Custom Vias
Via Icons
Defining a Standard Via
Defining a Custom Via
Editing a Via
Placing a Generated Via
Valid Vias
Using Valid Vias for Assisted Routing
Routing Example
How to Use Assisted Routing
Editing a Via During Placement
Cycling Through Multiple Vias with the Same Layer Definitions
‘Undo’ During Assisted Routing
Placing an Array with Assisted Routing
Generating Guard Rings
Defining a Guard Ring
Using the Fracture Option
Using the Area Option
Editing a Guard Ring Cell
Placing a Guard Ring
Deleting a Guard Ring
11 Automatic Device Generation
The DevGen Process
Establish the Process Technology
Define the Device
Generate Device Layout
Edit a Device Class or Create a New One
The HiPer DevGen Process
Establish the Process Technology
Define the Device
Generate Device Layout
Generate Device Layout from an SDL Netlist
Standard DevGen Devices
DevGen Capacitor
DevGen Diode
DevGen Inductor
DevGen MOSFET
DevGen Resistor
Editing a Device Class
HiPer DevGen Devices
HiPer DevGen Current Mirror
Current Mirror Definition - Page 1
Current Mirror Definition - Page 2
Generate a Current Mirror
HiPer DevGen Differential Pair
Differential Pair Definition - Page 1
Differential Pair Definition - Page 2
Generate a Differential Pair
Multiple Combinations of Matching Requirements
HiPer DevGen MOSFET
MOSFET Definition
Generate a MOSFET
HiPer DevGen MOSFET Array
MOSFET Array Definition
Generate a HiPer MOSFET Array
HiPer DevGen Resistor
Resistor Page 1
Resistor Page 2
Generate a Resistor or Matched Resistor Array
Device Generation From an SDL Netlist
Schematic Characteristics that Define a HiPer DevGen Device
Schematic Criteria for a Current Mirror
Schematic Criteria for a Differential Pair
Schematic Criteria for a Resistor Array
HiPer DevGen Process Setup
Layer Assignments
Design Rule Assignments
12 Derived Layers
Layer Derivation Steps
Defining Derived Layers
Boolean Layer Derivations
Boolean Operation Outcomes
AND
OR
NOT
Grow
Boolean Order of Operations
Select Layer Derivations
Select Operation Relationships
Inside
Not Inside
Outside
Not Inside
Hole
Cut
Not Cut
Touch
Not Touch
Enclose
Overlap
Vertex
Area Layer Derivations
Density Layer Derivations
Setting Up Command File Derived Layers
Generating Derived Layers
Choose a Command Set
Run the Derivation
Automatic Layer Generation with DRC and Extract
Showing and Hiding Generated Layers
Locking Generated Layers
Removing Generated Layers
13 Schematic-Driven Layout (SDL)
Assisted Place and Route
Using the Assisted Router
Configure for Optimal Routing
Import a Netlist
Position Layout
Route Critical Nets, Auto-Route Remaining Nets
Check for Shorted Nets
Enter Engineering Change Orders (ECOs)
The SDL Navigator
The SDL Navigator Toolbar
Right-Click Menu Commands
The SLD Navigator Command Menu
Tools > SDL Navigator Commands
Importing a Netlist
Updating from an Engineering Change Order (ECO)
Automatically Generating Layout Elements
Adding Instances for Missing Subcircuits
Adding Instances of T-Cells for Missing Devices
T-Cell Naming and Parameters
Layout Placement
Manual Assisted Routing
Setting the Active Net
Configuring the Automatic Router
Define the Routing Layers
Router Settings
Set Grid Spacing
Router Grid Spacing Field
Router Grid Offset Field
Wire Width Computation
Routing Wire End Styles
Wide Wire Routing
Locating Ports
Point Ports
Line Ports (1D)
Box Ports (2D)
Obstruction Regions
Breakouts and Notches
Netlist Format for Assisted Routing
Implicit Model Definitions in Assisted Routing
Remapping Model Names
Alternative Netlist Format
Running the Automatic Router
Using the SDL Navigator Checklist
Standard Cell Placement and Routing
Import LEF Technology
Confirm Routing Layer and Via Definitions
Import LEF Cells
Read or Write LEF/DEF Files
Configure the Placer
Choose a Top-Level Cell and Add Site Cells to Define Spacing
Launch Automatic Placement
Additional Placer Commands
Add Clock Net Buffers
Add Fill
Place Power Rails
Power rails can be placed on the left, right, or both, as shown below.
Route Clock Nets
Route Remaining Nets
Sample Standard Cell Placement and Routing Tool Flow
Library setup, done once per library
Placement and Routing, done for each logic block
Checking Connectivity
Writing SDF
Writing SPEF
14 Interactive DRC
Introduction
Setting Up Interactive DRC Rules
Width
Spacing
Surround
Overlap
Extension
Running Interactive DRC
Importing Interactive DRC Rules
15 Node Highlighting
Introduction
Node Highlighting Setup
Default Location of Saved Node Highlighting Data
The Node Highlighting Toolbar
Using Node Highlighting
16 Add-Ins
Add-In Macros Documented in This Chapter
Add-In Macros Documented in Other Chapters
Area Calculator
Instance Location Summary
Mask Bias
Mark Cells for Flattening
Layer Fill
Macro
Repeat Macro
Section 2: Design Verification
17 Introduction to Design Verification
Design Verification in L-Edit
18 DRC Standard Rules
Design Rule Sets
Setups
Copying Setup Information to a New File
Combining Rules from Different Files
Generated Layers
Exporting DRC Standard Rules to Calibre Format
Running DRC from the Command Line
Creating Precompiled Command Files:
Design Rule Types
Minimum Width
Exact Width
Not Exist
Spacing
Surround
Overlap
Extension
Density
Rule Exceptions
Acute Angles
Flag to Append Special Commands
Standard DRC rule:
Equivalent Calibre format rule:
Specifying DRC Standard Design Rules
Geometry Flags
Optimizing Performance
Checking Incrementally
Checking Hidden Layers
Disabling Rules
19 DRC Setup
Design Rule Sets
Setting Up DRC
Running DRC
Design Rule Check on a Full Cell
Region-Only Design Rule Check
Single Rule Check from a Command File
DRC Progress
Notification of DRC Completion
Command File Syntax Checking
DRC Status
Excluding Cells from DRC
Debugging DRC Results with Generated Layers
Generating Layers
Generate Layers directly from a Command File
20 HiPer Verify: Calibre Command Files
Input Conventions
Case Sensitivity
New Line Insensitivity
Navigation in the Text Editor
Preprocessor Commands
Comments
Constraints
Numeric Expressions
Reserved Symbols
Reserved Keywords
Command File Examples
A Basic Command File
Command Usage
Intermediate Layer Rules
Edge Directed Output
Polygon Directed Output
Output Reports
Summary and Classification of Commands
Polygon Layer Selectors
Edge Layer Selectors
Layer Constructors
Omitted Environment Setup Commands
Function Overview
Environment Setup
Operating Commands
Hierarchy Modification Commands
Geometry Flags
Drawn Layer Definitions
Connect and Connectivity Commands
Antenna Rules
Polygon Boolean Operations
Utility Layer Generation Operations
Polygon Size Operations
Two-Layer Polygon Selection Operations
Single-Layer Polygon Selection Operations
Polygon Area Operations
Polygon Edge Operations
Edge, Length and Angle Operations
Edge Selection Operations
Dimensional Check Operations
Text Based Operations
Netlist Extraction Operations
Functions
AND
ANGLE
AREA
ATTACH
COINCIDENT EDGE
COINCIDENT INSIDE EDGE
COINCIDENT OUTSIDE EDGE
CONNECT
CONVEX EDGE
Detailed Endpoint Specification
Edge Layer Input
COPY
CUT
DENSITY
If the WINDOW option is not present then:
If the WINDOW option is present:
DEVICE
DISCONNECT
DMACRO and CMACRO
Defining Macros—DMACRO
Invoking Macros—CMACRO
Rule Files
DONUT
DRAWN ACUTE
DRAWN OFFGRID
DRAWN SKEW
DRC INCREMENTAL CONNECT
DRC MAXIMUM RESULTS
DRC PRINT AREA
DRC PRINT PERIMETER
DRC SELECT CHECK
DRC TOLERANCE FACTOR
DRC UNSELECT CHECK
ENC
ENCLOSE
ENCLOSE RECTANGLE
EXCLUDE CELL
EXPAND CELL
EXPAND EDGE
EXPAND TEXT
EXT
EXTENT
EXTENTS
FLAG ACUTE
FLAG NONSIMPLE
FLAG OFFGRID
FLAG POLYGONVERTEXLIMIT
FLAG SKEW
FLAG WIREVERTEXLIMIT
FLAG ZEROWIDTHWIRES
FLATTEN
FLATTEN CELL
FLATTEN INSIDE CELL
GROUP
GROW
HOLES
INCLUDE
INSIDE
INSIDE CELL
INSIDE EDGE
INT
INTERACT
LABEL ORDER
LAYER
LAYER MAP
LAYER RESOLUTION
LENGTH
MERGE
NET
NET AREA
NET AREA RATIO
NET AREA RATIO PRINT
NOT
OFFGRID
OR
ORNET
OUTSIDE
OUTSIDE EDGE
PATH LENGTH
PERIMETER
POLYGON
POLYNET
PRECISION
RECTANGLE
RECTANGLE ENCLOSURE
RECTANGLES
RESOLUTION
SCONNECT
SHRINK
SIZE
Optimizing SIZE Performance
SNAP
STAMP
SVRF ERROR
TEXT DEPTH
TEXT LAYER
TITLE
TOUCH
TOUCH EDGE
TOUCH INSIDE EDGE
TOUCH OUTSIDE EDGE
VARIABLE
VERTEX
VIRTUAL CONNECT COLON
VIRTUAL CONNECT NAME
VIRTUAL CONNECT SEMICOLON AS COLON
WITH EDGE
WITH NEIGHBOR
WITH TEXT
WITH WIDTH
XOR
Supported Calibre Commands
Unsupported Options
Unsupported Calibre DRC/Extraction Commands
Unsupported Database Commands
Unsupported Database Classification Commands
Unsupported Design for Manufacturing Commands
Unsupported Electrical Rule Check Commands
Unsupported Inductance Commands
Unsupported Litho Commands
Unsupported LVS Commands
Unsupported Mask Data Prep Commands
Unsupported Parasitic Extraction Commands
21 HiPer Verify: Dracula Command Files
Introduction
Structure of a Dracula File
Command Usage
Conjunctive Rules
Navigation in the Text Editor
Attaching Text
Simple Example of a Dracula File
Description Block Commands
DELCEL
FLAG-ACUTEANGLE
FLAG-NON45
FLAG-OFFGRID/FLAG-PTH-OFFGRID
FLAG-SELFINTERS/FLAG-SELFTOUCH
RESOLUTION
SCALE
TEXT-LEVEL
TEXT-PRI-ONLY
Input-Layer Block Commands
Layer Assignment
Layer-Name Definition
CONNECT LAYER
IDTEXT
TEXTSEQUENCE
Operation Block Commands
AND
ANDNOT
AREA
CAT
CONNECT
CORNER
COVERAGE
DEVTAG
Circuit Element Extract Commands
EDGECHK
ELEMENT BJT
ELEMENT CAP
ELEMENT DIO
ELEMENT IN?
ELEMENT LDD
ELEMENT MOS
ELEMENT RES
ENC
EQUATION
EXT
GROW
HOLE
INT
LENGTH
LEXTRACT
Antenna Checks
NOT
OCTBIAS
OR
PARSET
Inductors
PLENGTH
RECTCHK
SCONNECT
SELECT ANGLE
SELECT BY LABEL
SELECT CONN
SELECT CUT, TOUCH, ENCLOSE, OVERLAP
SELECT INSIDE, OUTSIDE, HOLE
SELECT LABEL
SELECT VERTEX
SHRINK
SIZE
SNAP
STAMP
WIDTH
XOR
Unsupported Dracula Commands
22 HiPer Verify: Assura Command Files
Typographic Syntax
Terminology
Rule Syntax and Formatting
Structure of an Assura File
Layer Definition Rules
Layer Derivation Rules
DRC Operations
Command Usage
How To Run Assura Rules
Assura Setup
Setup Assura — avParameters
Setup Assura — Switches
Setup Assura — userVariables
Setup Assura — techParams
Setup Assura — Prolog Text
Initializing the Assura Setup
Using Virtuoso Import for Assura Setup
Parsing the File to Setup Assura
Functions By Category
Layer Definition Rules
Layer Derivation Rules
Layer Derivation Rules Using Shape Selection
Layer Derivation Rules using Shape Sizing
Layer Derivation Rules using Shape Generation
Layout Display Rules
Layout Extraction Rules
Device Extraction Rules
DRC Operations
DRC Check Modifiers
DRC Output Modifiers
Functions
cellBoundary
drc
Adding a Message to a DRC Check
DRC Check Keywords
area
coverage
enc
notch
ovlp
sep
sepNotch
venc
width
DRC Check Modifiers
app
diffNet
edge, edgea, edgeb
fig, figa, figb
length, lengtha, lengthb
lessShielded
notParallel
onlyPerp
opposite
parallel
sameNet
shielded
withPerp
errorLayer
extractCAP
geomAnd
geomAndNot
geomAvoiding
geomBkgnd
geomButting
geomButtOnly
geomButtOrCoin
geomButtOrOver
geomCat
geomCoincident
geomConnect
geomContactCheck
geomEnclose
geomGetAngledEdge
geomGetEdge
geomGetHoled
geomGetLength
geomGetNet
geomGetNon45
geomGetNon90
geomGetNonRectangle
geomGetPolygon
geomGetRectangle
geomGetTexted
geomGetUnTexted
geomGetVertex
geomGrow
geomHoles
geomInside
geomNoHoles
geomOr
geomOutside
geomOverlap
geomSepInside
geomSepOutside
geomSize
geomStamp
geomStraddle
geomWidth
layerDefs
layerName
offGrid (DRC Offgrid Data Check)
pinLayer
pinText
saveDerived
textToPin
Tanner Commands with no Assura Equivalent
Unsupported Assura Commands
23 Layout vs. Layout
Select Cells and Layers to Compare
View LVL Results
LVL Log File
LVL_Results TDB File
Layout vs. Layout Example
24 Extracting Layout
Extract Definition Files
Configuring the Extractor
Setup Extract—General
Setup Extract Control Buttons
Setup Extract—Options
Devices and Connections
Finding Devices and Nodes
Extracting Resistor and Capacitors
Wire Conversions in Layer Generation
Configuration Example
Device Definition
Recognition Layers
Pin Layers
Detecting Soft Connections
Using a “SUBCKT” Device to Extract Non-Standard Devices
Extract Definition File Format
Comment Statements
Connect and Attach Statements
Substrate Node Statement
Device Statements–General Format
Device Statements–Specific Formats
Capacitor
Resistor
Inductor
BJT
Diode
GAASFET/MESFET 1
GAASFET/MESFET 2
JFET
MOSFET
Subcircuit
25 HiPer Parasitic Extract (PX)
Running PX
Choose a PX File
Choose Your PX Options
PX File Format
26 Viewing Verification Results
The Verification Error Navigator
Verification Error Navigator for DRC
Error Navigator Toolbar
Verification Error Navigator for Extract
Error Indicators During Verification Runs
Using Checkmarks
Viewing Errors
Viewing “Job” Runs
Cell Context
Verification Navigator Command Menu
Verification Navigator Context Menu
Placing Error Markers
Setting the Color of DRC Markers
Finding Error Markers
Clearing Error Markers
Error Display Options
Viewing Options
Sorting Options
DRC Report Files
DRC Summary Report
DRC Runtime Statistics Report
Exporting a Text File
Displaying Calibre® DRC Results
Finding Open Circuits and Short Circuits
Extract Report Files
Extract Summary Report
Extract Runtime Statistics Report
Tanner “EVI” for Calibre Results Viewing Environment (RVE)
Installing and Configuring EVI
Starting Jobs on the Remote Machine
Setup EVI
Setup Calibre RVE
DRC Results Viewing
Installing an X server to set the Xming Access Controls Option
Installing a Telnet/SSH client to Enable X11 Forwarding
EVI for DRC and LVS
Viewing DRC Errors
Cross Probing
Shorts and Open Circuits
Finding Parasitics
27 Cross Probing
Key Features
Using Cross Probing
28 Introduction to LVS
LVS Features
Launching LVS
Input and Output Files
Prematch Files
Syntax
Element Description Files
Syntax
Permutability Statements
Element Description Examples
File Locking
Backup Files
User Interface
Menus
Toolbar
Status Bar
Setup Window
Setup—Input
Setup—Output
Setup—Device Parameters
Setup—Merge Devices
Devices That Can Be Merged
Merging Series MOSFETS
Setup Window—Parasitics
Setup—Options
Detecting Soft Connections with LVS
Setup—Performance
Text Window
Using Go To
Verification Window
Verification Queue
LVS Output File Format
Node and Element List Format
Syntax
SPICE File Format
Device Statements
Subcircuit Instances
Subcircuit Definitions
SPICE Statements
.INCLUDE
.MODEL
.MALIAS
Auto-Declaration of Models in LVS
.GLOBAL
.OPTION
.PARAM
.END
Parameters
Comments
CDL Files
Restrictions and Extensions
Using LVS in Batch Mode
Creating a Batch File
Tutorial
Creating a Verification Setup
Creating a Verification Queue
Running LVS in Batch Mode
29 LVS Output Tutorial
Introduction
Parsing Information
Parameter Matching Example
Automorph Class Example
Resolving Fragmentation of an Automorph Class
Fragmented Class Example
Resolving a Fragmented Class
Using Device Parameters to Resolve Fragmented Classes
Element Description File Example
30 Netlist Comparison
Flattened Netlists
Multiplicity Parameters
Netlist Comparison Basics
Fragmented Classes
Resolving Fragmented Classes
Automorph Classes
Resolving Automorph Classes
Preiteration Matching
Detailed Trial Matching
Parameter Matching
Permuted Classes in Digital Designs
Avoiding Permuted Classes
LVS Algorithms and Limitations
Resolving Discrepancies
31 LVS Command-Line Syntax
Running LVS from the Command Prompt
Batch-File Syntax
Running a Batch File
Options
Ignore Bulk Nodes (-b)
Consider Parameters (-cnnnn)
Maximum Value Difference (-dv n)
Maximum Geometrical Difference (-dg n)
Element Description File (-e "file")
Output File Display Options (-f[fapr])
Granularity (-%g=n)
Flattened Schematic Netlist (-h "file")
Fast Iteration (-i)
Delete Disconnected Devices (-k)
List Elements and Nodes (-l "file")
Merge Devices (-mdevice {ALL | model_list})
Merging Nonpolarized Devices
Nonpolarized Elements (-n[rcl])
Output file (-o "file")
Prematch File (-p "file")
Input SPICE Syntax (-pspice, -phspice, -hpspice)
Merge Series MOSFETs (-r {ALL | model_list})
Remove Parasitics (-s test=value)
Flattened Layout Netlist (-t "file")
Remove Device Models (-u /model1//model2//.../)
Screen Display Options(-v[fpar])
Delete Shorted Devices (-x)
Yes to All Questions (-y[12])
Short Out Device Models (-z /model1//model2//.../)
32 LVS Glossary
Section 3: User-Programmable Interface
33 Introduction to Programming the User Interface
Using Macros-The Basics
Using UPI Macros-The Basics
Format for a Compiled (.dll) Macro
Writing a Macro
Example 1: Hello World
Format Outline
Defining the Macro Module
Displaying a Message Box
Registering the Function as a Macro
Debugging Macros
Binding Macros to Hot Keys
Binding Macros to Menu Items
Checking for Cell Locks and Reservations
Example 2: Draw Box
How to compile UPI with Visual Studio 2005
Using a NON-MFC UPI macro in Microsoft Visual Studio 2005
Example 3: Layout Palette
Creating Resources
UPI_Entry_Point() Function
Displaying and Managing the Palette
Macro Definitions
Copy-Protecting Macro DLLs
Opening a Copy-Protected DLL
Creating a Copy-Protected DLL
Initiating Password Verification
Verifying the Password
Additional Support Routines
Loading a Macro
Entering Library References
UPI Include Files
Running a Macro
34 UPI Functions Reference
Function Categories
Data Relationships
Global Numerical Limits
Obsolete Functions
Interface Functions
Dialog Functions
Dialog Button Returns
LDialog_MsgBox
LDialog_MultiLineMsgBox
LDialog_AlertBox
LDialog_YesNoBox
LDialog_InputBox
LDialog_MultiLineInputBox
LDialog_PickList
LDialog_File
Cursor and Display Functions
LCursor_GetPosition
LCursor_GetPositionEx99
LCursor_GetSnappedPosition
LDisplay_Refresh
LStatusBar_SetMsg
LCell_HomeView
LCell_GetVisible
LCell_GetLastVisible
LCell_MakeVisible
LCell_MakeVisibleNoRefresh
UPI Macro Functions
LMacro_Register
LMacro_BindToHotKey
LMacro_BindToMenu
LMacro_BindToMenuAndHotKey_v9_30
LMacro_IsLoaded
LMacro_Load
LMacro_LoadEx1200
LMacro_UnLoad
LMacro_GetNewTCell
UPI Functions
LUpi_GetSerialNumber
LUPI_LogMessage
LUpi_SetQuietMode
LUpi_InQuietMode
LUpi_SetSelectionTool
LUpi_SetDrawingTool
LUpi_InsertMenuItemSeparator
LUpi_SetReturnCode
LUpi_GetReturnCode
LUpi_SetUpdateDisplayMode
LUpi_GetUpdateDisplayMode
LFormat
LFormatV
Windows Functions
LWindow_GetVisible
LWindow_GetList
LWindow_GetNext
LWindow_IsLast
LWindow_MakeVisible
LWindow_Close
LWindow_CloseAll
LWindow_EditInPlacePushIn
LWindow_EditInPlacePopOut
LWindow_EditInPlacePopToTop
LWindow_GetType
LWindow_GetFile
LWindow_GetCell
LWindow_GetEditTransform
LWindow_GetTopCell
LWindow_GetParameters
LWindow_GetWindowHandle
LWindow_NewTextWindow
LWindow_LoadTextFile
LWindow_SaveToFile
LWindow_GetText
LWindow_SetText
LWindow_GetName
LWindow_SetName
Database Functions
Application Functions
LApp_GetCacheInstances
LApp_GetCacheInstancesSmallerThanNumOfPixels
LApp_GetFillObjectsDuringDrawing
LApp_GetHideInstanceInsidesIfLessThanNumOfPixels
LApp_GetHideObjectsSmallerThanNumOfPixels
LApp_GetHideSmallInstanceInsides
LApp_GetHideSmallObjects
LApp_GetInterruptableRendering
LApp_GetRedrawAllWindows
LApp_GetVersion
LApp_GetVersionDateTime
LApp_GetFullVersion
LApp_GetShowDesignWhileRendering
LApp_GetShowDesignFirstTimeIncrement
LApp_GetShowDesignNextTimeIncrement
LApp_GetRenderingUseCPUForColorMixing
LApp_GetRenderingUseMMX
LApp_GetRenderingUsePatBltForPatterns
LApp_GetAllowSelectionOnLockedLayers
LApp_SetCacheInstances
LApp_SetCacheInstancesSmallerThanNumOfPixels
LApp_SetExportMaskDataExportHiddenObjects
LApp_SetFillObjectsDuringDrawing
LApp_SetHideInstanceInsidesIfLessThanNumOfPixels
LApp_SetHideObjectsSmallerThanNumOfPixels
LApp_SetHideSmallInstanceInsides
LApp_SetHideSmallObjects
LApp_SetInterruptableRendering
LApp_SetRedrawAllWindows
LApp_SetShowDesignWhileRendering
LApp_SetShowDesignTimeIncrement
LApp_SetRenderingUseCPUForColorMixing
LApp_SetRenderingUseMMX
LApp_SetRenderingUsePatBltForPatterns
LApp_SetAllowSelectionOnLockedLayers
LApp_ExitAfterCompletion
File Functions
LFile_New
LFile_Open
LFile_OpenCell
LFile_Save
LFile_SaveAs
LFile_Close
LFile_Find
LFile_GetList
LFile_GetNext
LFile_GetLock
LFile_SetLock
LFile_IsChanged
LFile_SetChanged
LFile_GetName
LFile_GetAuthor
LFile_SetAuthor
LFile_GetFabricationCell
LFile_SetFabricationCell
LFile_GetOrganization
LFile_SetOrganization
LFile_GetLayoutVersion
LFile_SetLayoutVersion
LFile_GetSetupVersion
LFile_SetSetupVersion
LFile_GetInfoText
LFile_SetInfoText
LFile_GetEnvironment
LFile_SetEnvironment
LFile_GetGrid
LFile_GetGridEx840
LFile_GetGrid_v10_00
LFile_SetGrid_v10_00
LFile_SetGrid
LFile_SetGridEx840
LFile_GetCurveSetup
LFile_SetCurveSetup
LFile_GetSelectionParam
LFile_SetSelectionParam
LFile_GetUserData
LFile_SetUserData
LFile_DeleteUserData
LFile_ClearUserData
LFile_DisplayCellBrowser
LFile_SetLastCurrent
LFile_GetDesignRuleFlags
LFile_SetDesignRuleFlags
LFile_GetResolvedFileName
LFile_GetVisible
LFile_IntUtoLocU
LFile_LocUtoIntU
LFile_GetDisplayUnitInfo
LFile_SetDisplayUnit
LFile_IntUtoDispU
LFile_DispUtoIntU
LFile_IntUtoMicrons
LFile_MicronsToIntU
LFile_GetCurrentLayerPalette
LFile_SetCurrentLayerPalette
LFile_GetNextLayerPalette
LFile_DefineLayerPalette
LFile_GetTopLevelLibraryName
Cell Functions
LCell_New
LCell_Delete
LCell_Copy
LCell_Find
LCell_FindEx
LCell_GetFile
LCell_GetList
LCell_GetNext
LCell_GetLock
LCell_SetLock
LCell_GetName
LCell_SetName
LCell_GetAuthor
LCell_SetAuthor
LCell_GetOrganization
LCell_SetOrganization
LCell_GetInfoText
LCell_SetInfoText
LCell_MakeLogo
LCell_GetVersion
LCell_SetVersion
LCell_GetCreatedTime
LCell_GetModifiedTime
LCell_IsChanged
LCell_GetView
LCell_SetView
LCell_GetMbb
LCell_GetMbbAll
LCell_Flatten
LCell_ClearUserData
LCell_GetUserData
LCell_SetUserData
LCell_DeleteUserData
LCell_GenerateLayersEx830
LCell_GenerateLayersEx99
LCell_GenerateLayers_v10_00
LCell_GenerateLayers_v11_10
LCell_SetChanged
LCell_RunDRC
LCell_RunDRCEx00
LCell_RunDRCEx01
LCell_RunDRCCommandFile
LCell_ClearUndoLists
LCell_GetParameter
LCell_GetTCellPreviousValue
LCell_SetShowInLists
LCell_GetShowInLists
LCell_CalcMBB
LCell_AddMarker
LCell_RemoveMarker
LCell_RemoveAllMarkers
LCell_BooleanOperation
LCell_Slice
LCell_SetBasePoint
LCell_GetBasePoint
Instance Functions
LInstance_New
LInstance_New_Ex99
LInstance_Delete
LInstance_Set
LInstance_Set_Ex99
LInstance_Find
LInstance_FindNext
LInstance_GetList
LInstance_GetNext
LInstance_GetName
LInstance_SetName
LInstance_GetCell
LInstance_GetTransform
LInstance_GetTransform_Ex99
LInstance_GetRepeatCount
LInstance_GetDelta
LInstance_GetMbb
LInstance_Generate
LInstance_GenerateV
Entity Functions
LEntity_PropertyExists
LEntity_GetPropertyType
LEntity_GetPropertyValueSize
LEntity_GetPropertyValue
LEntity_AssignProperty
LEntity_AssignBlobProperty
LEntity_DeleteProperty
LEntity_DeleteAllProperties
LEntity_CopyAllProperties
LEntity_GetFirstProperty
LEntity_GetNextProperty
LEntity_SetCurrentProperty
LEntity_BrowseProperties
LEntity_LoadBlobProperty
LEntity_SaveBlobProperty
LEntity_ReadPropertiesFromFile
LEntity_StringToValidPropertyName
LEntity_ValidPropertyNameToString
LEntity_WritePropertiesToFile
LEntity_StoreAsCompressedBlob
LEntity_DecompressBlobToFile
Object Functions
Object Functions
LObject_Delete
LObject_GetList
LObject_GetNext
LObject_Transform
LObject_Transform_Ex99
LObject_GetInstance
LObject_GetMbb
LObject_GetShape
LObject_GetGeometry
LObject_GetVertexList
LObject_Area
LObject_Perimeter
LObject_GetLayer
LObject_GetGDSIIDataType
LObject_SetGDSIIDataType
LObject_ChangeLayer
LObject_ConvertToPolygon
LObject_Copy
LObject_SnapToGrid
LObject_SnapToMfgGrid
LObject_DistanceToPoint
Vertex Functions
LVertex_GetCount
LVertex_GetArray
LVertex_GetNext
LVertex_GetPoint
LVertex_SetPoint
LVertex_Add
LVertex_Delete
LVertex_AddCurve
LVertex_GetCurve
LVertex_GetCurveEX
LVertex_GetCurveExactCenter
LVertex_HasCurve
LVertex_SetCurve
LVertex_RemoveCurve
Box Functions
LBox_New
LBox_Set
LBox_GetRect
Circle Functions
LCircle_New
LCircle_Set
LCircle_GetCenter
LCircle_GetRadius
LCircle_GetRect
Torus and Pie Functions
LPie_CreateNew
LPie_GetParams
LPie_SetParams
LTorus_CreateNew
LTorus_GetParams
LTorus_SetParams
Wire Functions
LWire_New
LWire_GetWidth
LWire_GetCapType
LWire_GetJoinType
LWire_GetMiterAngle
LWire_GetLength
LWire_GetSquares
LWire_GetResistance
LWire_SetWidth
LWire_SetJoinType
LWire_SetCapType
LWire_SetMiterAngle
Polygon Functions
LPolygon_New
LPolygon_WireToPolygon
LPolygon_CircleToPolygon
LPolygon_HasCurve
LPolygon_RemoveAllCurves
LPolygon_StraightenAllCurves
Port Functions
LPort_New
LPort_Delete
LPort_Find
LPort_FindNext
LPort_GetList
LPort_GetNext
LPort_GetText
LPort_SetText
LPort_GetTextSize
LPort_GetLayer
LPort_GetMbb
LPort_GetRect
LPort_Set
LPort_SetTextSize
LPort_GetTextAlignment
LPort_SetTextAlignment
Port Alignment Definitions
LPort_GetDefaultTextAlignment
LPort_SetDefaultTextAlignment
LLabel_New
LLabel_GetName
LLabel_SetName
LPort_New_With_Object
LPort_GetObjectsList
LPort_GetObjectsNext
LPort_AddObject
LPort_RemoveObject
LObject_GetPort
LPort_IsLegacy
LPort_DeletePortOnly
LPort_SetTerminalType
LPort_GetTerminalType
LPort_SetAccessDirection
LPort_GetAccessDirection
LPort_GetMustConnect
LPort_SetMustConnect
LPort_GetPinName
LLayer_FindLayerName
LLayer_FindPurposeName
Selection Functions
LSelection_Cut
LSelection_ConvertToCurvedPolygon
LSelection_ConnectedSegments
LSelection_Copy
LSelection_PasteToLayer
LSelection_Clear
LSelection_SelectAll
LSelection_DeselectAll
LSelection_AddObject
LSelection_RemoveObject
LSelection_GetObject
LSelection_AddAllObjectsOnLayer
LSelection_RemoveAllObjectsOnLayer
LSelection_AddAllObjectsInRect
LSelection_RemoveAllObjectsInRect
LSelection_GetList
LSelection_GetNext
LSelection_GetLayer
LSelection_ChangeLayer
LSelection_Move
LSelection_Duplicate
LSelection_Group
LSelection_UnGroup
LSelection_Flatten
LSelection_Merge
LSelection_FlipHorizontal
LSelection_FlipVertical
LSelection_SliceHorizontal
LSelection_SliceVertical
LSelection_Rotate
LSelection_RotateAroundPoint
LSelection_SnapToMfgGrid
Layer Functions
Design Layer Functions
LLayer_New
LLayer_Delete
LLayer_Find
LLayer_FindGDS
LLayer_GetList
LLayer_GetNext
LLayer_PrecedingLayer
LLayer_PrecedingLayerEx99
LLayer_GetName
LLayer_SetName
LLayer_GetParameters
LLayer_GetParametersEx830
LLayer_GetParametersEx1512
LLayer_SetParameters
LLayer_SetParametersEx830
LLayer_SetParametersEx1512
LLayer_GetCap
LLayer_SetCap
LLayer_GetRho
LLayer_SetRho
LLayer_GetCurrent
LLayer_SetCurrent
LLayer_GetSpecial
LLayer_SetSpecial
LLayer_MoveLayer
LLayer_Copy
Generated Layer Functions
LLayer_GetDerivedList
LLayer_GetDerivedNext
LLayer_IsDerived
LLayer_EnableAllDerived
LLayer_DisableAllDerived
LLayer_GetDerivedParameters
LLayer_GetDerivedParametersEx830
LLayer_SetDerivedParameters
LLayer_SetDerivedParametersEx830
LLayer_DestroyDerivedParameter
LLayer_DestroyDerivedParameterEx840
LCell_GenerateLayers
LCell_GenerateLayers_v11_10
LCell_GenerateLayers_v10_00
LCell_ClearGenerateLayers
Layer Rendering Functions
LPass_New
LPass_GetList
LPass_GetNext
LPass_GetParameters
LPass_SetParameters
LLayer_GetRenderingAttribute
LLayer_SetRenderingAttribute
LLayer_GetRenderingObjectName
LFile_GetColorPalette
LFile_GetColorPaletteNumColors
LFile_GetColorPaletteSortBy
LFile_SetColorPalette
LFile_SetColorPaletteNumColors
LFile_SetColorPaletteSortBy
Technology Setup Functions
LFile_GetTechnology
LFile_SetTechnology
LFile_SetTechnologyName
LFile_SetTechnologyUnitNum
LFile_SetTechnologyUnitDenom
LFile_SetTechnologyUnitName
LFile_SetTechnologyLambdaNum
LFile_SetTechnologyLambdaDenom
LFile_GetTechnologyEx840
LFile_SetTechnologyEx840
Color Palette Functions
LFile_GetColorPalette
LFile_GetColorPaletteNumColors
LFile_GetColorPaletteSortBy
LFile_SetColorPalette
LFile_SetColorPaletteNumColors
LFile_SetColorPaletteSortBy
Import/Export Functions
CIF Setup Functions
LFile_GetCIFParameters
LFile_SetCIFParameters
LFile_ImportCIF
GDSII Setup Functions
LFile_GetGDSParameters
LFile_SetGDSParameters
LFile_ImportGDSII
LFile_ExportGDSII
LFile_ImportTechnology_GDSLayerMap
LFile_ImportTechnology_LEF
DRC Functions
LDrcRule_Add
LDrcRule_Delete
LDrcRule_Find
LDrcRule_GetList
LDrcRule_GetNext
LDrcRule_SetRuleSet
LDrcRule_SetTolerance
LDrcRule_GetParameters
LDrcRule_SetParameters
LDRCRule_DestroyParameter
LDRC_Run
LFile_GetBinSize
LFile_SetBinSize
LFile_GetDrcFlags
LFile_SetDrcFlags
LCell_OpenDRCSummary
LCell_OpenDRCStatistics
LCell_GetDRCNumErrors
LCell_GetDRCStatus
Extract Functions
LExtract_Run
LExtract_Run_Dialog
LExtract_RunCommandFile
LCell_OpenExtractSummary
LCell_OpenExtractStatistics
LExtract_RunEx840
LExtract_GetOptions_Ex98
LExtract_GetOptionsEx840
LExtract_SetOptionsEx840
Core Functions
LCore_GetCore
LCore_GetLLHCap
LCore_SetLLHCap
LCore_GetLLVCap
LCore_SetLLVCap
Utility Functions
Point Functions
LPoint_Set
LPoint_Add
LPoint_Subtract
LPoint_Transform
LPoint_Transform_Ex99
Rectangle Functions
LRect_Set
LRect_Transform
LRect_Transform_Ex99
Transformation Functions
LTransform_Set
LTransform_Set_Ex99
LTransform_Zero
LTransform_Zero_Ex99
LTransform_Add
LTransform_Add_Ex99
LTransform_Subtract
LTransform_Subtract_Ex99
LTransform_GetInverse
Cross Section Functions
LCSV_Run
T-Cell Functions
LCell_GetParameterAsBoolean
LCell_GetParameterAsCoord
LCell_GetParameterAsCoordOnGrid
LCell_GetParameterAsDouble
LCell_GetParameterAsInt
LCell_GetParameterAsLayer
LAtoF
Data Types and Typedefs
LAmbiguousFillType
LArcDirection
LBoolean
LBooleanOperation
LCapType
LCell
LCell_GetParameterAsString
LCell_GetParameterName
LCell_GetParameterType
LCIFParam
LOverwriteCellsScopeOnImport
LColor
LCoord
LCore
LCursorType
LCurve
LDerivedLayerAreaOperation
LDerivedLayerBoolOperation
LDerivedLayerDensityOperation
LDerivedLayerParam
LDerivedLayerParamEx830
LDerivedLayerSelectOperation
LDesignRuleFlags
LDesignRuleParam
LDialogItem
LDisplayUnitInfo
LDrcFlags
LDrcRule
LDrcRuleType
LDrcStatus
LEntity
LEnvironment
LExtractOptions
LExtractOptionsEx840
LFile
LFileType
LGDSParam
LGDSParamEx
LGDSExport Scope
LGDSExportLogParams
LGeomType
LGrid
LGridEx840
LGrid_v10_00
LInstance
LJoinType
LLabel
LLayer
LLayerParam
LLayerParamEx830
LLayerParamEx1512
LLayer_GetParametersEx1512
LLayer_SetParametersEx1512
LLayerViewStatus
LLen
LMagnification
LMarker
LMarkerParam
LMarkerParam_V11
LObject
LOrientation
LOrientation_Ex99
LOutlineStyle
LOutlineUnitType
LPalette
LPass
LPassMode
LPassParam
LPassType
LPieParams
LPoint
LPort
LPropertyType
LRect
LRenderingAttribute
LRenderingAttributeIndex
LRenderingMode
LSelection
LSelectionParam
LShapeType
LSpecialLayer
LStatus
LStipple
tech_unit_type
LTCellParameterType
LTechnology
LTechnologyEx840
LTerminalType
Port Access Direction
LTorusParams
LTransform
LTransform_Ex99
LVertex
LWindow
LWindowType
LWireConfig
LWireConfigBits
LWireParam
UPIDrawingToolType
35 LComp Functions Reference
Introduction
Composition with LComp
Initializing LComp
Elements
State Variables
State Functions
LC_SetReferencePoint
LC_GetReferencePoint
LC_SetAbutmentType
LC_GetAbutmentType
LC_SetPlacementOrientation
LC_GetPlacementOrientation
LC_AddPlacementOrientation
LC_SubtractPlacementOrientation
LC_SetCompositionDirection
LC_GetCompositionDirection
LC_SetPlacementOverlap
LC_GetPlacementOverlap
LC_SetXYPlacementPosition
LC_GetXYPlacementPosition
LC_SetXPlacementPosition
LC_GetXPlacementPosition
LC_SetYPlacementPosition
LC_GetYPlacementPosition
LC_IncrementXPlacementPosition
LC_IncrementYPlacementPosition
Placement Functions
LC_Position
LC_Instance
LC_Generate
LC_Align
LC_InstanceAlign
LC_GenerateAlign
Position Functions
LC_GetPoint
LC_GetPointEX
LC_GetPlacementRect
LC_GetPlacementRectEX
LC_GetElementWidth
LC_GetElementHeight
Geometry Functions
LC_StartWire
LC_AddWirePoint
LC_EndWire
LC_CreateBox
LC_CreateCircle
LC_CreatePort
LC_StartPolygon
LC_AddPolygonPoint
LC_EndPolygon
Utility Functions
LC_Push
LC_Pop
LC_DiskFileExists
LC_DiskFileDelete
LC_DiskFileRename
LC_Lambda
LC_Microns
LC_InMicrons
LC_CellOpen
LC_CellNew
LC_CellClose
LC_CellExists
LC_PropagatePorts
LC_Trace
LC_TraceFile
LC_PlaceMarkerAtCurrentPos
Typedefs
AbutTo
CompositionDirectionType
RelativeTo
Examples
Logo Generator
Buffer
Matched Dual Capacitor Array
Decoder
36 Alphabetical List of UPI and LComp Functions
Appendix: Legacy Tools
A1 Introduction to Placement and Routing
Placement and Routing in L-Edit
Standard Cell Place and Route (SPR)
A2 Placing and Routing Standard Cells
Introduction
Required Files
SPR Process Overview
Design Tips
Core Generation and Pad Routing
Padframe Generation and Pad Routing
SPR Port Annotation
Generating a Padframe from a Netlist with Pad Cells
Generating a Padframe Without a Netlist or Without Pad Cells
Global Input Signal Routing (Clock Routing)
SPR Setup
Mapping Table
Initializing Setup
SPR Core Setup
SPR Core Setup–General
SPR Core Setup–Layers
Over-the-Cell Routing
SPR Core Setup–Design Rules
SPR Core Setup–Placement
Assigning Net Criticality
Clustering Standard Cells
SPR Core Setup–Global Signals
SPR Core Setup–Power
SPR Core Setup–I/O Signals
SPR Padframe Setup
SPR Padframe Setup–General
SPR Padframe Setup–Layout
Adding Pads
Pad Naming and Ordering
Mirroring
SPR Pad Route Setup
SPR Pad Route Setup–General
SPR Pad Route Setup–Layers
SPR Pad Route Setup–Design Rules
SPR Pad Route Setup–Core Signals
SPR Pad Route Setup–Padframe Signals
Standard Cell Place and Route
Indent Middle Rows
Placement Optimization
Optimization Factor
Output Options
Label Nodes
Nodal Capacitance Files (CAP)
Two-Layer Example
Standard Delay Format Files (SDF)
Pin-to-Pin Delay Calculation
SDF Driver Properties
Import .LIB Timing Data
Edit Pin Characteristics
References
A3 Standard Cell Library Designer’s Guide
Standard Cell Library
Standard Cells
Abutment Ports
Power Ports
Signal Ports
Row Crosser Ports
Special Standard Cells
Pad Cells
Abutment Ports
Connection Ports Between Pad Cells
Signals from Pad to Layout Core
Power Supply Pads
Corner Pad Cells
Pad Cells Without Bond Pads
Pad Orientations
Mirror Ports
Designing Cells for Global Signal Routing
Global Signal Port Definitions
Buffer Cell Input Ports
A4 Place and Route File Formats
TPR Files
Syntax
Interpretation
EDIF Files
Syntax
Interpretation: Pads
Interpretation: I/O Signals
Interpretation: Criticality
Additional Notes
References
SDF Files
Pin-to-Pin Delay Syntax
Interpretation
CAP Files
Syntax
Interpretation
B1 Netlist Extraction
Legacy Layer Generation
Legacy Layer Generation
Working with 45° Objects
Writing Out Node Names
Adding User Parameters to Extracted Devices
Legacy Extract
Setup Extract Standard Rule Set–General
Setup Extract Standard Rule Set–Output
Setup Extract Standard Rule Set–Subcircuit
Activating Subcircuit Recognition
Using Subcircuit Definitions for Hierarchical Cell Recognition
Designing Subcircuit Cells
Subcircuit Recognition Polygons
Subcircuit Connection Ports
Crossing Over a Subcircuit Instance
SPICE OUTPUT Properties
Property Tokens
Application Example
Index
Symbols
Numerics
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
Credits
End-User License Agreement