Product Documentation
Cadence Interprocess Communication SKILL Reference
Product Version IC23.1, June 2023

phoIPCProcessShapes

phoIPCProcessShapes(
d_cellviewID
l_shapeList
l_portMap
[ l_lppMap ]
)
=> t / nil

Description

Uses shapeList to create shapes and electrical pins in the specified cellview. This is the default shape processor.

Arguments

d_cellviewID

Name of the cellview in which the object needs to be created.

l_shapeList

List of sublists, where each sublist defines a point list that is used to create a polygon on the specified layer using the purpose drawing.

If the electrical port name is specified, it is used to create a pin with the corresponding polygon as the shape. The required format for a shapeList is:

(
(  t_layerName l_pointList [t_portName]] )
)

where:

  • layerName is the name of the waveguide layer.
  • pointList is the list of points to be used for creating a polygon.
  • portName is the name of the port as returned by the server in the original message.

l_portMap

List of sublists, where each sublist is used to specify the optical or electrical port name-to-direction mapping. A portMap can be useful to determine the new direction to use for a port when integrating with a PDK to match the simulator. A portMap is represented in the following format:

(
( t_serverPortName (t_newPortName [t_newPortDirection])
)

where:

  • serverPortName is the name for the port as returned by the server in the original message.
  • newPortName is the desired new name for the port.
  • newPortDirection is a valid port direction specified as a string value. If a port direction is not specified, the default direction used is inputOutput.

l_lppMap

A list of layers, purposes, or a sublist that establishes the associations between the supported layer-purpose pairs (LPP) and is used for generating shapes and electrical pins. The second value in the association list must be of the same type as the key.

Mapping by layer-purpose pairs is given priority over mapping by layer names or purpose names. An lppMap can be represented in the following format:

list(
list( list("src_layer" "src_purpose") list("dst_layer" "dst_purpose") ) ;LPP
list("src_layer" "dst_layer") ;layer
list("src_purpose" "dst_purpose") ;purpose
);list

where:

  • ("src_layer" "src_purpose") and ("dst_layer" "dst_purpose") represent the supported source and destination layer-purpose pair associations.
  • "src_layer" and "dst_layer" represent the source and destination layer names.
  • "src_purpose" and "dst_purpose" represent the source and destination purpose names.

Value Returned

None

Examples

Creates a polygon in the specified cellview.

phoIPCProcessShapes(cv polygons portMap lppMap2)

Related Topics

Message Processor Functions

phoIPCGetMessageProcessor

phoIPCProcessMarkers

phoIPCProcessPorts

phoIPCProcessServerMessage

phoIPCRegisterMessageProcessor


Return to top
 ⠀
X