pub enum OffchipUnplaceable {
NothingOffChip,
CellsNeedConfigBram {
backend: MemBackend,
},
RegionsLargerThanPart {
words: u64,
part_words: u64,
},
StallOutlastsByte {
stall_cycles: u64,
byte_cycles: u64,
},
InitOutlastsLoad {
init_cycles: u64,
load_cycles: u64,
},
}Expand description
Why an engine cannot have these memories off-chip.
Variants§
NothingOffChip
Nothing is off-chip; the on-chip emitters build that engine.
CellsNeedConfigBram
The walk reads the config image through a registered port only under MemBackend::ConfigBram;
the other backends read it combinationally, which no cache can serve.
Fields
§
backend: MemBackendRegionsLargerThanPart
The regions the memories need do not fit the part.
StallOutlastsByte
A stall the loader can meet outlasts one UART byte, so a byte could complete while the one before it still waits.
InitOutlastsLoad
The edge could still be initializing the part when the loader first touches it.
Trait Implementations§
Source§impl Clone for OffchipUnplaceable
impl Clone for OffchipUnplaceable
Source§fn clone(&self) -> OffchipUnplaceable
fn clone(&self) -> OffchipUnplaceable
Returns a duplicate 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 OffchipUnplaceable
impl Debug for OffchipUnplaceable
Source§impl PartialEq for OffchipUnplaceable
impl PartialEq for OffchipUnplaceable
impl Eq for OffchipUnplaceable
impl StructuralPartialEq for OffchipUnplaceable
Auto Trait Implementations§
impl Freeze for OffchipUnplaceable
impl RefUnwindSafe for OffchipUnplaceable
impl Send for OffchipUnplaceable
impl Sync for OffchipUnplaceable
impl Unpin for OffchipUnplaceable
impl UnsafeUnpin for OffchipUnplaceable
impl UnwindSafe for OffchipUnplaceable
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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
§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.