Hi,
I'm using SKILL code as below to generate a Pcell symbol (i.e. number of symbol terminals depend on CDF parameter).
However, every time when I load these code in CIW (i.e. IC615) into a library which attached to cdsDefaultTechLib, it will complain below warnings:
*WARNING* (DB-270000): dbiSetCellViewDBUPerUU: The DBUPerUU attribute for viewType 'schematicSymbol' cannot be set to 1000 because it would introduce conflicts in the specified tech graph
*WARNING* (DB-270000): dbSetCellViewUserUnitName: The UserUnits attribute for viewType 'schematicSymbol' cannot be set to 'micron' because it would introduce conflicts in the specified tech graph
The generated symbol seems to have incorrect size and scaling. Anyone knows how to workaround this?
=================================================================================
pcDefinePCell(
; target cellView
list(ddGetObj("test") "myparsubckt" "symbol" "schematicSymbol")
; formal parameters
(
(padNum 1)
)
let((dY justify1 labelId netId
rectId s
xEnd xLabel2 xLoc yLoc sc
h xShape yShape
)
pcCellView~>DBUPerUU=1000.0
pcCellView~>userUnits="micron"
sc = 0.16
h = padNum
dY = (h - 1) * 0.125
xLoc = 0.625
;----------------------------------------------------------------
; Create outline
;----------------------------------------------------------------
dbCreateRect(pcCellView
'("device" "drawing")
list(0.125 * sc:-0.135 * sc
0.5 * sc:(0.17 + dY) * sc
)
)
dbCreateRect(pcCellView
'("instance" "drawing")
list(0 * sc:-0.25 * sc
xLoc * sc:(0.17 + dY) * sc
)
)
;----------------------------------------------------------------
; Labels
;----------------------------------------------------------------
sprintf(s "Parasitic Network")
dbCreateLabel(pcCellView
'("pin" "label")
0.3125 * sc:(0.12 + dY) * sc s "centerCenter"
"R0" "stick"
0.05 * sc
)
labelId = dbCreateLabel(pcCellView
'("annotate" "drawing7")
xLoc * sc:(0.2275 + dY) * sc "cdsName()" "upperRight"
"R0" "stick"
0.05 * sc
)
labelId~>labelType="ILLabel"
;----------------------------------------------------------------
; Pins
;----------------------------------------------------------------
for(i 1 padNum
yLoc = (h - i) * 0.125
xLoc = 0
xEnd = 0.155
justify1 = "lowerRight"
xLabel2 = 0.15625
xShape = 0.15625
yShape = ((h - i) * 0.125)
dbCreateRect(pcCellView
'("device" "drawing")
list(xShape * sc:(yShape - 0.05) * sc
(xShape + 0.1) * sc:(yShape + 0.05) * sc
)
)
dbCreateLine(pcCellView
'("device" "drawing")
list(xLoc * sc:yLoc * sc
xEnd * sc:yLoc * sc
)
)
rectId = dbCreateRect(pcCellView
'("pin" "drawing")
list((xLoc - 0.025) * sc:(yLoc - 0.025) * sc
(xLoc + 0.025) * sc:(yLoc + 0.025) * sc
)
)
sprintf(s "p%d" i)
netId = dbCreateNet(pcCellView s)
dbCreateTerm(netId s "inputOutput")
dbCreatePin(netId rectId)
sprintf(s "cdsTerm(p%d)" i)
labelId = dbCreateLabel(pcCellView
'("annotate" "drawing8")
xLoc * sc:(yLoc + 0.0625) * sc s justify1
"R0" "stick"
0.05 * sc
)
labelId~>labelType="ILLabel"
)
for(i 1 padNum
yLoc = (h - i) * 0.125
xLoc = 0.625
xEnd = 0.5
justify1 = "centerLeft"
xLabel2 = 0.29
sprintf(s "b%d" i)
dbCreateLabel(pcCellView
'("pin" "drawing")
xLabel2 * sc:yLoc * sc s justify1
"R0" "stick"
0.05 * sc
)
)
t
)
)
=================================================================================