pub struct PsramCache {
pub index_bits: u32,
pub offset_bits: u32,
}Expand description
The heap cache in front of the edge: direct-mapped, write-back and write-allocate, 2^index_bits lines
of 2^offset_bits words, each line filled and written back as one burst.
Fields§
§index_bits: u32§offset_bits: u32Implementations§
Source§impl PsramCache
impl PsramCache
pub fn new( edge: &PsramEdge, index_bits: u32, offset_bits: u32, ) -> Result<Self, PsramUnplaceable>
pub fn lines(&self) -> u32
pub fn line_words(&self) -> u32
pub fn words(&self) -> u32
Sourcepub fn miss_stall_cycles(&self, edge: &PsramEdge) -> u64
pub fn miss_stall_cycles(&self, edge: &PsramEdge) -> u64
Cycles busy holds for a miss whose victim is dirty: the request’s own cycle, then for the
write-back and for the fill the cycle the edge accepts it, its burst, and the cycle that sees
req_ready again.
Sourcepub fn worst_stall_cycles(&self, edge: &PsramEdge) -> u64
pub fn worst_stall_cycles(&self, edge: &PsramEdge) -> u64
The longest stall: a write and a read issued together, each missing with a dirty victim.
Trait Implementations§
Source§impl Clone for PsramCache
impl Clone for PsramCache
Source§fn clone(&self) -> PsramCache
fn clone(&self) -> PsramCache
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 PsramCache
impl Debug for PsramCache
Source§impl PartialEq for PsramCache
impl PartialEq for PsramCache
impl Copy for PsramCache
impl Eq for PsramCache
impl StructuralPartialEq for PsramCache
Auto Trait Implementations§
impl Freeze for PsramCache
impl RefUnwindSafe for PsramCache
impl Send for PsramCache
impl Sync for PsramCache
impl Unpin for PsramCache
impl UnsafeUnpin for PsramCache
impl UnwindSafe for PsramCache
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.