Inferring RAM zero index issue

1 ビュー (過去 30 日間)
Robert Fifield
Robert Fifield 2021 年 11 月 12 日
回答済み: Kiran Kintali 2021 年 11 月 12 日
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

回答 (1 件)

Kiran Kintali
Kiran Kintali 2021 年 11 月 12 日
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')

カテゴリ

タグ

製品


リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by