phoBendConnector
phoBendConnector(
d_cellViewId
t_waveguideLayer
[ ?rotation n_rotation
[ ?offset l_offset
[ ?full g_full
[ ?startPortName t_PortName
[ ?endPortName t_PortName ]
[ ?startPortDirection t_Direction ]
[ ?endPortDirection t_Direction ]
[ ?width f_width ]
[ ?taperStyle s_taperStyle ]
[ ?startWidth f_width ]
[ ?endWidth f_width ]
[ ?taperStartClamp n_length ]
[ ?taperEndClamp n_length ]
[ ?angle f_angle ]
[ ?radius f_radius ]
[ ?arcPart f_arcPart ]
[ ?Rmin f_Rmin ]
[ ?modeSpec l_l_modeSpec ]
[ ?modePropOnly g_modePropOnly ]
[ ?portPinPurpose t_portPinPurpose ]
[ ?waveguideDefPurpose t_waveguideDefPurpose ]
)
=> l_dpl / nil
Description
(ICADVM20.1 Photonics Only) Returns a bend connector that connects two port points on the same circle with angles equal to the angles of the tangents on that circle. The bend connector is described by the bend radius of the circle and the bend angle of the arc of that circle. In its simplest form, a bend connector consists of a single circular arc segment.
Arguments
|
d_cellViewId
|
Cellview ID of the layout to be used. For a connector, the generator checks its view type and whether the cellview is editable and is a maskLayout.
|
|
t_waveguideLayer
|
Name of the abstract layer or the design intent layer in which you want to draw the connector. This must be a layer with the waveguide function defined in the PDK technology file. It is also used to determine the relevant waveguideDef (cross-section) in the technology file, to generate the needed layers to implement the waveguide.
|
|
?rotation n_rotation
|
|
|
Rotation angle in degrees for the bend connector.
The default value is (0,0), which means there is no rotation.
The facet angle 0.0 points to the bottom.
|
|
?offset l_offset
|
list(n_lhs n_rhs)
Offset value for the connector.
The default value is (0,0), which means there is no offset.
|
|
?full g_full
|
A Boolean when set to t specifies whether a waveguide is created with all its layers from the cross section as defined in the technology file. This is the default.
When set to nil, only the design intent layer t_waveguideLayer is drawn, generating an abstract of the connector.
|
|
?startPortName t_PortName
|
|
|
Name of the start port. The default value is "start".
A nil port name results in a connector generated without a port at the start. This may be useful when composing a complex layout with multiple connectors in which ports are not needed in the middle because there is no hierarchical connection point at that location.
|
|
?endPortName t_PortName
|
|
|
Name of the end port. The default value is "end".
This may be useful when composing a complex layout with multiple connectors in which ports are not needed in the middle because there is no hierarchical connection point at that location.
|
|
?startPortDirection t_Direction
|
|
|
Direction of the start port. The default value is "inputOutput".
|
|
?endPortDirection t_Direction
|
|
|
Direction of the end port. The default is "inputOutput".
|
|
?width n_width
|
Width of the waveguide layer. The default value is nil.
|
|
?taperStyle s_taperStyle
|
|
|
Style of the tapering.
Valid values are: 'none, 'linear, 'exp and 'parabolic. The default value is 'none.
|
|
?startWidth n_width
|
|
|
Width of the taper at the start of the connector. The default value is nil.
|
|
?endWidth f_width
|
Width of the taper at the end of the connector. The default value is nil.
|
|
?taperStartClamp f_length
|
|
|
Length of the clamping region at the start of the connector. The default value is nil.
This is the zone where the derived function is changed to align the curve with the facet angle.
See ccCreateConnectorWidthExpressionList.
|
|
?taperEndClamp f_length
|
|
|
Length of the clamping region at the end of the connector. The default value is nil.
See ccCreateConnectorWidthExpressionList.
|
|
?angle f_angle
|
Bend angle of the arc. The default value is nil.
|
|
?radius f_radius
|
Radius of the arc. The default value is nil.
|
|
?arcPart f_arcPart
|
|
|
Any value between 0.0 and 1.0 indicating the ratio of the circular bending angle to the overall bending angle.
-
When the value is
1.0, the connector consists of a single circular arc. -
When the value is
0.0, the connector consists of two clothoids.
|
|
?Rmin f_Rmin
|
Overwrites or specifies the minimum curvature radius. The default value is nil.
If specified, the curve is not drawn unless the ?radius is greater or equal to ?Rmin.
|
|
?modeSpec l_l_modeSpec
|
|
|
List of list of arguments to calculate the mode properties (modeProp) for the connector:
list( list(wavelength1 wavelength2…) list(temperature1 temperature2…))
Example:
list(list(1550n) list(27)) )
|
|
?modePropOnly l_modePropOnly
|
|
|
Returns a partial connector disembodied property list, without drawing it in the cellview. The default value is nil.
|
|
?portPinPurpose t_portPinPurpose
|
|
|
Layer purpose to use when creating pins. The default purpose for pins is "drawing".
|
|
?waveguideDefPurpose t_waveguideDefPurpose
|
|
|
Enables changing the waveguideDef purpose and select a different waveguideDef profile from the technology file.
|
Value Returned
|
l_dpl
|
A disembodied property list (DPL) of curve, pins and their angles, and arguments passed to the function. This can be used to easily use the connector in a SKILL script.
A DPL starts with nil and has keys to access different information or values. A connector DPL has nested DPLs. You can access this information in SKILL using the -> operator.
The main keys are:
-
connectorName: A string with the name of the connector. -
startPort: A DPL containing the startPort information, such as name, direction, and facet information. -
endPort: A DPL containing the endPort information, such as name, direction, and facet information. -
waveguideLayer: A string with the name of the waveguide layer used by the connector. -
args: A list of all arguments used to generate the connector.
|
|
nil
|
Connector is not created.
|
Examples
cv = geGetEditCellView()
phoBendConnector(cv "waveguide" ?rotation 90.0 ?width 0.5 ?angle 90)
The following example shows the difference between the arcPart 0.0 (clothoid) and the arcPart 1.0 (arc).
phoBendConnector(cv "waveguide" ?rotation 90.0 ?width 0.5 ?angle 90 ?radius 30
?arcPart 0.0/ 1.0 )
The following example shows the tapering:
phoBendConnector(cv "waveguide" ?rotation 90.0 ?width 0.5 ?angle 90
?taperStyle 'exp
?startWidth 1.0
?endWidth 4.0
?taperStartClamp 2.0
?taperEndClamp 2.0
)
Related Topics
phoCurveDeltaConnector
phoDrawCompWaveguideLayout
phoSineDeltaConnector
phoStraightConnector
phoWayPointConnector
Photonics Connector Functions
Return to top