Inferring RAM zero index issue
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I'm using Simulink with HDL coder and would like to create a resettable RAM using a Matlab Fnc. I can infer a RAM using the code below:
function rd_data = ram(wr_en, wr_addr, wr_data, rd_addr)
%% Define vars
persistent mem_data
%% Setup var types
if isempty(mem_data)
mem_data = zeros(1,2^wr_data.WordLength);
end
rd_data_int = mem_data(rd_addr+1);
rd_data = fi(rd_data_int,numerictype(wr_data));
if wr_en == 1
mem_data(wr_addr+1) = wr_data;
end
end
However I have to use the +1 for the array index to avoid zero indexing the matlab array and this +1 propagates into the HDL code.
I would be very grateful for some guidance as to how to avoid this issue and not have the +1 in my HDL code.
I don't want to use the system RAM as I would like to implement a resettable RAM which I don't this is supported.
Thank you
0 Kommentare
Antworten (2)
Kiran Kintali
am 12 Nov. 2021
Can you MATLAB code (dut.m) and a Testbench (dut_tb.m) and the project file with MATLAB to HDL codegen settings?
This example shows a typical RAM setup.
>> mlhdlc_demo_setup('heq')
0 Kommentare
Ion CASU
am 9 Jun. 2023
I am having the same issue. Could anyone explain how to avoid it, please?
0 Kommentare
Siehe auch
Kategorien
Mehr zu HDL Coder finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!