Struct rsim::processor::elements::memory::AggregateMemory [−][src]
Struct that combines a set of array-backed memory mappings. The mapped address ranges may not overlap.
Fields
mappings: Vec<Box<dyn Memory>>full_range: Range<usize>Implementations
impl AggregateMemory[src]
impl AggregateMemory[src]pub fn from_mappings(mappings: Vec<Box<dyn Memory>>) -> Self[src]
Take a set of mappings, verify they do not overlap, and turn them into an AggregateMemory.
Panics if any mappings overlap.
pub fn get_io_values(&self) -> Vec<Option<u64>>[src]
Returns a vector of all stored I/O values
Trait Implementations
impl From<MemoryBacking> for AggregateMemory[src]
impl From<MemoryBacking> for AggregateMemory[src]For convenience, allow a single MemoryBacking to be converted directly to an AggregateMemory
fn from(backing: MemoryBacking) -> Self[src]
impl Memory<u64> for AggregateMemory[src]
impl Memory<u64> for AggregateMemory[src]fn range(&self) -> Range<usize>[src]
fn as_any(&self) -> &dyn Any[src]
fn load_u8(&mut self, addr: TAddr) -> MemoryResult<u8>[src]
fn load_u16(&mut self, addr: TAddr) -> MemoryResult<u16>[src]
fn load_u32(&mut self, addr: TAddr) -> MemoryResult<u32>[src]
fn load_u64(&mut self, addr: TAddr) -> MemoryResult<u64>[src]
fn store_u8(&mut self, addr: TAddr, val: u8) -> MemoryResult<()>[src]
fn store_u16(&mut self, addr: TAddr, val: u16) -> MemoryResult<()>[src]
fn store_u32(&mut self, addr: TAddr, val: u32) -> MemoryResult<()>[src]
fn store_u64(&mut self, addr: TAddr, val: u64) -> MemoryResult<()>[src]
impl<TData> MemoryOf<TData, u64> for AggregateMemory where
dyn Memory: MemoryOf<TData>, [src]
impl<TData> MemoryOf<TData, u64> for AggregateMemory where
dyn Memory: MemoryOf<TData>, [src]Foreach TData, where Memory implements MemoryOf
fn read(&mut self, addr: u64) -> MemoryResult<TData>[src]
fn write(&mut self, addr: u64, val: TData) -> MemoryResult<()>[src]
impl<'a, uXLEN: PossibleXlen> VecMemInterface<uXLEN, u128> for AggregateMemory[src]
impl<'a, uXLEN: PossibleXlen> VecMemInterface<uXLEN, u128> for AggregateMemory[src]fn load_from_memory(
&mut self,
eew: Sew,
addr_provenance: (u64, Provenance)
) -> Result<u128>[src]
&mut self,
eew: Sew,
addr_provenance: (u64, Provenance)
) -> Result<u128>
fn store_to_memory(
&mut self,
eew: Sew,
val: u128,
addr_provenance: (u64, Provenance)
) -> Result<()>[src]
&mut self,
eew: Sew,
val: u128,
addr_provenance: (u64, Provenance)
) -> Result<()>