phoIPCProcessPorts
phoIPCProcessPorts(
d_cellviewID
l_opticalPortList
[ l_portMap ]
[ l_lppMap ]
)
=> t / nil
Description
Creates optical ports in the specified cellview using the specfied portList. This is the default optical port processor.
Arguments
|
d_cellviewID
|
Name of the cellview.
|
|
l_opticalPortList
|
List of sublists, where each sublist represents an optical port that will be created for the waveguide in the specified cellview. It is represented in the following format:
(
( (n_width n_angle n_radius t_name) g_pointList t_layerName)
…
)
where:
-
width is a float value that represents the waveguide width in user-defined units.
-
angle is a float value that represents the waveguide facet angle in degree.
-
radius is a float value that represents the bend radius for the waveguide at the port.
-
pointList is the coordinate that represents the center of the port measured in user-defined units.
-
layerName is the name of the waveguide layer.
By default, portName is used to determine the name for the optical net or terminal to be created. The port direction is determined from the argument, l_portMap.
|
|
[ 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 new name for the port.
-
newPortDirection is a valid port direction. 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) to be used for generating optical ports. 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
|
t
|
Optical ports are created in the specified cellview.
|
|
nil
|
The command failed.
|
Examples
Creates new ports in the cellview, cv1, using portList1 and portMap2.
phoIPCProcessPorts(cv1 portList1 portMap2 lppMap2)
Related Topics
Message Processor Functions
phoIPCGetMessageProcessor
phoIPCProcessMarkers
phoIPCProcessServerMessage
phoIPCProcessShapes
phoIPCRegisterMessageProcessor
Return to top