Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

phoCreatePort

phoCreatePort(
d_cellViewId
l_lpp
t_x
t_y
t_portDirection 
t_netName
t_termName
t_pinName
n_width
n_angle
n_radius
[ n_portWidth ]
[ n_portHeight ]
=> d_portShape / nil

Description

(Virtuoso Photonics Option) Creates a physical connection point (port) for an optical net on layer type waveguide. The area of the optical port is used to trigger auto-abutment of the instances to ensure that the ports with matching attributes (layer, angle, or width) are positioned to avoid any cuts between the facets.

This port must be on the layer manufacturing grid to enable proper inter-device abutment. You should not use the xy attribute of a facet, which is a mathematical point to set these values as you would be using the database rounding and not the CC routing. Pick the start and end point of the ccPath corresponding to the facet to set the x and y coordinates of the port.

For auto-abutment, the width attribute of the optical port does not have to match the physical width and height of the shape (ellipse) used to draw the port.

Arguments

d_cellViewId

Database ID of a cellview.

l_lpp

Layer-purpose pair for used to create the port.

Valid value for layer is waveguide.

Valid value for purpose is drawing.

t_x

X-coordinate for the center of the port. This is the start point of the ccPath corresponding to the facet.

A port is drawn as a circle.

t_y

Y-coordinate for the center of the port. This is the end point of the ccPath corresponding to the facet.

t_portDirection

The direction of the port. The default is "inputOutput".

t_netName

Name of the optical net.

Net is created if it does not exist. If the net already exists, it should have signal type as optical.

t_termName

Name of the terminal.

t_pinName

Name of the pin.

If a pin name is not specified, it is created.

n_width

Width of the optical facet.

n_angle

Angle of the optical facet.

n_radius

Radius of the optical facet.

n_portWidth

Width to draw the physical port (width of the ellipse).

If no default width is specified, phoCreatePort uses the minWidth for the specified layer-purpose pair. If the minWidth for the layer-purpose pair is not defined in the technology database, a port of minimum size (2DBU) is created.

n_portHeight

Height to draw the physical port (height of the ellipse).

If no default width is specified, phoCreatePort uses the minWidth for the specified layer-purpose pair. If the minWidth for the layer-purpose pair is not defined in the technology database, a port of minimum size (2DBU) is created.

Value Returned

d_portShape

Database ID of the port that is created.

nil

Port was not created.

Example

phoCreatePort(cv list("waveguide" "drawing") 10.0 5.0 "inputOutput" "Opt1" "Opt1" nil 5.0 90.0 0.0)
=> db:0x215db89c

Related Topics

Photonics Flow Functions


Return to top
 ⠀
X