laygo2.object package#
laygo2.object package is a collection of core object classes that are used to represent physical layout structures and design hierarchies.
The package consists of four modules:
laygo2.object.physical: This module defines classes for physical objects, which composes the actual IC layout.
laygo2.object.template: This module describes classes for templates, which generate various instance objects based on the target technology and design parameters.
laygo2.object.grid: This module describes grid classes, which provide an abstract representation of placement and routing coordinates and parameters.
laygo2.object.database: This module implements classes for design hierarchy management, enabling users to manage and maintain the relationships between design elements.
The following UML diagram of the object package provides a visual representation of the relationships between the four modules and their subclasses.
Check the following links for the details of the modules and their subclasses.
- laygo2.object.physical module
- PhysicalObject class
PhysicalObject
PhysicalObject.__init__()
PhysicalObject._get_xy()
PhysicalObject._set_xy()
PhysicalObject._update_pointers()
PhysicalObject.summarize()
PhysicalObject._xy
PhysicalObject.bbox
PhysicalObject.bottom
PhysicalObject.bottom_left
PhysicalObject.bottom_right
PhysicalObject.center
PhysicalObject.left
PhysicalObject.master
PhysicalObject.name
PhysicalObject.params
PhysicalObject.pointers
PhysicalObject.right
PhysicalObject.top
PhysicalObject.top_left
PhysicalObject.top_right
PhysicalObject.xy
- IterablePhysicalObject class
IterablePhysicalObject
IterablePhysicalObject.__init__()
IterablePhysicalObject._get_xy()
IterablePhysicalObject._set_xy()
IterablePhysicalObject._update_elements()
IterablePhysicalObject._update_pointers()
IterablePhysicalObject.ndenumerate()
IterablePhysicalObject.summarize()
IterablePhysicalObject._xy
IterablePhysicalObject.bbox
IterablePhysicalObject.bottom
IterablePhysicalObject.bottom_left
IterablePhysicalObject.bottom_right
IterablePhysicalObject.center
IterablePhysicalObject.elements
IterablePhysicalObject.left
IterablePhysicalObject.master
IterablePhysicalObject.name
IterablePhysicalObject.params
IterablePhysicalObject.pointers
IterablePhysicalObject.right
IterablePhysicalObject.shape
IterablePhysicalObject.top
IterablePhysicalObject.top_left
IterablePhysicalObject.top_right
IterablePhysicalObject.xy
- PhysicalObjectGroup class
PhysicalObjectGroup
PhysicalObjectGroup.__init__()
PhysicalObjectGroup._get_xy()
PhysicalObjectGroup._set_xy()
PhysicalObjectGroup._update_elements()
PhysicalObjectGroup._update_pointers()
PhysicalObjectGroup.ndenumerate()
PhysicalObjectGroup.summarize()
PhysicalObjectGroup._xy
PhysicalObjectGroup.bbox
PhysicalObjectGroup.bottom
PhysicalObjectGroup.bottom_left
PhysicalObjectGroup.bottom_right
PhysicalObjectGroup.center
PhysicalObjectGroup.elements
PhysicalObjectGroup.left
PhysicalObjectGroup.master
PhysicalObjectGroup.name
PhysicalObjectGroup.params
PhysicalObjectGroup.pointers
PhysicalObjectGroup.right
PhysicalObjectGroup.shape
PhysicalObjectGroup.top
PhysicalObjectGroup.top_left
PhysicalObjectGroup.top_right
PhysicalObjectGroup.xy
- Rect class
Rect
Rect.__init__()
Rect._get_xy()
Rect._set_xy()
Rect._update_pointers()
Rect.align()
Rect.summarize()
Rect._xy
Rect.bbox
Rect.bottom
Rect.bottom_left
Rect.bottom_right
Rect.center
Rect.color
Rect.height
Rect.height_vec
Rect.hextension
Rect.layer
Rect.left
Rect.master
Rect.name
Rect.netname
Rect.params
Rect.pointers
Rect.right
Rect.size
Rect.top
Rect.top_left
Rect.top_right
Rect.vextension
Rect.width
Rect.width_vec
Rect.xy
- Path class
Path
Path.__init__()
Path._get_xy()
Path._set_xy()
Path._update_pointers()
Path.summarize()
Path._xy
Path.bbox
Path.bottom
Path.bottom_left
Path.bottom_right
Path.center
Path.extension
Path.layer
Path.left
Path.master
Path.name
Path.netname
Path.params
Path.pointers
Path.right
Path.top
Path.top_left
Path.top_right
Path.width
Path.xy
- Pin class
Pin
Pin.__init__()
Pin._get_xy()
Pin._set_xy()
Pin._update_elements()
Pin._update_pointers()
Pin.export_to_dict()
Pin.ndenumerate()
Pin.summarize()
Pin._xy
Pin.bbox
Pin.bottom
Pin.bottom_left
Pin.bottom_right
Pin.center
Pin.elements
Pin.height
Pin.height_vec
Pin.layer
Pin.left
Pin.master
Pin.name
Pin.netname
Pin.params
Pin.pointers
Pin.right
Pin.shape
Pin.size
Pin.top
Pin.top_left
Pin.top_right
Pin.width
Pin.width_vec
Pin.xy
- Text class
Text
Text.__init__()
Text._get_xy()
Text._set_xy()
Text._update_pointers()
Text.summarize()
Text._xy
Text.bbox
Text.bottom
Text.bottom_left
Text.bottom_right
Text.center
Text.layer
Text.left
Text.master
Text.name
Text.params
Text.pointers
Text.right
Text.text
Text.top
Text.top_left
Text.top_right
Text.xy
- Instance class
Instance
Instance.__init__()
Instance._get_xy()
Instance._set_xy()
Instance._update_elements()
Instance._update_pins()
Instance._update_pointers()
Instance.get_p()
Instance.get_pitch()
Instance.get_spacing()
Instance.ndenumerate()
Instance.set_p()
Instance.set_pitch()
Instance.set_spacing()
Instance.summarize()
Instance.update_netname()
Instance._pitch
Instance._xy
Instance.bbox
Instance.bottom
Instance.bottom_left
Instance.bottom_right
Instance.cellname
Instance.center
Instance.elements
Instance.height
Instance.height_vec
Instance.left
Instance.libname
Instance.master
Instance.name
Instance.p
Instance.params
Instance.pins
Instance.pitch
Instance.pointers
Instance.right
Instance.shape
Instance.size
Instance.spacing
Instance.top
Instance.top_left
Instance.top_right
Instance.transform
Instance.unit_size
Instance.viewname
Instance.width
Instance.width_vec
Instance.xy
Instance.xy0
Instance.xy1
- VirtualInstance class
VirtualInstance
VirtualInstance.__init__()
VirtualInstance._get_xy()
VirtualInstance._set_xy()
VirtualInstance._update_elements()
VirtualInstance._update_pins()
VirtualInstance._update_pointers()
VirtualInstance.get_element_position()
VirtualInstance.get_p()
VirtualInstance.get_pitch()
VirtualInstance.get_spacing()
VirtualInstance.ndenumerate()
VirtualInstance.set_p()
VirtualInstance.set_pitch()
VirtualInstance.set_spacing()
VirtualInstance.summarize()
VirtualInstance.update_netname()
VirtualInstance._pitch
VirtualInstance._xy
VirtualInstance.bbox
VirtualInstance.bottom
VirtualInstance.bottom_left
VirtualInstance.bottom_right
VirtualInstance.cellname
VirtualInstance.center
VirtualInstance.elements
VirtualInstance.height
VirtualInstance.height_vec
VirtualInstance.left
VirtualInstance.libname
VirtualInstance.master
VirtualInstance.name
VirtualInstance.native_elements
VirtualInstance.p
VirtualInstance.params
VirtualInstance.pins
VirtualInstance.pitch
VirtualInstance.pointers
VirtualInstance.right
VirtualInstance.shape
VirtualInstance.size
VirtualInstance.spacing
VirtualInstance.top
VirtualInstance.top_left
VirtualInstance.top_right
VirtualInstance.transform
VirtualInstance.unit_size
VirtualInstance.viewname
VirtualInstance.width
VirtualInstance.width_vec
VirtualInstance.xy
VirtualInstance.xy0
VirtualInstance.xy1
- PhysicalObject class
- laygo2.object.template module
- Template class
- NativeInstanceTemplate class
NativeInstanceTemplate
NativeInstanceTemplate.__init__()
NativeInstanceTemplate.bbox()
NativeInstanceTemplate.export_to_dict()
NativeInstanceTemplate.generate()
NativeInstanceTemplate.height()
NativeInstanceTemplate.pins()
NativeInstanceTemplate.size()
NativeInstanceTemplate.summarize()
NativeInstanceTemplate.width()
NativeInstanceTemplate._abc_impl
NativeInstanceTemplate._bbox
NativeInstanceTemplate._pins
NativeInstanceTemplate.cellname
NativeInstanceTemplate.libname
NativeInstanceTemplate.name
- ParameterizedInstanceTemplate class
ParameterizedInstanceTemplate
ParameterizedInstanceTemplate.__init__()
ParameterizedInstanceTemplate.bbox()
ParameterizedInstanceTemplate.generate()
ParameterizedInstanceTemplate.height()
ParameterizedInstanceTemplate.pins()
ParameterizedInstanceTemplate.size()
ParameterizedInstanceTemplate.summarize()
ParameterizedInstanceTemplate.width()
ParameterizedInstanceTemplate._abc_impl
ParameterizedInstanceTemplate._bbox
ParameterizedInstanceTemplate._pins
ParameterizedInstanceTemplate.cellname
ParameterizedInstanceTemplate.libname
ParameterizedInstanceTemplate.name
- UserDefinedTemplate class
UserDefinedTemplate
UserDefinedTemplate.__init__()
UserDefinedTemplate.bbox()
UserDefinedTemplate.generate()
UserDefinedTemplate.height()
UserDefinedTemplate.pins()
UserDefinedTemplate.size()
UserDefinedTemplate.summarize()
UserDefinedTemplate.width()
UserDefinedTemplate._abc_impl
UserDefinedTemplate._bbox
UserDefinedTemplate._generate
UserDefinedTemplate._pins
UserDefinedTemplate.name
- routing module
- RoutingMeshTemplate class
RoutingMeshTemplate
RoutingMeshTemplate.__init__()
RoutingMeshTemplate.add_node()
RoutingMeshTemplate.add_track()
RoutingMeshTemplate.bbox()
RoutingMeshTemplate.generate()
RoutingMeshTemplate.height()
RoutingMeshTemplate.pins()
RoutingMeshTemplate.size()
RoutingMeshTemplate.summarize()
RoutingMeshTemplate.width()
RoutingMeshTemplate._abc_impl
RoutingMeshTemplate.grid
RoutingMeshTemplate.name
RoutingMeshTemplate.nodes
RoutingMeshTemplate.tracks
- RoutingMeshTemplate class
- laygo2.object.grid module
- Core methods
- CircularMapping class
CircularMapping
CircularMapping.dtype
CircularMapping.__init__()
CircularMapping.append()
CircularMapping.concatenate()
CircularMapping.copy()
CircularMapping.flip()
CircularMapping.get_elements()
CircularMapping.set_elements()
CircularMapping.summarize()
CircularMapping._elements
CircularMapping.elements
CircularMapping.shape
- CircularMappingArray class
CircularMappingArray
CircularMappingArray.dtype
CircularMappingArray.__init__()
CircularMappingArray.append()
CircularMappingArray.concatenate()
CircularMappingArray.copy()
CircularMappingArray.flip()
CircularMappingArray.get_elements()
CircularMappingArray.set_elements()
CircularMappingArray.summarize()
CircularMappingArray._elements
CircularMappingArray.elements
CircularMappingArray.shape
- _AbsToPhyGridConverter class
- _PhyToAbsGridConverter class
- OneDimGrid class
OneDimGrid
OneDimGrid.dtype
OneDimGrid.__init__()
OneDimGrid.append()
OneDimGrid.concatenate()
OneDimGrid.copy()
OneDimGrid.export_to_dict()
OneDimGrid.flip()
OneDimGrid.get_elements()
OneDimGrid.set_elements()
OneDimGrid.summarize()
OneDimGrid._elements
OneDimGrid.abs2phy
OneDimGrid.elements
OneDimGrid.name
OneDimGrid.phy2abs
OneDimGrid.range
OneDimGrid.shape
OneDimGrid.width
- Grid class
Grid
Grid.__init__()
Grid._get_hgrid()
Grid._get_vgrid()
Grid._set_hgrid()
Grid._set_vgrid()
Grid.bbox()
Grid.bottom()
Grid.bottom_left()
Grid.bottom_right()
Grid.center()
Grid.copy()
Grid.crossing()
Grid.get_range()
Grid.hflip()
Grid.hstack()
Grid.left()
Grid.overlap()
Grid.right()
Grid.set_range()
Grid.summarize()
Grid.top()
Grid.top_left()
Grid.top_right()
Grid.union()
Grid.vflip()
Grid.vstack()
Grid._xy
Grid.abs2phy
Grid.elements
Grid.h
Grid.height
Grid.height_vec
Grid.hgrid
Grid.m
Grid.mn
Grid.n
Grid.name
Grid.phy2abs
Grid.range
Grid.shape
Grid.v
Grid.vgrid
Grid.width
Grid.width_vec
Grid.x
Grid.xy
Grid.y
- PlacementGrid class
PlacementGrid
PlacementGrid.__init__()
PlacementGrid._get_hgrid()
PlacementGrid._get_vgrid()
PlacementGrid._set_hgrid()
PlacementGrid._set_vgrid()
PlacementGrid.bbox()
PlacementGrid.bottom()
PlacementGrid.bottom_left()
PlacementGrid.bottom_right()
PlacementGrid.center()
PlacementGrid.copy()
PlacementGrid.crossing()
PlacementGrid.get_range()
PlacementGrid.hflip()
PlacementGrid.hstack()
PlacementGrid.left()
PlacementGrid.overlap()
PlacementGrid.place()
PlacementGrid.right()
PlacementGrid.set_range()
PlacementGrid.summarize()
PlacementGrid.top()
PlacementGrid.top_left()
PlacementGrid.top_right()
PlacementGrid.union()
PlacementGrid.vflip()
PlacementGrid.vstack()
PlacementGrid._xy
PlacementGrid.abs2phy
PlacementGrid.elements
PlacementGrid.h
PlacementGrid.height
PlacementGrid.height_vec
PlacementGrid.hgrid
PlacementGrid.m
PlacementGrid.mn
PlacementGrid.n
PlacementGrid.name
PlacementGrid.phy2abs
PlacementGrid.range
PlacementGrid.shape
PlacementGrid.type
PlacementGrid.v
PlacementGrid.vgrid
PlacementGrid.width
PlacementGrid.width_vec
PlacementGrid.x
PlacementGrid.xy
PlacementGrid.y
- RoutingGrid class
RoutingGrid
RoutingGrid.__init__()
RoutingGrid._get_hgrid()
RoutingGrid._get_vgrid()
RoutingGrid._set_hgrid()
RoutingGrid._set_vgrid()
RoutingGrid.bbox()
RoutingGrid.bottom()
RoutingGrid.bottom_left()
RoutingGrid.bottom_right()
RoutingGrid.center()
RoutingGrid.copy()
RoutingGrid.crossing()
RoutingGrid.get_range()
RoutingGrid.hflip()
RoutingGrid.hstack()
RoutingGrid.left()
RoutingGrid.overlap()
RoutingGrid.pin()
RoutingGrid.right()
RoutingGrid.route()
RoutingGrid.route_via_track()
RoutingGrid.set_range()
RoutingGrid.summarize()
RoutingGrid.top()
RoutingGrid.top_left()
RoutingGrid.top_right()
RoutingGrid.union()
RoutingGrid.vflip()
RoutingGrid.via()
RoutingGrid.vstack()
RoutingGrid._xy
RoutingGrid.abs2phy
RoutingGrid.elements
RoutingGrid.h
RoutingGrid.height
RoutingGrid.height_vec
RoutingGrid.hextension
RoutingGrid.hextension0
RoutingGrid.hgrid
RoutingGrid.hlayer
RoutingGrid.hwidth
RoutingGrid.m
RoutingGrid.mn
RoutingGrid.n
RoutingGrid.name
RoutingGrid.phy2abs
RoutingGrid.pin_hlayer
RoutingGrid.pin_vlayer
RoutingGrid.primary_grid
RoutingGrid.range
RoutingGrid.shape
RoutingGrid.type
RoutingGrid.v
RoutingGrid.vextension
RoutingGrid.vextension0
RoutingGrid.vgrid
RoutingGrid.viamap
RoutingGrid.vlayer
RoutingGrid.vwidth
RoutingGrid.width
RoutingGrid.width_vec
RoutingGrid.x
RoutingGrid.xcolor
RoutingGrid.xy
RoutingGrid.y
RoutingGrid.ycolor
- laygo2.object.database module
- BaseDatabase class
- Library class
- Design class
- append() method
- place() method
- route() method
- route_via_track() method
- via() method
- pin() method
- export_to_template() method
Design
Design.__init__()
Design.append()
Design.export_to_template()
Design.get_cellname()
Design.get_i()
Design.get_libname()
Design.get_matched_rects_by_layer()
Design.get_p()
Design.get_r()
Design.get_vi()
Design.items()
Design.keys()
Design.pin()
Design.place()
Design.route()
Design.route_via_track()
Design.set_cellname()
Design.set_i()
Design.set_libname()
Design.set_p()
Design.set_r()
Design.set_vi()
Design.summarize()
Design.via()
Design.bbox
Design.cellname
Design.elements
Design.i
Design.instances
Design.libname
Design.name
Design.noname_index
Design.p
Design.params
Design.paths
Design.pins
Design.r
Design.rects
Design.texts
Design.vi
Design.virtual_instances