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.


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.