Product Documentation
Virtuoso Parameterized Cell SKILL Reference
Product Version IC23.1, August 2023

pcDraw

pcDraw(
g_device
) 
=> t / nil

Description

Creates database objects for the specified SKILL++ Pcell class. This method is implemented for each SKILL++ Pcell class. pcDraw is called by the Pcell source code in pcDefinePCell for the associated Pcell.

Arguments

g_device

A SKILL++ Pcell class object that is inherited from class pcParamClass.

Value Returned

t

If the database objects are created for a specified SKILL++ Pcell class.

nil

If the database objects are not created.

Examples

defmethod( pcDraw ((device RING))
    let((cv ringS ringW coreBBox llx lly urx ury pts ring)
     ringS = pcGetParamSlotValue(device 'ringS)
ringW = pcGetParamSlotValue(device 'ringW)
coreBBox = getCoreBBox(device)
llx = xCoord( lowerLeft(coreBBox))
lly = yCoord( lowerLeft(coreBBox))
urx = xCoord( upperRight(coreBBox))
ury = yCoord( upperRight(coreBBox))
pts = list(
llx-ringS:lly-ringS ; points on inner edges
urx+ringS:lly-ringS
urx+ringS:ury+ringS
llx-ringS:ury+ringS
llx-ringS:lly-ringS-ringW ; extending to outer edge
llx-ringS-ringW:lly-ringS-ringW ; points on outer edges
llx-ringS-ringW:ury+ringS+ringW
urx+ringS+ringW:ury+ringS+ringW
urx+ringS+ringW:lly-ringS-ringW
llx-ringS:lly-ringS-ringW)
; layer is chosen for its color's visibility
cv = slotValue(device 'cvId)
ring = dbCreatePolygon( cv list("Via2" "drawing") pts)
callNextMethod()
)
)

Creates the database objects from SKILL++ Pcell class object, RING.


Return to top
 ⠀
X