Trait NetlistUtil

Source
pub trait NetlistUtil: NetlistBase {
    // Provided methods
    fn net_of_terminal(
        &self,
        terminal: &TerminalId<Self>,
    ) -> Option<Self::NetId> { ... }
    fn for_each_terminal_of_net<F>(&self, net: &Self::NetId, f: F)
       where F: FnMut(TerminalId<Self>) { ... }
    fn each_terminal_of_net_vec(
        &self,
        net: &Self::NetId,
    ) -> Vec<TerminalId<Self>> { ... }
    fn each_terminal_of_net<'a>(
        &'a self,
        net: &Self::NetId,
    ) -> Box<dyn Iterator<Item = TerminalId<Self>> + 'a> { ... }
    fn is_constant_net(&self, net: &Self::NetId) -> bool { ... }
    fn nets_of_cell_instance(
        &self,
        inst: &Self::CellInstId,
    ) -> Box<dyn Iterator<Item = Self::NetId> + '_> { ... }
    fn for_each_circuit_instance_of_net<F>(&self, net: &Self::NetId, f: F)
       where F: FnMut(Self::CellInstId) { ... }
    fn each_circuit_instance_of_net_vec(
        &self,
        net: &Self::NetId,
    ) -> Vec<Self::CellInstId> { ... }
    fn fmt(&self, f: &mut Formatter<'_>) -> Result { ... }
}
Expand description

Non-modifying utility functions for netlists. Import the this trait to use the utility functions all types that implement the NetlistBase trait.

Provided Methods§

Source

fn net_of_terminal(&self, terminal: &TerminalId<Self>) -> Option<Self::NetId>

Get the net that is attached to this terminal.

Source

fn for_each_terminal_of_net<F>(&self, net: &Self::NetId, f: F)
where F: FnMut(TerminalId<Self>),

Call a function for each terminal connected to this net.

Source

fn each_terminal_of_net_vec(&self, net: &Self::NetId) -> Vec<TerminalId<Self>>

Get a Vec with all terminal IDs connected to this net.

Source

fn each_terminal_of_net<'a>( &'a self, net: &Self::NetId, ) -> Box<dyn Iterator<Item = TerminalId<Self>> + 'a>

Iterate over all terminals of a net.

Source

fn is_constant_net(&self, net: &Self::NetId) -> bool

Check if the net is either the constant LOW or HIGH.

Source

fn nets_of_cell_instance( &self, inst: &Self::CellInstId, ) -> Box<dyn Iterator<Item = Self::NetId> + '_>

Get all nets that are connected to the circuit instance.

Source

fn for_each_circuit_instance_of_net<F>(&self, net: &Self::NetId, f: F)
where F: FnMut(Self::CellInstId),

Visit all circuit instances connected to this net. An instance is touched not more than once.

Source

fn each_circuit_instance_of_net_vec( &self, net: &Self::NetId, ) -> Vec<Self::CellInstId>

Iterate over all circuit instances connected to this net. An instance is touched not more than once.

Source

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Write the netlist in a human readable form.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§