Module libreda_db::netlist::traits
source · [−]Expand description
Traits for netlist data types.
Instead of putting a netlist data structure into the center of the world,
this data base concentrates on the way how a netlist can be accessed and modified.
The basic necessary operations are defined in the [NetlistBase'] trait and in the [
NetlistEdit`] trait.
More complex operations on netlist are provided by the NetlistUtil
and NetlistEditUtil
traits.
Re-exports
pub use crate::traits::HierarchyBase;
pub use crate::traits::HierarchyEdit;
Traits
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.
Additional requirement that all ID types are Send + Sync
as needed for multithreading