Expand description

Traits for simple placement engines that care about standard-cells only and cannot handle obstructions.

Modules

Structs

  • Default implementation for CellInstRef. This is just a wrapper around a netlist and a cell ID.
  • A reference to a cell. This is just a wrapper around a netlist and a cell ID.
  • Reference to a layer.
  • A reference to a net. This is just a wrapper around a netlist and a net ID.
  • A reference to a pin instance. This is just a wrapper around a netlist and a pin instance ID.
  • A reference to a pin. This is just a wrapper around a netlist and a pin ID.
  • Adapt a SimpleStdCellPlacer to expose the MixedSizePlacer API.
  • A point is defined by a x and y coordinate in the euclidean plane.
  • Reference to a shape.
  • A SimplePolygon is a polygon defined by vertices. It does not contain holes but can be self-intersecting.

Enums

Traits

  • Calculate the area of a geometry.
  • Calculation of the ‘bounding box’, i.e. the smallest rectangle that contains the geometrical object.
  • Calculate the doubled oriented area of a geometry. Using the doubled area allows to compute the area without using fractions. This is especially helpful when computing in integer coordinates.
  • Most basic trait for the hierarchical flyweight pattern which is used to efficiently represent chip layouts and netlists.
  • Helper trait which constrains HierarchyBase for such that ID types are Send and Sync as commonly used for parallel algorithms.
  • Edit functions for a hierarchical flyweight structure like a netlist or a cell-based layout.
  • Modifying utility functions for the cell hierarchy.. Import the this trait to use the utility functions all types that implement the HierarchyEdit trait.
  • Identifier types used for components of hierarchical netlists and layouts.
  • Trait that provides object-like read access to a cell hierarchy structure and its elements.
  • Non-modifying utility functions for the cell hierarchy.. Import the this trait to use the utility functions all types that implement the HierarchyBase trait.
  • Trait used for identifier types.
  • Traid used for thread-safe.
  • Fused layout and netlist view. This trait makes the link between netlist elements and layout elements.
  • Helper trait which constrains L2NBase for such that ID types are Send and Sync as commonly used for parallel algorithms.
  • Fused layout and netlist view. This trait makes the link between netlist elements and layout elements.
  • Defines ID types of a netlist and layout. Implemented automatically.
  • Most basic trait of a layout.
  • Helper trait which constrains LayoutBase for such that ID types are Send and Sync as commonly used for parallel algorithms.
  • Trait for layouts that support editing.
  • Helper functions for layouts.
  • Define ID types used in layouts.
  • Trait that provides object-like read access to a layout structure and its elements.
  • Transform the geometrical object by transforming each point of it.
  • Mirror at the x or y axis.
  • Most basic trait for traversing a netlist. A netlist extends the HierarchyBase and hence is hierarchical. NetlistBase extends the components of the hierarchy with pins and nets. Each cell can have pins. Each cell instance has pin instances that correspond one-to-one to the pins of the template cell. Cells can contain nets. Each pin and each pin instance can be connected to one or zero nets. A net can be connected to an arbitrary number of pins and pin instances.
  • Helper trait which constrains NetlistBase for such that ID types are Send and Sync as commonly used for parallel algorithms.
  • Trait for netlists that support editing.
  • Modifying utility functions for netlists. Import the this trait to use the utility functions all types that implement the NetlistBase trait.
  • Identifier types used for components of netlists.
  • Trait that provides object-like read access to a hierarchical netlist structure and its elements.
  • Non-modifying utility functions for netlists. Import the this trait to use the utility functions all types that implement the NetlistBase trait.
  • Access shapes and instances in a layout based on their locations.
  • Rotate by a integer multiple of 90 degrees.
  • Scale the geometrical shape. Scaling center is the origin (0, 0).
  • Traits for simple placement engines that care about standard-cells only and cannot handle obstructions.
  • Translate the geometrical object by a vector.
  • Try the calculation of the ‘bounding box’, i.e. the smallest rectangle that contains the geometrical object. In some cases this is not always possible, so the try might fail. For instance a set of polygons does not have a bounding box if the set is empty.
  • This trait defines the type-casting of the coordinate types for geometrical objects.
  • Try to compute the bounding box while consuming the data. This is intended to be used for computing bounding boxes over iterators.
  • Compute the winding number of a geometrical object around a point. The winding number is used to check if a point is contained in a shape.

Functions

  • Copy all layers (without their contents) from a source layout into a destination layout.
  • Copy all layers (without their contents) from a source layout into a destination layout and preserve the layer IDs. Source and target layout must have the same LayerId type.
  • Copy a layer (without its content) from a source layout into a destination layout.
  • Copy a layer (without its content) from a source layout into a destination layout while preserving the layer ID. LayerId types of the both layouts must be the same.
  • Copy the pin definitoins from a cell to another cell in another netlist.
  • Copy the shapes on a specific layer from one cell into another cell.
  • Copy the shapes from all layers in a cell into another cell.

Type Definitions

  • Default signed integer type.
  • Default unsigned integer type.