Module libreda_db::netlist

source ·
Expand description

Traits for representation of circuit-level netlists.

A netlist represents the connections of electrical components (here called ‘circuits’) such as standard-cells or macro blocks. Each of the circuits can be composed of instances of other circuits (recursion is not allowed). A circuit serves as a template for circuit instances. The circuit defines ‘pins’ which represent the electrical connectors to the circuit. Pins can be connected electrically by ‘nets’ which represent an electrical potential like a metal wire. Nets are local to a circuit.

The way a netlist can be accessed and modified is defined by the following two traits:

  • NetlistBase defines basic functions for accessing and traversing a netlist.
  • NetlistEdit defines basic functions for building and modifying a netlist.

The Chip data structure implements the both traits.

Modules

  • ID of an arc (net segment). The arc is defined by two terminals (pin or pin instance).
  • The type of a pin is specified by a signal direction.
  • Input and output interface definitions for netlists.
  • The prelude helps to import most commonly used modules.
  • Generalization of pins and pin instances.
  • Traits for netlist data types.
  • Utility functions for dealing with netlists.