Professional Documents
Culture Documents
Laker UDD 301v4 Training
Laker UDD 301v4 Training
Date:
Date: May
May 20,
20, 2005
2005
UDD Editor Agenda
Overview
UDD Editor Introduction
Shape Creation Tips
Case Study
Confidential
Edge based
Edge-Based Constraint
Rule Finder
Rule Checker
Preview
Shape Creation Tips
TCL Programming tips
Layout window
Procedure list window
Confidential
Procedure content
Preview window
window
Constrain Shapes
Confidential
Pass
Done
7 2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
UDD Editor Introduction
Edge-Based Constraint
Rule Finder
Rule Checker
Preview
Shape Creation Tips
TCL Programming tips
Valid Objects
¾ Manhattan Shapes
• Rectangle
• Polygon
¾ Instances
Confidential
• Distance Relationship
Modification
• Stretch
If the distance rule applies inside shapes
• Move
Confidential
Move
Stretch (Rule Inside)
Overview
Operation Flow
Constraint Evaluation
Edge-Based Constraint
Confidential
Rule Finder
Rule Checker
Preview
Shape Creation Tips
TCL Programming tips
Procedure Fill
script
Boolean
Preview
Operation
script Rule Finder
Report Rule Check
Distance
Return Value Cut Corner
Remove
Laker will follow the sequence below to realize the UDD design
1. Procedure Script
2. Distance/Align/Attribute (Geometry Related)
1. Iterate to evaluate all shapes until the shapes can meet the
Confidential
Manipulation
¾ Click right on Procedure Name and choose the action
• Rename
• Delete
Confidential
Button
Purpose
¾ Define the global variable
Confidential
Operation steps
¾ Click Add button to append a new blank line
¾ Click to choose parameter type
¾ Click and enter the parameter name and value
¾ Click on Avail field to toggle the parameter on/off
¾ Click Delete button to remove the highlighted parameter
¾ Click Expr button to specify a complete expression in TCL format
¾ Click Apply button to commit the change
Example
L1 L2
Confidential
(Global Variable)
>With Parameter,set L L1 $L
L2 $L L 1
Parameter Types
¾ string – an string or an equation
¾ Int – Integer
¾ float – floating point number
¾ Boolean – TURE/FALSE
Confidential
Limitation
¾ The parameter with expression value must be defined as type:
string and the Avail flag can not be on
Purpose
¾ Help user easily write the expression with predefine
parameters, expression, operators or functions
Confidential
Function description
¾ Restore the default value
• Click Reset button
¾ Clean the content
• Double click on expression field to select all
Confidential
Button
Purpose
¾ Apply distance rule between two edges
¾ Limitation
• It only applies on Manhattan shapes
Confidential
Operation steps
¾ Click Distance button
¾ Specify a unique name
¾ Click OK button to add a Distance procedure
¾ Click Add button to append a blank line
• Click-left on desired two edges in the same direction
• Enter the desired constraint name and press Enter
¾ Click Apply button to commit the change
Action
¾ Define distance rule
• Click Add button to add a blank line
• Click on the first edge ( 1 )
• Click on the second edge ( 2 )
Confidential
0 1 2 3
4 5
Operation steps
¾ Click the option: Modify Selected Edges
¾ Ctrl+click to deselect the edge.
¾ Shift+click to add new edge.
¾ Click Apply button to commit the change
Confidential
Button
Purpose
¾ Align the selected edges to the reference edge
Operation steps
Confidential
Operation steps
¾ Select Mode: Group or Seperate Active Reference
¾ Select Direction: Horizontal or Vertical
¾ Click Add button to append a blank line
• Click on desired edge as active edge
Confidential
Space
Confidential
Seprate
Group Space
No Move
No Move
<2>Align W=3
Reference
W=3 No Move
Active
Operation steps
¾ Click the checkbox : Modify Selected Edges
Confidential
Operation steps
¾ Click the option: Modify Selected Edges
Confidential
Purpose
¾ Easy way to align active edge of shapes to the reference
edge with one hierarchy deeper in UDD
Operation steps
¾ Click on desired edge of shape as active edge
Confidential
Hierarchical Align
Confidential
Button
Purpose
¾ Propagate parameter value to UDD
¾ Define shapes property
Confidential
Operation steps
¾ Click Attribute button
¾ Select desired object (shape/instance)
¾ Click on Input Parameter field of attribute name
¾ Modify the value of attribute
• Can be an expression or parameter name
¾ Click Apply button to commit the change
Attribute list
¾ For shape object
• Object Type (None, Stretchable, Solid, Isolable)
• Layer
Confidential
¾ For Label
• Object type (Solid only)
• String
• Layer
• Height
• Justification
• Mirror/Roration
Object type
¾ Stretchable (Default)
• The edges of the shape is stretchable
¾ Solid
• The shape is fixed even though there are some align or
Confidential
a
Distance constraint
a=16
Attribute list
¾ For instance object
• Object Type (Solid)
• Library Name
• Cell Name
Confidential
• Columns
• Rows
• X Pitch
• Y Pitch
• Y Pitch
• Device related parameter listsCoLayer,Cow is the parameters of UDD “co_cell”
Propagate parameter
values to UDD
or
• Click Expr button and write complex expression
1 2 3
Confidential
Purpose
¾ Assign incremental value to parameter for UDD
¾ Realize hierachical UDD with Do-Loop
Operation steps
Confidential
¾ Click Attribute button
¾ Select desired object (shape/instance)
¾ Click on Step Setting table
¾ Click on Input Parameter field
¾ Assign the step value of parameter
¾ Click Apply button to commit the change
Note: Only one of the parameters can be assigned the step value
Button
Purpose
¾ Duplicate selected objects with Rows/Columns and X/Y Pitch
Procedure
¾ Click Copy button
Confidential
If the option is not on, the original objects will overlap with the
result objects.
54 2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
Fill Constraint
Button
Purpose
¾ Fill the specific region with array
structure according to
• X Pitch, Y Pitch, left/right/top/bottom
Confidential
enclosure
Operation steps
¾ Click Fill button
¾ Specify an unique name
¾ Click OK button to add a Fill procedure
¾ Choose object for fill-in
• Instance
• Selected P-Device or UDD
Fill scheme
¾ Find out the valid fill region by following the constraints of
Top/Bottom/Left/Right Enclosure.
¾ Fill the bounding box of the shapes with selected object by
honoring the justification constraint.
Confidential
Left enclosure
Right enclosure
Bottom enclosure
Operation steps
¾ Disable the option: Use Existing Setting
¾ Click the radiobutton: By Lib/Cell in Fill Instance frame
¾ Click Browse button to find the cell for filling
Confidential
Operation steps
¾ Check the option: Change Selection and Fill Region
¾ Select shapes which you want to fill the instance into
¾ Select the Fill Type as Contact or Guard Ring
¾ Enter the setting for Row/Column/X Pitch/Y Pitch,
Confidential
Fill Region
Operation flow
¾ Modify the values in Instance Setting frame
¾ Change Fill Region
• Check the option: Change Selection
• Check the option: Fill Region
Confidential
• Select shape
– Shift+click to add new shape
– Ctrl+click to remove shape
• Click Apply to commit the change
¾ Change Fill Object
• Check the option: Change Selection
• Check the option: Fill Object
• Select instance/UDD/shapes
– Shift+click to add new instance
– Ctrl+click to remove instance
• Click Apply to commit the change
UpperLeft UpperRight
Confidential
LowerLeft LowerRight
Difference
Guarding Contact
Distributed
Non-Distributed
<2> OR: A B
<3>AND: A B
Confidential
<4>NOT:
A B
Parameter
Fix Layer
Result
Layer
Confidential
Variable
Layer
For NOT
Button
Purpose
¾ Generate new shapes from selected objects with
Boolean operator SIZE, OR, AND, NOT, GROW, SHRINK,
and SIZE4DIR
Confidential
Operation steps
¾ Click on Type field and choose SIZE operator
¾ Check the option: Modify Selected Shape
¾ Select desired shapes
¾ Click Apply button to commit the selected shapes
Confidential
Operator: SIZE
Confidential
Operation steps
¾ Click on Type field and choose OR operator
¾ Check the option: Modify Selected Shape
¾ Select desired shapes
¾ Click Apply button to commit the selected shapes
Confidential
Operator: OR
Confidential
Operation steps
¾ Click on Type field and choose AND or NOT operator
¾ Check the option: Modify Selected Shape
¾ Check the radiobutton: 1st Select Set
¾ Click desired shape
Confidential
Operator: AND
Confidential
Operator: NOT
Confidential
Operation steps
¾ Click on Type field and choose GROW or SHRINK operator
¾ Check the option: Modify Selected Shape
¾ Click desired shape
• Shift+click to add extra shape, Ctrl+click to remove selected
Confidential
shape
¾ Click on Name field and specify the constraint name
¾ Select the GROW/SHRINK enclosure rules
• Can be variable
• Always positive values
¾ Select the result layer in Result frame
• Select the radiobutton: Physical Layer and specify a fixed
layer
• Select the radiobutton: Layer Parameter and specify a layer
type parameter if the result layer must be changeable
76 ¾ Click Apply button to commit the change
2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
Boolean Constraint – Example
Operator: GROW
Confidential
Operator: SHRINK
Confidential
Operation steps
¾ Click on Type field and choose SIZE4DIR operator
¾ Check the option: Modify Selected Shape
¾ Click desired shape
• Shift+click to add extra shape, Ctrl+click to remove selected
Confidential
shape
¾ Click on Name field and specify the constraint name
¾ Select the GROW/SHRINK enclosure rules
• Can be variable
• Can be positive or negative values
¾ Select the result layer in Result frame
• Select the radiobutton: Physical Layer and specify a fixed
layer
• Select the radiobutton: Layer Parameter and specify a layer
type parameter if the result layer must be changeable
¾ Click Apply button to commit the change
79 2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
Boolean Constraint – Example
Operator: SIZE4DIR
Confidential
Operation steps
¾ Check the option: Modify Select Shape
¾ Check the radiobutton: 1st Select Set or 2nd Select Set
dependent the Boolean operator
¾ Shift+click to add shape
Confidential
Button
Purpose
¾ Generate 45 degree shape by using Cut Corner function
Operation Steps
Confidential
Cut Length
Confidential
2
1
Button
Purpose
¾ Remove objects from the evaluated result
Operation steps
Confidential
Button
Purpose
¾ Import a Tcl file that includes the necessary
subroutines for this UDD cell
Operation steps
Confidential
¾ Click Procedure Script button
¾ Check the radiobutton: Import
¾ Click Browse button to choose the desired Tcl script or
directly enter the file name
¾ Click OK button to load the Tcl script
Button
Purpose
¾ Define the Tcl-based commands to perform specific
tasks that cann’t be done by existing procedures
Operation steps
Confidential
¾ Click Operation Script button
¾ Check the radiobutton: Import
¾ Click Browse button to choose the desired Tcl script or
directly enter the file name
¾ Click OK button to load the Tcl script
and editing
¾ Click Save button to save into disk
¾ Click Close button to close this editor
Button
Purpose
¾ Define the variable to report the space between two
edges
Operation steps
Confidential
¾ Click Reported Distance button
¾ Specify an unique name
¾ Click OK button to add a Reported Distance procedure
¾ Click Add button to append a blank distance constraint
• Click on the desired two edges
• Enter the desired constraint name
¾ Click Apply button to commit the change
¾ Click Save button to write to disk
Button
Purpose
¾ Define the variable to report the calculated value for the
test line documentation
Operation flow
Confidential
¾ Click Return Value button
¾ Click Add button to append a blank parameter name
• Enter the desired constraint name
• Write the expression
¾ Click Apply button to commit the change
Note:
The values of the Return Value parameter can be verified by
pressing
F3 on Preview window
95 2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
Reported Distance Constraint – Example
Report_w =3
Confidential
W=2
Report_w =5
W=4
W
Confidential
CA_Col=7
CA_Num=($W-$CW-2*$OD_CA_Enc)/($CW+$CS)+1=7.5
CA_Col=int($CA_Num)=7
Button
Purpose
¾ Report the ambiguous constraints, typo or undefined
parameters
Operation steps
Confidential
¾ Click Check button
• Popup report form to list all over constraint problems
• Keep silent if there is no warning or fatal errors
¾ Click on the problem in the dialog box
The related edges and rule name will be highlighted in
layout window
¾ Click rule name in layout window to view the constraint
¾ Verify the problem and fix it if necessary
Button
Purpose
¾ Report the detail constraints on selected shape
Procedure
Confidential
Button
Purpose
¾ Evaluate the UDD and show the final layout pattern
Operation steps
Confidential
2.Modify
the
values
Confidential
1.Press F3 here to
popup
the preview form
Operation steps
¾ Press bindkey ‘d’ to enter the Preview Distance mode
¾ Click on desired edge to set as reference edge
¾ Move mouse cursor on interested edge
• The distance information shows in yellow tip
Confidential
Purpose
¾ Search the constraint setting by giving keyword
Operation steps
¾ Select menu: UDDÆParameterÆFind
Confidential
Purpose
¾ Replace as certain string by giving keyword for searching
Operation steps
¾ Select menu: UDDÆParameterÆReplace
¾ Enter the keyword in Find field
Confidential
Purpose
¾ Use the existing layout without recreating
Operation steps
¾ Select menu: CellÆImportÆLayout
Confidential
Purpose
¾ Import the parameters defined in existing UDD cell
Operation steps
¾ Select menu: CellÆImportÆParameter
Confidential
Purpose
¾ Synchronize the instance contents of hierarchical UDD
contents with updated UDD cell
Operation steps
¾ Close all the desgin to close the library
Confidential
¾ The copied objects don’t inherit the rules from the source
objects
¾ The copied objects inherit the attribute constraints
Trade-off
¾ Try Align or Distance constraint on edges to get desired
result
Attach label on shape/instance
¾ The easiest way to get the object ids for the selected
shapes or instance with the label name
• Used for Tcl programming in Operation Script constraint
114 ¾ The label name must be unique in this UDD
2005/5/20 © 2004, Silicon Canvas, Inc.
Duplication, reuse or transfer of ownership requires advance written authorization
Define Connection Port Information
Purpose
¾ Define the connection ports for a UDD cell
Operation steps
¾ Select menu: CreateÆPin
Confidential
Example
Confidential
Purpose
¾ Provide the detail constraint report in ASCII format
Operation steps
¾ Select CellÆSummary
Confidential
body
¾ The file size of Procedure Script can’t exceed 64k bytes
¾ The file size of Operation Script can’t exceed 64k bytes
(limited by Laker database)
Don’t use the Tcl command: source to load other
Tcl scripts
¾ Hard to deliver the library
• Might lost some files
Purpose
¾ Duplicate shapes
Syntax
dbUDDCOPY –figs FigList –cols XCnt –rows YCnt –colSpace
XPitch –rowSpace Ypitch
Confidential
Argument
¾ -figs FigIdList Fig id list of objects
¾ -cols/rows X/Y repeat count
¾ -colSpace/-rowSpace X/Y pitch value
Returned value
FigIdList
Example
set copyObjs [dbUDDCopy –cv $dbParameterizedCell \
-figs $contObjs –rows 10 –cols 20 \
-colSpace 3 –rowSpace 2
Confidential
Purpose
¾ Fill a specific area with giving cell
Syntax
dbUDDFill –cv cvId –figs FigList –lib libName -cell cellName
-colSpace XPitch –rowSpace Ypitch –leftEnc leftEnc
-rightEnc rightEnc –topEnc topEnc –bottomEnc bottomEnc
Confidential
Argument
-method [contact|guardring]
Fill-in scheme (default = contact)
-justify justification Justification.
The value can be
Confidential
[Upper/Center/Lower][Left/Center/Right]
(default = CenterCenter)
-magni magnification Size. (default = 1.0)
-orient orientation (default = R0)
Returned value
FigIdList
Example
set fillObjs [dbUDDFill –cv $dbParameterizedCell \
-figs $actRegion –lib Test –cell cont08 \
-colSpace 3 –rowSpace 2 –leftEnc 0.5 \
-rightnc 0.5 -topEnc 0.5 –bottomEnc 0.5 \
Confidential
-mode contact]
Purpose
¾ Do the Boolean operation
Syntax
dbUDDBool –cv cvId –action [AND|OR|NOT|SIZE] –outputLayer
layer1
–opnd1 FigList1 –opnd2 FigList2
Confidential
Example
set boolObjs1 [dbUDDBool –cv $dbParameterizedCell \
-action SIZE –outputLayer MET1 \
-opnd1 $figList1 –opnd2 $figList2 \
-sizeValue 0.5]
Confidential
Purpose
¾ Delete the specific evaluated shapes
Syntax
dbUDDDelete –figs FigList
Confidential
Argument
-figs FigIdList Fig id list of objects
Example
set fillObjs [dbUDDFill –cv $dbParameterizedCell \
-figs $actRegion –lib Test –cell cont08 \
-XPitch 3 –YPitch 2 –LEncl 0.5 –REncl 0.5 \
-TEncl 0.5 –BEncl 0.5]
Confidential
Purpose
¾ Understand how to create a UDD
Steps
¾ Create a new device
Confidential
Result
Confidential
Steps
¾ Open existing UDD
• Select File -> Open in Laker main window
– Select library demo
– Select test structure cell meander
Confidential
– Click OK button
¾ Save design
• Select Cell ->Save
• Select Cell ->Save As
¾ Close UDD window
• Select Cell ->Close
Result
Confidential
Purpose
¾ Reuse the existing layout for UDD creation
Steps
¾ Select Cell -> Import on UDD window
Confidential
Result
Confidential
Purpose
¾ Define parameters for structure creation
Steps
¾ Click Parameter button
Confidential
Purpose
¾ Apply the distance rules on the specific edges
Steps
¾ Click Distance button
Confidential
Purpose
¾ Apply the Align rules on the specific edges and see the
difference between Distance and Align procedures
Steps
¾ Click Align button
Confidential
Purpose
¾ Define the Copy scheme on the selected shapes
Steps
¾ Click Copy button
Confidential
Purpose
¾ Define the Fill scheme on the selected shape and fill
with an instance
Steps
¾ Click Fill button
Confidential
Purpose
¾ Apply the Boolean operation on selected shapes
Steps
¾ Click Boolean button
Confidential
Coh 1
Cow 2
Confidential
$Coh=w1
$Cow=w2 Coh 2
Cow 1
Æ OK
<5>
Parameter
Add Apply
Confidential
<7>
Distance
<8> Distance:
Add
<10>
No Warning
Confidential
No Error
<11>
Layout
Window
Preview
Preview
Window
<14> Æ Apply
<15>Preview
<16>Redo <13> ~<15>
for test Coh
<17> Save Cow
<18> Save as co_cell
<19> End #
Measure Distance
<5>End #
Draw three
new shape
Confidential
<3> Preview
Mov
Mov e
<4> End #
e
Mov
e
<3> Preview
<4> End #
<3>
Align
Confidential
<4> Setup
Add
<6> Preview
Confidential
No Move
<9>End#
<4>
Attribute
<6> Æ F3
<7>Set to MET1
Change to MET1
<9> Save
<10> End#
<3>Create Parameter
Confidential
<8>Preview
Confidential
<9> Æ F3
<10>Set :
Row=2
Col=3
Confidential
Xpitch=2
Ypitch=4
<11>Preview
<12>End #
<8> Preview
<9> Test
<10>End #
<4> Preview
<5>End#
..
.
MOS_L
MOS_W
Proc List
Dis2
Dis2
Confidential
OD_W1
L1
W1
OD_W2
1
2 2
1
Confidential
3
4
5
6 11
7
8
9
10
11 12
12
13
14
5a 3
Confidential
8 6
13 14
7
9
5b
10
4
Fill Region
Confidential
Fill Object