Struct libreda_lefdef::def_ast::Component
source · pub struct Component {
pub name: String,
pub model_name: String,
pub eeq_master: Option<String>,
pub source: ComponentSource,
pub position: Option<(Point<i32>, Orient, bool)>,
pub halo: Option<(bool, i32, i32, i32, i32)>,
pub route_halo: Option<(i32, String, String)>,
pub weight: u32,
pub region: Option<String>,
pub properties: BTreeMap<String, PropertyValue>,
}Expand description
Instantiation of a component in DEF.
Fields§
§name: StringName of the component instance.
model_name: StringName of the component template/model.
eeq_master: Option<String>Name of the electrically equivalent master.
source: ComponentSourceTells where this component has been created.
position: Option<(Point<i32>, Orient, bool)>Placement location of the component.
(location, orientation, is fixed)
halo: Option<(bool, i32, i32, i32, i32)>Placement halo. Defines a placement blockage around the component.
If is_soft is set, then the blockage does not need to be respected after the initial placement.
(is_soft, left, bottom, right, top).
route_halo: Option<(i32, String, String)>Routing halo. TODO.
Structure is (haloDist, minLayer, maxLayer).
weight: u32Weight of the component placement. Tells how costly a relocation of the component is.
region: Option<String>Name of the region where this component should be placed.
properties: BTreeMap<String, PropertyValue>Custom properties.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Component
impl RefUnwindSafe for Component
impl Send for Component
impl Sync for Component
impl Unpin for Component
impl UnwindSafe for Component
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more