H
- class ipkiss3.all.H
Horizontal control point class. Description of where a route should be horizontal.
See also the API reference on place & route: Horizontal and Vertical control lines.
- Parameters:
- y: float, SymbolicValue, Symbol
Y-value at which the route should be horizontal.
- relative_to: str or Symbol or tuple of float, Optional
Reference to an instance, port, or a coordinate, relative to which this control point is defined. This cannot be combined with a symbolic xy. See Symbols for more information.
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 horizontally 10 um to the north of the start point >>> i3.ConnectManhattan('inst1:out1', 'inst2:in1', control_points=[i3.H(i3.START + 10)]) >>> >>> # Possible symbols >>> i3.H(i3.START + 10) >>> i3.H(i3.END - 10) >>> i3.H(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, 0), angle=180), i3.ConnectManhattan( "gc1:out", "gc2:out", control_points=[i3.H(30)], ), ], ) lay = circuit.Layout() lay.visualize(show=False) plt.axhline(y=30, color="k", linestyle="--") plt.show()