Product Documentation
Virtuoso Photonics Solution Guide
Product Version IC23.1, August 2023


Photonics Environment Variables

This appendix provides information on the environment variable names, descriptions, and graphical user interface equivalents for the Virtuoso® Photonics Solution.

Only the environment variables documented in this chapter are supported for public use. All other Photonics Solution environment variables, regardless of their name or prefix, and undocumented aspects of the environment variables that are described below are private and are subject to change at any time.

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

cweAlignElements

cweMatchWidths

opticalSigTypePropagation

opticalNetColor

opticalNetColoring

opticalNetLineStyle

phoAbutAutoAdjust

phoAbutClass

phoAbutFunction

phoAbutNonPcells

phoComposeMaster

phoComposeMasterPromptOff

phoPinInputAngle

phoPinLayer

phoPinRadius

phoPinWidth

photonicDisplay

photonicPinWidth

photonicPinAngle

photonicPinFacetInPacket

photonicPinFacetOutPacket

photonicPinLabelPacket

photonicPinRadius

photonicPinRadiusLinePacket

photonicPinWidthLinePacket

srcOpticalElectricalConnection

srcOpticalMultiToSingle

srcOpticalSingleToMulti

srcOpticalTooManyConnections

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.

The default is t.

When set to 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

Command

Composite Waveguide Editor – Editor Options

Field

Align elements

Examples

