Library
rtlab/Communication/SharedMemory
Block
The OpSharedMemoryRead block allows a user to read a shared memory in memory or on a physical address.
Mask
Description
The OpSharedMemoryRead is used in a Master, or Slave subsystem along with the OpSharedMemoryCtrl block, to allow communication with shared memory.
Parameters
Controller ID: Specifies the controller ID of the OpShared Memory Ctrl that the Write block will use.
Offset: Specifies the starting memory offset in global Shared Memory space for this block.
Memory access size: Specifies the size of each write access to the memory. Each size corresponds to a certain amount of data written for each memory access:
byte | 8 bits integer data |
---|---|
word | 16 bits integer data |
long word | 32 bits integer data |
float single precision | 32 bits float data |
double-double precision | 64 bits float data |
Write enable: Allows the user to specify when to write to the shared memory. An enable input will be add to the block when selected. The write process will be active with a value equal to or greater than 1, and disable on input equal to 0. If this option is not selected, the block will write to the shared memory each time the block is called.
Inputs
This block has no inputs.
Outputs
Data: Data in the shared memory will be output using the address specified in the controller + the offset. Use a demux to specify the number of outputs to be used. For example, for a demux with a width of 3, the starting address is at 0xd4000, and the memory access size in word format with an offset of 0x00:
Demux output | Offset |
---|---|
1 | 0x00 |
2 | 0x02 |
3 | 0x04 |
Memory access size is in long word format:
Demux output | Offset |
---|---|
1 | 0x00 |
2 | 0x04 |
3 | 0x08 |
Characteristics and Limitations
Direct Feedthrough | N/A |
---|---|
Discrete sample time | Yes |
XHP support | Yes |
Work offline | No |