RouteAnchors¶
- class RouteAnchors(design, name: str | None = None, options: Dict | None = None, type: str = 'CPW', **kwargs)[source]¶
Creates and connects a series of anchors through which the Route passes.
- QRoute Default Options:
- pin_inputs: Dict
- start_pin: Dict – Component and pin string pair. Define which pin to start from
component: ‘’ – Name of component to start from, which has a pin
pin: ‘’ – Name of pin used for pin_start
- end_pin=Dict – Component and pin string pair. Define which pin to start from
component: ‘’ – Name of component to end on, which has a pin
pin: ‘’ – Name of pin used for pin_end
fillet: ‘0’
- lead: Dict
start_straight: ‘0mm’ – Lead-in, defined as the straight segment extension from start_pin. Defaults to 0.1um.
end_straight: ‘0mm’ – Lead-out, defined as the straight segment extension from end_pin. Defaults to 0.1um.
start_jogged_extension: ‘’ – Lead-in, jogged extension of lead-in. Described as list of tuples
end_jogged_extension: ‘’ – Lead-out, jogged extension of lead-out. Described as list of tuples
total_length: ‘7mm’
trace_width: ‘cpw_width’ – Defines the width of the line. Defaults to ‘cpw_width’.
- Default Options:
anchors: OrderedDict – Intermediate anchors only; doesn’t include endpoints
- advanced: Dict
avoid_collision: ‘false’ – true/false, defines if the route needs to avoid collisions. Defaults to ‘false’.
Initializes all Routes.
Calls the QComponent __init__() to create a new Metal component. Before that, it adds the variables that are needed to support routing.
- Parameters:
design (QDesign) – The parent design.
name (str) – Name of the component. Auto-named if possible.
options (dict) – User options that will override the defaults. Defaults to None.
type (string) – Supports Route (single layer trace) and CPW (adds the gap around it). Defaults to “CPW”.
Attributes
the full module name with the class name.
Component metadata
Default options
Return a reference to the parent design object.
The unique id of component within a design.
Sum of all segments length, including the head.
The Qiskit Metal Logger.
Name of the component.
A dictionary of the component-designer-defined options.
The names of the pins.
Get a list of the names of the element tables.
Dictionary of pins.
Metadata allows a designer to store extra information or analysis results.
Stores the latest status of the component.
Methods
RouteAnchors.add_dependency
(parent, child)Add a dependency between one component and another.
RouteAnchors.add_pin
(name, points, width[, ...])Adds a pin from two points which are normal/tangent to the intended plane of the pin.
RouteAnchors.add_qgeometry
(kind, geometry[, ...])Add QGeometry.
Method to assign a direction to a point.
WARNING: Do NOT use this method during generation of component instance.
RouteAnchors.connect_simple
(start_pt, end_pt)Try connecting start and end with single or 2-segment/S-shaped CPWs if possible.
RouteAnchors.del_colinear_points
(inarray)Delete colinear points from the given array.
Delete the QComponent.
Computes the free-flight manhattan distance between start_pt and end_pt passing through all of the given anchor points.
RouteAnchors.get_pin
(name)Interface for components to get pin data.
Assembles the list of points for the route by concatenating: head_pts + intermediate_pts, tail_pts.
RouteAnchors.get_template_options
(design[, ...])Creates template options for the Metal Component class required for the class to function, based on the design template; i.e., be created, made, and rendered.
Access the last element in the QRouteLead.
RouteAnchors.get_unit_vectors
(start, end[, snap])Return the unit and target vector in which the CPW should process as its coordinate sys.
Computes how much length to deduce for compensating the fillet settings.
Generates path from start pin to end pin.
Turns the CPW points into design elements, and add them to the design object.
RouteAnchors.parse_options
([options])Parse the options, converting string into interpreted values.
RouteAnchors.parse_value
(value)Parse a string, mappable (dict, Dict), iterable (list, tuple) to account for units conversion, some basic arithmetic, and design variables.
Use the element_handler to get a list of all the table names used in QGeometry.
Fetched the component bound dict_value.
RouteAnchors.qgeometry_dict
(element_type)Returns a dict of element qgeometry (shapely geometry) of the component as a python dict, where the dict keys are the names of the qgeometry and the corresponding values are the shapely geometries.
RouteAnchors.qgeometry_list
([element_type])Returns a list of element qgeometry (shapely geometry) of the component as a python list of shapely geometries.
RouteAnchors.qgeometry_plot
([ax, plot_kw])Draw all the qgeometry of the component (polys and path etc.)
RouteAnchors.qgeometry_table
(element_type)Returns the entire element table for the component.
Builds the QComponent.
RouteAnchors.set_lead
(name)Defines the lead_extension by adding a point to the self.head/tail.
Defines the jogged lead_extension by adding a series of turns to the self.head/tail.
RouteAnchors.set_pin
(name)Defines the CPW pins and returns the pin coordinates and normal direction vector.
RouteAnchors.to_script
([thin, is_part_of_chip])- param thin:
If true then any key in the QComponent's options whose value
Crops the sequence of points to concatenate.
RouteAnchors.unary_union
(geoms)Returns the union of a sequence of geometries
RouteAnchors.unobstructed
(segment)Check that no component's bounding box in self.design intersects or overlaps a given segment.
RouteAnchors.unobstructed_close_up
(segment, ...)Checks whether the given component's perimeter intersects or overlaps a given segment.