Memory dump of Simulink block 'Single Port RAM'

2 views (last 30 days)
I have added a 'Single port RAM' block to my simulink model.
I am feeding it data through the 'din' while setting the 'addr' line to the address where I want to write the data (in my case the address is counting down from 100 to 1). All while holding the 'wr_en' line to 1.
The model runs and produces no errors.
Is there a way to visualize the contents of the memory after the simulation has run? The Data Inspector doesn't seem to have a way to look into the memory of the 'Single port RAM' to see what is in there.
Thanks.

Accepted Answer

Harikrishnan Balachandran Nair
Hi,
'To workspace' Blocks in simulink can be used to write the signal data to the base workspace. Using this block, you can log the signal 'din' that is being written to the 'single port RAM', to the base workspace, so that further analysis can be done on this data.
Hope this helps!
  2 Comments
Michel Bondy
Michel Bondy on 15 Dec 2021
Right, ok. but the data on the port 'din' is sequential in time, if I just put that to a workspace variable the values will be sequential in time, and not be scattered by the address - that's what I am after.
As I run the simulation, the 'addr'ess of the data on 'din' is given. When the simulation is done I want to be able to see at which memory location each piece of data ended up. Can I dump the memory somehow?
Harikrishnan Balachandran Nair
One possible workaround would be to store both 'Addresses' and 'Input Data' to the Workspace using 'To workspace' Blocks. This way, you can form the relation between the 'Address' and Input Data'.
You can also try using 'Map containers' to store the relationship between the Address and Data using the available workspace variables.
Hope this helps!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!