Next:
Introduction to Xic
Up:
xicmanual
Previous:
xicmanual
Index
Contents
Introduction to Xic
Xic Graphical Editor Overview
A Quick Tour of Xic Capabilities
History of Xic
General
Layout Editing
Input/Output
Design Rule Checking
Electrical Mode
Extraction
Automation
The Help System
A Quick Tour of the Xic Menus
Side Menu
File Menu
Cell Menu
Edit Menu
Modify Menu
View Menu
Attributes Menu
Convert Menu
DRC Menu
Extract Menu
User Menu
Database Overview
Cell Hierarchy Digest
Database Resolution
Starting Xic
Graphics Support and Requirements
Microsoft Windows Notes
Command Line Options
Xic Environment Variables
Xic Search Paths
Redirect Files
Initialization Files
Log Files and Error Reporting
Main Window Layout and Operations
Main Drawing Window
Prompt Line
Layer Table
Selection Control Button Group
Status Display
Coordinates Display
Keypress Buffer
Menu Selection and Accelerators
Keyboard Input
Mouse Buttons
Text Entry Windows
Selections and Clipboards
Single Line Key Bindings
The Text Editor
Text Editor Key Bindings
The WR Button: Email Client
The IT Button: Clear Current Transform
The LT Button: Restore Last Transform
Using Xic
Physical Layout Editing
Electrical Schematic Editing
Placement of Devices and Subcircuits
Semiconductor Devices
Wiring Devices and Subcircuits
Adding Properties to Devices
Creating Subcircuits
Node and Device Naming
Using Bus Connectors
Generating Output and Running Simulations
Cell Organization and Libraries
Batch Mode
Server Mode
The Response Message Format
Operation
Template (Parameterized) Cells
How Template Cells Work
Creation of a Template Cell
Adding an Instance of a Template Cell
Changing the Parameters of an Instance
Changing the Parameters of a Template-Derived Master
Cadence
TM
Compatibility
The ReadCds keyword
Display Resource File
Technology File
The ReadCdsLmap keyword
The Help Menu: Obtain Program Documentation
The Help Button: Obtain Help
The HTML Viewer
The Help Database
Help System Forms Processing
Help System Initialization File
The Multi-Window Mode Button: Set Multi-Window Help Mode
The About Button: Program and Legal Info
The Release Notes Button: View Release Notes
The Log Files Button: Access Log Files
The Side Menu: Geometry Creation
The arc Button: Create Arcs
The box Button: Create Rectangles
The break Button: Cut Objects
The deck Button: Save SPICE File
The devs Button: Device Menu
Terminal Devices
SPICE Devices
The donut Button: Create Donut Object
The erase Button: Erase or Yank Geometry
The iplot Button: Interactive Analysis Plotting
The label Button: Create/Edit Labels
Device Property Labels
Spicetext Labels
Hypertext
``Long Text'' Capability
Script Labels
Label Size Issues
Label Font File
The logo Button: Create Physical Text
The Logo Font Setup Panel
The nodmp Button: Show Node Name Mapping
The plot Button: Generate SPICE Plot
The polyg Button: Create/Edit Polygons
Polygon Vertex Editing
Wire to Polygon Conversion
The put Button: Extract From Yank Buffer
The round Button: Create Disk Object
The run Button: Run SPICE Analysis
The shapes Button: Add Predefined Features
The sides Button: Set Rounded Granularity
The spcmd Button: Execute WRspice Command
The spin Button: Rotate Objects
The style Button: Set/Change Wire Style
The subct Button: Set Subcircuit Connections
Terminal Ordering
Virtual Terminals
Bus Connectors
The symbl Button: Symbolic Representation
The terms Button: Show Subcircuit Connections
The wire Button: Create/Edit Wires
Wire Vertex Editor
The xor Button: Exclusive-OR Objects
The File Menu: Xic Input/Output
The Open Button: Open Cell or File
Input to the Open Command
Reading Input With the Open Command
Opening New Cells - Conflict Resolution
Object Tests
The File Select Button: Pop Up File Selection Panel
The File Selection Panel
The Save Button: Save Cell
The Save As Button: Save Cell, Renaming
The Print Button: Print Control Panel
Print Control Panel
The Format Menu: Hardcopy File Formats
The Files List Button: Path Files Listing Panel
Cell Hierarchy and geometry Digests
The Hierarchy Digests Button: List Cell Hierarchy Digests
The Open Cell Hierarchy Panel
The Configure Cell Hierarchy Digest Panel
The Geometry Digests Button: List Cell Geometry Digests
The Open Cell Geometry Digest Panel
The Libraries List Button: List Open Libraries
The Quit Button: Exit Xic
The Cell Menu: Xic Cell Navigation and Information
The Push Button: Push Editing Context
The Pop Button: Pop Context
The Symbol Tables Button: Switch Symbol Table
The Cells List Button: Cell Listing Panel
Cell Filtering
Cells Listing Command Buttons
Cell Flags
The Show Tree Button: Show Cell Hierarchy
The Edit Menu: Edit Layout
Cell and Object Properties
Electrical Mode Properties
Physical Mode Pseudo-Properties
The Enable Editing Button: Enable Cell Editing
The Constrain 45 Button: Constrain Angles
The Merge Boxes, Polys Button: Automatic Box/Poly Merging
The Merge, Clip Boxes Only Button: Merge/Clip Boxes Only
The Current Transform Button: Current Transform Panel
The Place Button: Cell Placement Control Panel
The Create Cell Button: Create New Cell
The Flatten Button: Flatten Hierarchy
The Join Button: Join/Split Objects
The Layer Expression Button: Evaluate Layer Expression
Examples
Extended Layer Names
Advanced Examples
The Properties Button: Property Editor Panel
The Edit Button: Edit Property
The Add Button: Add New property
The Delete Button: Delete Property
The Cell Properties Button: Edit Cell properties
The Modify Menu: Modify Geometry
The Undo Button: Undo Operation
The Redo Button: Redo Last Undo
The Delete Button: Delete Objects
The Erase Under Button: Erase Under Objects
The Move Button: Move Objects
The Copy Button: Copy Objects
The Stretch Button: Stretch Objects
The Chg Layer Button: Change Layer
The View Menu: Alter Presentation
The View Button: Select Cell View
The Physical Button: Show Physical Mode
The Electrical Button: Show Electrical Mode
The Expand Button: Expand Subcells
Peek Mode
The Zoom Button: Zoom In/Out
The Viewport Button: Create Sub-Window
The Peek Button: Show Layer Composition
The Cross Section Button: Show Cross Section
The Rulers Button: Create Rulers
The Info Button: Display Information About Objects
The Allocation Button: Show Memory Allocation
The Attributes Menu: Set Display Attributes
The Save Tech Button: Update Technology File
The Key Map Button: Assign Keys and Macros
Key Mapping
Key Mapping File
Keyboard Macros
Macro File Format
The Set Attributes Button: Set Window Attributes
The Connection Dots Button: Show Connections
The Set Cursor Button: Set Cursor Mode
The Set Font Button: Set Window Fonts
The Set Color Button: Set Colors Panel
The Set Fill Button: Fill Pattern Edit Panel
The Edit Layers Button: Edit Layer Table
The Edit Tech Params Button: Edit Layer Keywords
The Main Window Button: Attributes sub-menu
The Freeze Display Button: Suppress Redisplay
The Show Context in Push Button: Control Context Display
The Show Phys Properties Button: Show Physical-Mode Properties
The Show Labels Button: Control Label Display
The Label True Orient Button: Set Label Orientation
The Show Cell Names Button: Display Cell Names
The Cell Name True Orient Button: Set Cell Name Orientation
The Don't Show Unexpanded Button: Don't Show Unexpanded Subcells
The Objects Shown Button: Object Display menu
The Subthreshold Boxes Button: Outline Tiny Subcells
The No Top Symbolic Button: Enforce Schematic View
The Set Grid Button: Set Grid Parameters
The Convert Menu: Data Format Conversion
Feature Availability Table
Cell Name Mapping
Cell Name Alias File
Layer Names
Layer Filtering and Aliasing
GDSII Layer Mapping
Reference Cells
The Set Export Params Button: Set Export Parameters Panel
Format-Independent Settings
GDSII Settings
OASIS Settings
CIF Settings
CGX Output
The Cell Table Listing Panel: Set Override Cells
The Advanced OASIS Export Parameters Panel: Set OASIS Parameters
The Write Layout File Button: Write Layout File Panel
The Set Import Params Button: Set Import Parameters Panel
The Read Layout File Button: Read Layout File Panel
Windowing Control Module
The Convert Button: Conversion Panel
Generating ASCII Output from Layout Data
The Assemble Button: Layout File Merge Tool Panel
Overview
The Source Page
Layer Filtering Module
Scaling
Cell Name Modification
Top-Level Cells List
Basic Transformations
Advanced Operations
Merge Tool Menus
The File Menu
The Options Menu
The Help Menu
The Cut and Export Button: Export Cell Region
The Compare Layouts Button: Find Differences
Comparison Mode Pages
Property List Comparison
Custom Property Filtering
The Text Editor Button: Edit Cell Text
The Edit Tech Params Button: Edit Conversion Parameters
The DRC Menu: Design Rule Checking
Layer Expressions
Built-In Design Rules
Global Rules
Area Rules
Edge Rules
User-Defined Design Rules
Assigning Design Rules
The Clear Errors Button: Clear Error List
The Set Defaults Button: Set Default Limits
The Set Flags Button: Set Skip Flags
The Enable Interactive Button: Set Interactive Checking
The No Pop Up Errors Button: Suppress Error Report
The Check In Foreground Button: Check Region or Cell
The Check In Background Button: Initiate Check in Background
The Check In Region Button: Check Objects
The Query Errors Button: Print Error Text
The Dump Error File Button: Save Errors to File
The Update Highltghting Button: Create Highlighting from File
The Show Errors Button: Show Next Error
The Create Layer Button: Create Error Region Layer
The Edit Rules Button: Rule Editor Panel
The Design Rule Parameters Panel
The Extract Menu: Extraction and Verification
Extraction Setup and Configuration
Attribute Keywords
Layer Block Keywords
Device Blocks
Format Library File
Extraction Methodology and Overview
The Extraction View Button: Display Extraction Layers
The Show Groups Button: Show Conductor Groups
The Show Nodes Button: Show Node Numbers
The Show Terminals Button: Show All Terminals
The Net Selections Button: Path Selection Control Panel
Resistance Measurement
The Device Selections Button: Show/Select Devices
The Device Extraction Settings Panel
The Edit Terminals Button: Place Connection Terminal
The Find Terminals Button: Locate Terminal
The Source SPICE Button: Update From SPICE File
The Source Physical Button: Update Electrical From Physical
The Dump Phys Netlist Button: Dump Physical Netlist
The Dump Elec Netlist Button: Dump Electrical Netlist
The Dump LVS Button: Test Layout vs. Schematic
Parameterization Limitation
Using the NoPhys Property
LVS Output File Format
The Extract RLC Button: Extract Parameters
The FastCap/FastHenry Interface
The RLC Extraction Panel
The Misc Config Button: Misc. Extraction Settings
The Edit Tech Params Button: Set Parameters
The User Menu: User Commands and Xic Scripts
Script Menus: User-Defined Sub-Menus
Script Libraries: Code Sharing
Encrypted Scripts
The Debug Button: Enter Script Debugger
The Rehash Button: Rebuild User menu
Supplied Example Scripts
The Xic Scripting Language
The Macro Preprocessor
Predefined Macros
Generic Macro Keywords
Introduction to Xic Scripts
The Scripting Language
Error Reporting
Data Types
Scalars
Strings
Arrays
Handles
Zoidlists
Lexpers
Math Operators
Operator Overloading
Control Structures
delete
return
if, elif, else
ternary conditional
repeat
while
dowhile
break
continue
goto, label
``Preprocessor'' Directives
Math Functions
User-Defined Functions
The exec Keyword -- Immediate Execution
Static and Global Variables
Predefined Constants
HTML Forms and Scripts
Introduction to HTML Forms
Interfacing Forms to Xic Scripts
The Tcl/Tk Interface
Example Script
Keyboard `!' Commands
Compression
The !gzip Command: Compress Files
The !gunzip Command: Uncompress Files
Create Output
The !sa Command: Save Cells
The !sqdump Command: Save Selections as Native Cell
The !assemble Command: Merge Archives
The !splwrite Command: Split an Archive
Current Directory
The !cd Command: Change Directory
The !pwd Command: Print Directory
Diagnostics
The !time Command: Show Elapsed Time
The !timedbg Command: Show Internal Run Times
The !xdepth Command: Show Transform Depth
The !bincnt Command: Database Object Allocation
Design Rule Checking
The !showz Command: Show DRC Test Areas
The !errs Command: Regenerate DRC Error Highlighting
The !errlayer Command: Create Error Polygons
Electrical
The !calc Command: Calculate Parameter Expression
The !check Command: Database Consistency Check
The !regen Command: Regenerate Labels
The !devkeys Command: Print Device keys
The !sced2xic Command: Convert Old Format
Extraction
The !antenna Command: Check MOS Antenna Effect
The !netext Command: Batch Physical Net Extraction
The !addcells Command: Add Missing Cells
The !find Command: Find Devices
The !ptrms Command: Default Terminal Locations
The !ushow Command: Show Unassociated Elements
The !fx Command: Control FastCap/FastHenry Interface
The !fxcell Command: Create Cell From RLC Extraction Interface
Graphics
The !setcolor Command: Set Attribute Colors
The !display Command: Export Rendering
Grid
The !sg Command: Save Grid in Register
The !rg Command: Set Grid From Register
Help
The !help Command: Help Interface
The !helpfont Command: Set Help Font
The !helpfixed Command: Set Help Fixed Font
The !helpreset Command: Clear Help Cache
Layers
The !ltab Command: Modify Layer Table
The !ltsort Command: Alphanumerically Sort Layer Table
Layout Editing
The !array Command: Manipulate Instance Arrays
The !layer Command: Generate Layers
The !mo Command: Move Objects
The !co Command: Copy Objects
The !ro Command: Rotate Objects
The !rename Command: Rename Cells
The !cont Command: Read Contents of Native Cell
The !svq Command: Save Selections in Register
The !rcq Command: Recall Selections from Register
The !box2poly Command: Object Type Conversion
The !path2poly Command: Outline to Polygon Conversion
The !poly2path Command: Polygon to Outline Conversion
The !bloat Command: Expand Objects
The !join Command: Join Adjacent Objects
The !split Command: Atomize Objects
The !manh Command: Convert to Manhattan Polygons
The !polyrev Command: Reverse Polygon Winding
The !noacute Command: Eliminate Acute Angles
The !togrid Command: Move To Grid
The !tospot Command: Modify for Spot Size
The !origin Command: Move Cell Origin
The !import Command: Import Cell Data
Layout Information
The !fileinfo Command: Show File Statistics
The !summary Command: Print Hierarchy Info
The !compare Command: Compare Hierarchies
The !diffcells Command: Create Cells from Comparisons
The !empties Command: Check for Empty Cells
The !area Command: Measure Layer Area
The !perim Command: Measure Object Perimeter
The !bb Command: Print Bounding Box
The !checkgrid Command: Mark Off-Grid Vertices
The !checkover Command: Report Subcell Overlap
The !dups Command: Select Coincident Objects
The !wirecheck Command: Check Wires
The !polycheck Command: Check Polygons
The !polymanh Command: Select Manhattan Polygon
The !polyfix Command: Fix Polygon
The !polynum Command: Number Vertices
The !setflag Command: Set Internal Cell Flags
Libraries and Databases
The !mklib Command: Create Library File
The !lsdb Command: List Special Databases
Marks
The !mark Command: Create User Marks
Memory Management
The !clearall Command: Clear All Memory
The !vmem Command: Windows Virtual Memory Info
The !mmstats Command: Show Memory Manager Statistics
The !mmrecycle Command: Set/Clear Recycle Mode
The !mmclear Command: Clear Recycle Free Lists
Rulers
The !dr Command: Delete Rulers
Scripts
The !script Command: Add Script
The !exec Command: Execute a Script
The !lisp Command: Execute Lisp Script
The !tk Command: Execute Tcl/Tk Script
The !listfuncs Command: List Saved Functions
The !rehash Command: Rebuild User Menu
The !rmfunc Command: Remove Saved Function
Selections
The !select Command: Select Objects
The !desel Command: Deselect Objects
The !zs Command: Zoom to Selected Objects
Shell
The !shell Command: Pop Up Terminal Window
The !ssh Command: Connect to Remote System
Technology File
The !dumpcds Command: Create Virtuoso
TM
Startup Files
Update Release
The !update Command: Download/Install Update
The !passwd Command: Cerate Password File
Variables
The !set Command: Set Variables
The !unset Command: Unset Variables
The !setdump Command: Dump Variables
WRspice Interface
The !spcmd Command: Run WRspice Command
File Formats
Technology File
Technology File Comments
Technology File Macros
Technology File Global Variables
Technology File Path Definitions
Technology File Scripts
Technology File Layer Blocks
Technology File Attributes
Hardcopy Driver Parameters
Resource File
Design Data File Formats
GDSII Format and Extensions
The CIF File Format
CIF Format Extensions
Native Cell File Format
Computer Graphics Exchange (CGX) Format
OASIS Format
OASIS Support in Xic
OASIS Interface Notes and Limitations
Library Files
Example Library File
Device Library File
Device Library Global Properties
Device Library Aliases
Device Library Devices
Editing Devices
Model Library Files
MOS Model Spatial Binning
Help Database Files
Anchor Text
Property Specifications
Global Properties
Special Properties
Physical Mode Properties
Device Properties Set By Xic
Bus Node Property: Property number 9
Node Property: Property number 10
Name Property: Property Number 11
Labloc Property: Property Number 12
Old Mutual Property: Property Number 13
Mutual Property: Property Number 14
Branch Property: Property Number 15
Labrf Property: Property Number 16
Mutlrf Property: Property Number 17
Symbolic Property: Property Number 18
Nodemap Property: Property Number 19
Device Properties Set By User
Model Property: Property Number 1
Value Property: Property Number 2
Parameter Property: Property Number 3
Other Property: Property Number 4
NoPhys Property: Property Number 5
Virtual Property: Property Number 6
Special Escapes
Xic Variables
Special Constructs
Database
Paths and Directories
General Visual
Keyboard `!' Commands
Scripts
Selections
Side Menu Commands
SPICE Interface
File Menu -- Printing
Cell Menu Commands
Edit/Modify Menu Commands
View Menu Commands
Attribute Menu Commands
Convert Menu -- General
Convert Menu -- Input and ASCII Output
Convert Menu -- Output
Custom Property Filtering
Extraction Menu Commands
FastCap/FastHenry Interface
Help System
Interface Functions
Main Functions 1
Current Cell
Cell Info
Database
Symbol Tables
Display
Exit
Annotation
Ghost Rendering
Graphics
Hard Copy
Libraries
Mode
Prompt Line
Scripts
Technology File
Variables
Xic Version
Main Functions 2
Arrays
Bitwise Logic
Error Reporting
Generic Handle Functions
Memory Management
Script Variables
Path Manipulation and Query
Regular Expressions
String List Handles
String Manipulation and Conversion
Current Directory
Date and Time
File System Interface
Socket and Xic Client/Server Interface
System Command Interface
Menu Buttons
Mouse Input
Graphical Input
Text Input
Text Output
Main Functions 3
Grid
Layers
Selections
Pseudo-Flat Generator
Geometry Measurement
Layout File Input/Output Functions
Layer Aliasing
Cell Name Mapping
Cell Table
Windowing and Flattening
Scale Factor
Export Flags
Import Flags
layout File Format Conversion
Export Layout File
Cell Hierarchy Digest
Cell Geometry Digest
Assembly Stream
Geometry Editing Functions 1
General Editing
Cells
Current Transform
Object Management by Handles
Geometry Editing Functions 2
Clipping Functions
Other Object Management Functions
Property Management by Handles
Other Property Management Functions
Computational Geometry and Layer Expressions
Trapezoid Lists and Layer Expressions
Operations
Spatial Parameter Tables
Polymorphic Flat Database
Named String Tables
Design Rule Checking Functions
DRC
Extraction Functions
Menu Commands
Terminals
Physical Conductor Groups
Physical Devices
Physical Subcircuits
Electrical Devices
Resistance/Inductance Extraction
Layers
Schematic Editor Functions
Symbolic Mode
Electrical Nodes
Symbolic Mode
The FileTool Utility
Introduction
Command Line Options
FileTool: Setting Variables
FileTool: Assemble Script File Evaluation
FileTool: Obtaining File Information
FileTool: ASCII Text Representation of Layout Files
FileTool: Layout File Comparison
FileTool: Layout File Splitting
FileTool: CHD File Generation
FileTool: Layout File Merging and Translation
Index
Stephen R. Whiteley 2012-04-01