pub struct SimpleTieCellInsertionEngine {
pub tie_cell_low: String,
pub tie_cell_high: String,
pub max_fanout: u32,
pub max_distance: Coord,
}Expand description
Insert tie cells and connect unconnected LOW and HIGH nets.
Tie-cells are placed such that the maximal manhattan distance
to the sinks is kept below max_distance.
Fields§
§tie_cell_low: StringName of the tie-low cell to be used for buffering constant LOW nets.
tie_cell_high: StringName of the tie-high cell to be used for buffering constant HIGH nets.
max_fanout: u32Maximal number of cells that should be driven by a tie-cell cell.
Must be larger than 1.
max_distance: CoordMaximal manhattan distance from the tie-cell to the attached sink.
Implementations§
source§impl SimpleTieCellInsertionEngine
impl SimpleTieCellInsertionEngine
sourcepub fn insert_tie_cells_on_net<LN: NetlistEdit + LayoutEdit>(
&self,
chip: &mut LN,
net: &LN::NetId
) -> Result<(Vec<LN::CellInstId>, Vec<LN::NetId>), ()>where
LN::Coord: PrimInt,
pub fn insert_tie_cells_on_net<LN: NetlistEdit + LayoutEdit>( &self, chip: &mut LN, net: &LN::NetId ) -> Result<(Vec<LN::CellInstId>, Vec<LN::NetId>), ()>where LN::Coord: PrimInt,
Insert tie cells to drive the sinks which are attached to this net. The net must be either the constant LOW or HIGH net.
A tie cell is usually used to drive a cluster of many inputs. The way the clusters are formed depends on the locations of the inputs such that the wiring can be minimized from tie-cells to inputs but also the additional space required by tie-cells is reasonable (instead of placing a tie-cell for every input).
sourcefn insert_tie_cells<LN: NetlistEdit + LayoutEdit>(
&self,
chip: &mut LN,
signal_sinks: &Vec<TerminalId<LN>>
) -> Result<(Vec<LN::CellInstId>, Vec<LN::NetId>), ()>where
LN::Coord: PrimInt,
fn insert_tie_cells<LN: NetlistEdit + LayoutEdit>( &self, chip: &mut LN, signal_sinks: &Vec<TerminalId<LN>> ) -> Result<(Vec<LN::CellInstId>, Vec<LN::NetId>), ()>where LN::Coord: PrimInt,
All terminals must be in the same parent cell. Returns a vector of all added tie-cell instances and all added nets.
Trait Implementations§
source§impl Clone for SimpleTieCellInsertionEngine
impl Clone for SimpleTieCellInsertionEngine
source§fn clone(&self) -> SimpleTieCellInsertionEngine
fn clone(&self) -> SimpleTieCellInsertionEngine
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more