envGetVal("photonics" "cweAlignElements")
envSetVal("photonics" "cweAlignElements" 'boolean nil)

Related Topics

ciGetParamMapping

rotateInstParam

dbGetPropByName

List of Photonics Solution Environment Variables

Setting 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.

The default is t. When set to 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

Command

Composite Waveguide Editor – Editor Options

Field

Match Widths

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:
    1. Parameter defined in the ciGetParamMapping("waveguideWidth") SKILL function.
    2. Parameter called "width", "wgWidth" or "wg_width"
    3. Regular expression for a parameter with "width" in its name
  • Tapered devices
    When matching width for a tapered component in a composite waveguide, the matched width is based either on the startWidth or the endWidth of the taper. The parameter on the device that matches one of the following in the given order gets used:
    1. Parameter defined in the ciGetParamMapping("startFacetWidth") or ciGetParamMapping("endFacetWidth") SKILL function.
    2. Regular expression for a parameter that matches ("width.*in|start|begin") or ("width.*out|end")

Examples

envGetVal("photonics" "cweMatchWidths")
envSetVal("photonics" "cweMatchWidths" 'boolean nil)

Related Topics

ciGetParamMapping

List of Photonics Solution Environment Variables

Setting Environment Variables

opticalSigTypePropagation

schematic opticalSigTypePropagation boolean { t | nil }

Description

Propagates the optical signal type.

The default is t.

GUI Equivalent

Command

Options – Check

Form Field

Propagate the Optical Signal Type Values (Schematic Check Options form)

Examples

envGetVal("schematic" "opticalSigTypePropagation")
envSetVal("schematic" "opticalSigTypePropagation" 'boolean t)
envSetVal("schematic" "opticalSigTypePropagation" 'boolean nil)

Related Topics

List of Photonics Solution Environment Variables

Setting 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 opticalNetLineStyle.

GUI Equivalent

Command

Options – Check

Form Field

Set Optical Wire Style (Schematic Check Options form)

Examples

envGetVal("schematic" "opticalNetColor")
envSetVal("schematic" "opticalNetColor" 'string "blue")

Related Topics

List of Photonics Solution Environment Variables

Setting Environment Variables

opticalNetColoring

schematic opticalNetColoring boolean { t | nil }

Description

Specifies whether the optical nets need to have a specified color.

The default is t.

GUI Equivalent

None

Examples

envGetVal("schematic" "opticalNetColoring")
envSetVal("schematic" "opticalNetColoring" 'boolean t)
envSetVal("schematic" "opticalNetColoring" 'boolean nil)

Related Topics

List of Photonics Solution Environment Variables

Setting 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

Command

Options – Check

Form Field

Set Optical Wire Style (Schematic Check Options form)

Examples

envGetVal("schematic" "opticalNetLineStyle")
envSetVal("schematic" "opticalNetLineStyle" 'string "thinline")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default is nil.

GUI Equivalent

None

Examples

envGetVal("photonics" "phoAbutAutoAdjust")

envSetVal("photonics" "phoAbutAutoAdjust" 'boolean t)

Related Topics

Abutting Photonic Elements

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.

Note:
  • 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 abutClass abutment property set on the abutting pinFigs, the value set for the phoAbutClass environment variable is used for abutment.

GUI Equivalent

None

Examples

envGetVal("layoutXL" "phoAbutClass")
envSetVal("layoutXL" "phoAbutClass" 'string "pin_layer")

Related Topics

Abutment in Virtuoso Photonics Solution

List of Photonics Solution Environment Variables

Setting 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.

If the Pcell or non-Pcell instances do not have the abutment property set on the abutting pinFigs, the value set for the phoAbutFunction environment variable is used for abutment.

GUI Equivalent

None

Examples

envGetVal("layoutXL" "phoAbutFunction")
envSetVal("layoutXL" "phoAbutFunction" 'string "phoWGAbut")

Related Topics

Abutment in Virtuoso Photonics Solution

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("layoutXL" "phoAbutNonPcells")
envSetVal("layoutXL" "phoAbutNonPcells" 'boolean t)
envSetVal("layoutXL" "phoAbutNonPcells" 'boolean nil)

Related Topics

Abutment in Virtuoso Photonics Solution

List of Photonics Solution Environment Variables

Setting 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.

The default is " "

GUI Equivalent

None

Examples

envGetVal("layoutXL" "phoComposeMaster")
envSetVal("layoutXL" "phoComposeMaster" 'string "pholib waveMaster layout")

Related Topics

phoComposeMasterPromptOff

Abutment in Virtuoso Photonics Solution

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("layoutXL" "phoComposeMasterPromptOff")
envSetVal("layoutXL" "phoComposeMasterPromptOff" 'boolean t)
envSetVal("layoutXL" "phoComposeMasterPromptOff" 'boolean nil)

Related Topics

phoComposeMaster

Abutment in Virtuoso Photonics Solution

List of Photonics Solution Environment Variables

Setting 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.

The default is 90.0.

Arguments

floating_point_number

A floating point number that specifies the default angle to use for creating the optical input pins in the layout.

GUI Equivalent

Command:

Connectivity – Generate – All From Source – I/O Pins (tab)

Field:

Default Values for Optical Pins – Input Angle (field)

Examples

envGetVal("layoutXL" "phoPinInputAngle")
envSetVal("layoutXL" "phoPinInputAngle" 'float 45.0)

Related Topics

Generating Optical Pins

List of Photonics Solution Environment Variables

Setting 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.

The default is "".

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

Command:

Connectivity – Generate – All From Source – I/O Pins (tab)

Field:

Default Values for Optical Pins – Layer (field)

Examples

envGetVal("layoutXL" "phoPinLayer")
envSetVal("layoutXL" "phoPinLayer" 'string "waveguide drawing")

Related Topics

Generating Optical Pins

List of Photonics Solution Environment Variables

Setting Environment Variables

phoPinRadius

layoutXL phoPinRadius float floating_point_number

Description

Specifies the default radius to use for generating optical pins in the layout.

The default is 0.0.

Arguments

floating_point_number

A floating point number that specifies the default radius for creating the circular optical pins in the layout.

GUI Equivalent

Command:

Connectivity – Generate – All From Source – I/O Pins (tab)

Field:

Default Values for Optical Pins – Radius (field)

Examples

envGetVal("layoutXL" "phoPinRadius")
envSetVal("layoutXL" "phoPinRadius" 'float 0.2)

Related Topics

Generating Optical Pins

List of Photonics Solution Environment Variables

Setting Environment Variables

phoPinWidth

layoutXL phoPinWidth float floating_point_number

Description

Specifies the default width to use for generating optical pins in the layout.

The default is 0.0.

Arguments

floating_point_number

A floating point number that specifies the default width for creating the optical pins in the layout.

GUI Equivalent

Command:

Connectivity – Generate – All From Source – I/O Pins (tab)

Field:

Default Values for Optical Pins – Width (field)

Examples

envGetVal("layoutXL" "phoPinWidth")
envSetVal("layoutXL" "phoPinWidth" 'float 0.2)

Related Topics

Generating Optical Pins

List of Photonics Solution Environment Variables

Setting Environment Variables

photonicDisplay

graphic photonicDisplay boolean { t | nil }

Description

Controls whether to display photonic pin attributes in layout (t) or not (nil).

The default is nil.

GUI Equivalent

None

Examples

envGetVal("graphic" "photonicDisplay")
envSetVal("graphic" "photonicDisplay" 'boolean t)
envSetVal("graphic" "photonicDisplay" 'boolean nil)

Related Topics

List of Photonics Solution Environment Variables

Setting 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

Command

Create – Pin – Manual

Field

Photonic Width (Create Pin Form)

Examples

envGetVal("layout" "photonicPinWidth")
envSetVal("layout" "photonicPinWidth" 'float 0.5)

Related Topics

List of Photonics Solution Environment Variables

Setting Environment Variables

photonicPinAngle

layout photonicPinAngle float float_number

Description

Specifies the angle of the facet of the waveguide at the intersection of the pin.

The default is 0.0.

GUI Equivalent

Command

Create – Pin – Manual

Field

Photonic Angle (Create Pin Form)

Examples

envGetVal("layout" "photonicPinAngle")
envSetVal("layout" "photonicPinAngle" 'float 15)

Related Topics

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("graphic" "photonicPinFacetInPacket")
envSetVal("graphic" "photonicPinFacetInPacket" 'string "phoPinFacetIn")

Related Topics

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("graphic" "photonicPinFacetOutPacket")
envSetVal("graphic" "photonicPinFacetOutPacket" 'string "phoPinFacetOut")

Related Topics

List of Photonics Solution Environment Variables

Setting Environment Variables

photonicPinLabelPacket

graphic photonicPinLabelPacket string packetName

Description

Specifies the name of the packet in which the photonic pin label is drawn.

GUI Equivalent

None

Examples

envGetVal("graphic" "photonicPinLabelPacket")
envSetVal("graphic" "photonicPinLabelPacket" 'string "phoPinLabel")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default value is 0.0.

GUI Equivalent

Command

Create – Pin – Manual

Field

Photonic Radius (Create Pin Form)

Examples

envGetVal("layout" "photonicPinRadius")
envSetVal("layout" "photonicPinRadius" 'float 2)

Related Topics

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("graphic" "photonicPinRadiusLinePacket")
envSetVal("graphic" "photonicPinRadiusLinePacket" 'string "phoPinRadiusLine")

Related Topics

List of Photonics Solution Environment Variables

Setting 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

None

Examples

envGetVal("graphic" "photonicPinWidthLinePacket")
envSetVal("graphic" "photonicPinWidthLinePacket" 'string "phoPinWidthLine")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default is error.

GUI Equivalent

Command

Check – Rules Setup

Form Field

Electrical Connections (Optical tab) (Schematic Rules Checks Setup form)

Examples

envGetVal("schematic" "srcOpticalElectricalConnection")
envSetVal("schematic" "srcOpticalElectricalConnection" 'cyclic "ignored")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default is error.

GUI Equivalent

Command

Check – Rules Setup

Form Field

Multi Mode to Single Mode (Optical tab) (Schematic Rules Checks Setup form)

Examples

envGetVal("schematic" "srcOpticalMultiToSingle")
envSetVal("schematic" "srcOpticalMultiToSingle" 'cyclic "ignored")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default is ignored.

GUI Equivalent

Command

Check – Rules Setup

Form Field

Single Mode to Multi Mode (Optical tab) (Schematic Rules Checks Setup form)

Examples

envGetVal("schematic" "srcOpticalSingleToMulti")
envSetVal("schematic" "srcOpticalSingleToMulti" 'cyclic "ignored")

Related Topics

List of Photonics Solution Environment Variables

Setting 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.

The default is error.

GUI Equivalent

Command

Check – Rules Setup

Form Field

Too Many Connections (Optical tab) (Schematic Rules Checks Setup form)

Examples

envGetVal("schematic" "srcOpticalTooManyConnections")
envSetVal("schematic" "srcOpticalTooManyConnections" 'cyclic "ignored")

Related Topics

List of Photonics Solution Environment Variables

Setting Environment Variables


Return to top
 ⠀
X