Photonics Environment Variables
This appendix provides information on the environment variable names, descriptions, and graphical user interface equivalents for the Virtuoso® Photonics Solution.
Related Topics
Setting Environment Variables
Environment variables control the values of the Virtuoso Photonics Solution options.
For information on setting the environment variables, see Setting Environment Variables.
For a list of all the supported environment variables and their values, see List of Photonics Solution Environment Variables.
List of Photonics Solution Environment Variables
srcOpticalElectricalConnection
cweAlignElements
photonics cweAlignElements boolean { t | nil }
Description
Rotates the subsequent components inside a composite waveguide to maintain their alignment when the selected component is edited to change its rotation, total angle, or radius. The changes in rotation are only propagated forward to the subsequent components of the edited component, not propagated back to the components that exist earlier in the composite. For example, if a composite is made up of components in the sequence: Opt1 -> Opt2 -> Opt3, editing the rotation of Opt2 will update the rotation of Opt3 but it will not update the rotation of Opt1.
When matching the alignment of the waveguide components, the rotateInstParam environment variable is used to specify the name of the parameter to use to control the rotation of the waveguide components. The parameter name is first searched in the CDF parameter list. If a corresponding CDF parameter that can control the rotation of the waveguide components is not found, a corresponding property associated with the waveguide components is used.
nil, the rotation of the subsequent components is not automatically adjusted to match the edited component and manual editing of individual components is required to set all the components to the correct rotation.
GUI Equivalent
Examples
envGetVal("photonics" "cweAlignElements")
envSetVal("photonics" "cweAlignElements" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
cweMatchWidths
photonics cweMatchWidths boolean { t | nil }
Description
Updates the width of components inside a composite waveguide to ensure the width of each subsequent component matches that of the edited waveguide component. Any changes in width to an edited component are not propagated back to the components that exist earlier in the composite. For example, if a composite is made up of components in the sequence: Opt1 -> Opt2 -> Opt3, editing the width of Opt2 will update the width of Opt3 but it will not update the width of Opt1.
t.
nil, the width of the subsequent components is not automatically adjusted to match the edited component and manual editing of individual components is required to set all the components to the correct width.
GUI Equivalent
Additional Information
When matching the component widths for a composite waveguide, different width parameters are considered for tapered and non-tapered devices.
-
Non-tapered devices
When matching width for a non-tapered device in a composite waveguide, the parameter on the device that matches one of the following in the given order gets used: -
Tapered devices
When matching width for a tapered component in a composite waveguide, the matched width is based either on thestartWidthor theendWidthof the taper. The parameter on the device that matches one of the following in the given order gets used:
Examples
envGetVal("photonics" "cweMatchWidths")
envSetVal("photonics" "cweMatchWidths" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
opticalSigTypePropagation
schematic opticalSigTypePropagation boolean { t | nil }
Description
Propagates the optical signal type.
GUI Equivalent
|
Propagate the Optical Signal Type Values ( |
Examples
envGetVal("schematic" "opticalSigTypePropagation")
envSetVal("schematic" "opticalSigTypePropagation" 'boolean t)
envSetVal("schematic" "opticalSigTypePropagation" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
opticalNetColor
schematic opticalNetColor string "cream"
Description
Specifies the color of the optical nets.
The line style for the optical nets can also be specified using .
GUI Equivalent
|
Set Optical Wire Style ( |
Examples
envGetVal("schematic" "opticalNetColor")
envSetVal("schematic" "opticalNetColor" 'string "blue")
Related Topics
List of Photonics Solution Environment Variables
opticalNetColoring
schematic opticalNetColoring boolean { t | nil }
Description
Specifies whether the optical nets need to have a specified color.
GUI Equivalent
Examples
envGetVal("schematic" "opticalNetColoring")
envSetVal("schematic" "opticalNetColoring" 'boolean t)
envSetVal("schematic" "opticalNetColoring" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
opticalNetLineStyle
schematic opticalNetLineStyle string "thickLine"
Description
Specifies the line style for the optical nets.
The color for the optical nets can also be specified using opticalNetColor.
GUI Equivalent
|
Set Optical Wire Style ( |
Examples
envGetVal("schematic" "opticalNetLineStyle")
envSetVal("schematic" "opticalNetLineStyle" 'string "thinline")
Related Topics
List of Photonics Solution Environment Variables
phoAbutAutoAdjust
photonics phoAbutAutoAdjust boolean { t | nil }
Description
Automatically rotates the moving waveguide to match the rotation of the abutting interface. When the moving object is a top-level pin, the pin width, radius, and angle are adjusted to allow abutment without requiring manual adjustment.
GUI Equivalent
Examples
envGetVal("photonics" "phoAbutAutoAdjust")
envSetVal("photonics" "phoAbutAutoAdjust" 'boolean t)
Related Topics
phoAbutClass
layoutXL phoAbutClass string "valid_abutment_class"
Description
Specifies that two optical pins can abut only when they belong to the same abutment class. Examples of abutment classes that can be used for abutting pins include the pin layer, pin edge, and so on.
The default is "", which means that the pin layer is used to get the abutClass property because the property is neither set on the Pcell, nor defined by this environment variable.
-
When the environment variable is set to
t , the pin layer refers to the layer, irrespective of the layer purpose. -
If the Pcell or non-Pcell instances do not have the
abutClassabutment property set on the abutting pinFigs, the value set for thephoAbutClassenvironment variable is used for abutment.
GUI Equivalent
Examples
envGetVal("layoutXL" "phoAbutClass")
envSetVal("layoutXL" "phoAbutClass" 'string "pin_layer")
Related Topics
List of Photonics Solution Environment Variables
phoAbutFunction
layoutXL phoAbutFunction string "valid_function_name"
Description
Specifies a user-defined callback to process abutment and unabutment.
The default is "phoWGAbut", which means that this function is used to abut Pcells, non-Pcells, or both in photonic designs.
phoAbutFunction environment variable is used for abutment.GUI Equivalent
Examples
envGetVal("layoutXL" "phoAbutFunction")
envSetVal("layoutXL" "phoAbutFunction" 'string "phoWGAbut")
Related Topics
List of Photonics Solution Environment Variables
phoAbutNonPcells
layoutXL phoAbutNonPcells boolean { t | nil }
Description
Controls whether the abutment of photonic non-Pcell instances is supported.
The default is "t", which means:
- Top-level pins can abut with instance pins.
- Photonic non-Pcell instances can abut with both non-Pcell and Pcell instances.
GUI Equivalent
Examples
envGetVal("layoutXL" "phoAbutNonPcells")
envSetVal("layoutXL" "phoAbutNonPcells" 'boolean t)
envSetVal("layoutXL" "phoAbutNonPcells" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
phoComposeMaster
layoutXL phoComposeMaster string "master_cellview_name"
Description
Specifies the library cellview of the cell master to be used for creating the composite waveguide.
GUI Equivalent
Examples
envGetVal("layoutXL" "phoComposeMaster")
envSetVal("layoutXL" "phoComposeMaster" 'string "pholib waveMaster layout")
Related Topics
List of Photonics Solution Environment Variables
phoComposeMasterPromptOff
layoutXL phoComposeMasterPromptOff boolean { t | nil }
Description
Uses the bound schematic instances, if available, to determine the master library cellview to use for creating the composite waveguide. If the bound schematic instances are not available, uses a previous selection to determine the master cellview to use.
The default is "nil", which means a form is raised that enables you to specify the master library cellview to be used.
GUI Equivalent
Examples
envGetVal("layoutXL" "phoComposeMasterPromptOff")
envSetVal("layoutXL" "phoComposeMasterPromptOff" 'boolean t)
envSetVal("layoutXL" "phoComposeMasterPromptOff" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
phoPinInputAngle
layoutXL phoPinInputAngle float floating_point_number
Description
Specifies the default angle to use for generating the optical input pins in the layout.
Arguments
|
A floating point number that specifies the default angle to use for creating the optical input pins in the layout. |
|
GUI Equivalent
Examples
envGetVal("layoutXL" "phoPinInputAngle")
envSetVal("layoutXL" "phoPinInputAngle" 'float 45.0)
Related Topics
List of Photonics Solution Environment Variables
phoPinLayer
layoutXL phoPinLayer string "valid_photonic_layer_name"
Description
Specifies the default photonic layer to use for generating optical pins in the layout.
If no default layer is specified in the environment variable, the first photonic layer in the list of validLayers is used for optical pin generation.
GUI Equivalent
Examples
envGetVal("layoutXL" "phoPinLayer")
envSetVal("layoutXL" "phoPinLayer" 'string "waveguide drawing")
Related Topics
List of Photonics Solution Environment Variables
phoPinRadius
layoutXL phoPinRadius float floating_point_number
Description
Specifies the default radius to use for generating optical pins in the layout.
Arguments
|
A floating point number that specifies the default radius for creating the circular optical pins in the layout. |
|
GUI Equivalent
Examples
envGetVal("layoutXL" "phoPinRadius")
envSetVal("layoutXL" "phoPinRadius" 'float 0.2)
Related Topics
List of Photonics Solution Environment Variables
phoPinWidth
layoutXL phoPinWidth float floating_point_number
Description
Specifies the default width to use for generating optical pins in the layout.
Arguments
|
A floating point number that specifies the default width for creating the optical pins in the layout. |
|
GUI Equivalent
Examples
envGetVal("layoutXL" "phoPinWidth")
envSetVal("layoutXL" "phoPinWidth" 'float 0.2)
Related Topics
List of Photonics Solution Environment Variables
photonicDisplay
graphic photonicDisplay boolean { t | nil }
Description
Controls whether to display photonic pin attributes in layout (t) or not (nil).
GUI Equivalent
Examples
envGetVal("graphic" "photonicDisplay")
envSetVal("graphic" "photonicDisplay" 'boolean t)
envSetVal("graphic" "photonicDisplay" 'boolean nil)
Related Topics
List of Photonics Solution Environment Variables
photonicPinWidth
layout photonicPinWidth float float_number
Description
Specifies the width of the facet of the waveguide that connects to a pin. The default value is 0.1.
GUI Equivalent
|
Photonic Width ( |
Examples
envGetVal("layout" "photonicPinWidth")
envSetVal("layout" "photonicPinWidth" 'float 0.5)
Related Topics
List of Photonics Solution Environment Variables
photonicPinAngle
layout photonicPinAngle float float_number
Description
Specifies the angle of the facet of the waveguide at the intersection of the pin.
GUI Equivalent
|
Photonic Angle ( |
Examples
envGetVal("layout" "photonicPinAngle")
envSetVal("layout" "photonicPinAngle" 'float 15)
Related Topics
List of Photonics Solution Environment Variables
photonicPinFacetInPacket
graphic photonicPinFacetInPacket string packetName
Description
Specifies the name of the packet for the pin on which a waveguide facet is drawn inside.
GUI Equivalent
Examples
envGetVal("graphic" "photonicPinFacetInPacket")
envSetVal("graphic" "photonicPinFacetInPacket" 'string "phoPinFacetIn")
Related Topics
List of Photonics Solution Environment Variables
photonicPinFacetOutPacket
graphic photonicPinFacetOutPacket string packetName
Description
Specifies the name of the packet for the pin on which a waveguide facet is drawn outside.
GUI Equivalent
Examples
envGetVal("graphic" "photonicPinFacetOutPacket")
envSetVal("graphic" "photonicPinFacetOutPacket" 'string "phoPinFacetOut")
Related Topics
List of Photonics Solution Environment Variables
photonicPinLabelPacket
graphic photonicPinLabelPacket string packetName
Description
Specifies the name of the packet in which the photonic pin label is drawn.
GUI Equivalent
Examples
envGetVal("graphic" "photonicPinLabelPacket")
envSetVal("graphic" "photonicPinLabelPacket" 'string "phoPinLabel")
Related Topics
List of Photonics Solution Environment Variables
photonicPinRadius
layout photonicPinRadius float float_number
Description
Specifies the radius of the curve of the waveguide center at the point it meets the facet.
GUI Equivalent
|
Photonic Radius ( |
Examples
envGetVal("layout" "photonicPinRadius")
envSetVal("layout" "photonicPinRadius" 'float 2)
Related Topics
List of Photonics Solution Environment Variables
photonicPinRadiusLinePacket
graphic photonicPinRadiusLinePacket string packetName
Description
Specifies the name of the packet in which the photonic pin radius line is drawn.
GUI Equivalent
Examples
envGetVal("graphic" "photonicPinRadiusLinePacket")
envSetVal("graphic" "photonicPinRadiusLinePacket" 'string "phoPinRadiusLine")
Related Topics
List of Photonics Solution Environment Variables
photonicPinWidthLinePacket
graphic photonicPinWidthLinePacket string packetName
Description
Specifies the name of the packet in which the photonic pin width line is drawn.
GUI Equivalent
Examples
envGetVal("graphic" "photonicPinWidthLinePacket")
envSetVal("graphic" "photonicPinWidthLinePacket" 'string "phoPinWidthLine")
Related Topics
List of Photonics Solution Environment Variables
srcOpticalElectricalConnection
schematic srcOpticalElectricalConnection cyclic { "ignored" "warning" "error" }
Description
Specifies the severity of the schematic rules checker (SRC) check for any optical to electrical connections.
GUI Equivalent
|
Electrical Connections (Optical tab) ( |
Examples
envGetVal("schematic" "srcOpticalElectricalConnection")
envSetVal("schematic" "srcOpticalElectricalConnection" 'cyclic "ignored")
Related Topics
List of Photonics Solution Environment Variables
srcOpticalMultiToSingle
schematic srcOpticalMultiToSingle cyclic { "ignored" "warning" "error" }
Description
Specifies the severity of the schematic rules checker (SRC) check for any multi mode optical to single mode optical connections.
GUI Equivalent
|
Multi Mode to Single Mode (Optical tab) ( |
Examples
envGetVal("schematic" "srcOpticalMultiToSingle")
envSetVal("schematic" "srcOpticalMultiToSingle" 'cyclic "ignored")
Related Topics
List of Photonics Solution Environment Variables
srcOpticalSingleToMulti
schematic srcOpticalSingleToMulti cyclic { "ignored" "warning" "error" }
Description
Specifies the severity of the schematic rules checker (SRC) check for single mode nets or outputs that are connected to multi mode inputs or nets.
GUI Equivalent
|
Single Mode to Multi Mode (Optical tab) ( |
Examples
envGetVal("schematic" "srcOpticalSingleToMulti")
envSetVal("schematic" "srcOpticalSingleToMulti" 'cyclic "ignored")
Related Topics
List of Photonics Solution Environment Variables
srcOpticalTooManyConnections
schematic srcOpticalTooManyConnections cyclic { "ignored" "warning" "error" }
Description
Specifies the severity of the schematic rules checker (SRC) check for optical nets to ensure each has a maximum of 2 connections.
GUI Equivalent
|
Too Many Connections (Optical tab) ( |
Examples
envGetVal("schematic" "srcOpticalTooManyConnections")
envSetVal("schematic" "srcOpticalTooManyConnections" 'cyclic "ignored")
Related Topics
List of Photonics Solution Environment Variables
Return to top