Struct atoll::grid::AbstractLayer
source · pub struct AbstractLayer {
pub dir: RoutingDir,
pub line: i64,
pub space: i64,
pub offset: TrackOffset,
pub endcap: i64,
pub via_spacing: usize,
pub strap_via_spacing: usize,
}
Expand description
An abstract layer with no relation to a physical layer in any process.
Just a set of numeric constants.
Fields§
§dir: RoutingDir
The preferred routing direction.
line: i64
The line width.
space: i64
The space between adjacent tracks.
offset: TrackOffset
The offset of tracks relative to tile edges.
endcap: i64
How far to extend a track beyond the center-to-center intersection point with a track on the layer below.
via_spacing: usize
The minimum spacing between adjacent vias on the same metal track.
strap_via_spacing: usize
The minimum spacing between adjacent vias on the same power strap.
Implementations§
source§impl AbstractLayer
impl AbstractLayer
sourcepub fn tracks(&self) -> UniformTracks
pub fn tracks(&self) -> UniformTracks
The (infinite) set of tracks on this layer.
Trait Implementations§
source§impl AtollLayer for AbstractLayer
impl AtollLayer for AbstractLayer
source§fn dir(&self) -> RoutingDir
fn dir(&self) -> RoutingDir
The preferred routing direction.
source§fn offset(&self) -> TrackOffset
fn offset(&self) -> TrackOffset
An offset that shifts the first track of the layer.
source§fn endcap(&self) -> i64
fn endcap(&self) -> i64
The amount by which this layer should extend beyond the center line of a track on the this layer’s grid defining layer.
source§fn via_spacing(&self) -> usize
fn via_spacing(&self) -> usize
The minimum spacing between adjacent vias on the same metal track.
source§fn strap_via_spacing(&self) -> usize
fn strap_via_spacing(&self) -> usize
The minimum spacing between adjacent vias on the same power strap.
source§fn physical_offset(&self) -> i64
fn physical_offset(&self) -> i64
The offset of the first track in physical units.
source§impl Clone for AbstractLayer
impl Clone for AbstractLayer
source§fn clone(&self) -> AbstractLayer
fn clone(&self) -> AbstractLayer
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for AbstractLayer
impl Debug for AbstractLayer
source§impl<'de> Deserialize<'de> for AbstractLayer
impl<'de> Deserialize<'de> for AbstractLayer
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Hash for AbstractLayer
impl Hash for AbstractLayer
source§impl PartialEq for AbstractLayer
impl PartialEq for AbstractLayer
source§fn eq(&self, other: &AbstractLayer) -> bool
fn eq(&self, other: &AbstractLayer) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for AbstractLayer
impl Serialize for AbstractLayer
impl Eq for AbstractLayer
impl StructuralPartialEq for AbstractLayer
Auto Trait Implementations§
impl RefUnwindSafe for AbstractLayer
impl Send for AbstractLayer
impl Sync for AbstractLayer
impl Unpin for AbstractLayer
impl UnwindSafe for AbstractLayer
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, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Flipped<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Flipped<T>) -> U
fn from_layout_type(other: &Flipped<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<InOut<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &InOut<T>) -> U
fn from_layout_type(other: &InOut<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Input<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Input<T>) -> U
fn from_layout_type(other: &Input<T>) -> U
Creates this layout type from another layout type.
source§impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
impl<T, U> CustomHardwareType<Output<T>> for Uwhere
U: CustomHardwareType<T>,
T: HardwareType,
source§fn from_layout_type(other: &Output<T>) -> U
fn from_layout_type(other: &Output<T>) -> U
Creates this layout type from another layout type.
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request