V

class ipkiss3.all.V

Vertical control point class. Description of where a route should be vertical.

See also the API reference on place & route: Horizontal and Vertical control lines.

Parameters:
x: float, SymbolicValue, Symbol

X-value at which the route should be vertical.

Examples

>>> # Connect inst1, port out1 to inst2, port in1,
>>> # and the route has to go through a horizontal at y=10, then a vertical at x=50
>>> i3.ConnectManhattan('inst1:out1', 'inst2:in1', control_points=[i3.H(10), i3.V(50)])
>>>
>>> # Now the route has to go vertically 10 um to the east of the start point
>>> i3.ConnectManhattan('inst1:out1', 'inst2:in1', control_points=[i3.V(i3.START + 10)])
>>>
>>> # Possible symbols
>>> i3.V(i3.START + 10)
>>> i3.V(i3.END - 10)
>>> i3.V(i3.PREV + 10)
import si_fab.all as pdk
import ipkiss3.all as i3
import matplotlib.pyplot as plt

gc = pdk.FC_TE_1550()
circuit = i3.Circuit(
    insts={"gc1": gc, "gc2": gc},
    specs=[
        i3.Place("gc1", position=(-100, 0)),
        i3.Place("gc2", position=(-100, 50)),
        i3.ConnectManhattan(
            "gc1:out",
            "gc2:out",
            control_points=[i3.V(-20)],
        ),
    ],
)

lay = circuit.Layout()
lay.visualize(show=False)

plt.axvline(x=-20, color="k", linestyle="--")
plt.show()
../../../../_images/ipkiss3-all-V-1.png