Module libreda_pnr::place::stdcell_placer[][src]

Expand description

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

Modules

The prelude helps to import most commonly used 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.

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

A terminal is a generalization of pins and pin instances.

Either a pin or a pin instance.

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.

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.

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.

Fused layout and netlist view. This trait makes the link between netlist elements and layout elements.

Fused layout and netlist view. This trait makes the link between netlist elements and layout elements.

Most basic trait of a layout.

Trait for layouts that support editing.

Helper functions for 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.

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.

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 a layer (without its content) from a source layout into a destination layout.

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.