Delay in MATLAB Function block
显示 更早的评论
Hello, I'm trying to make a radiometer system using HDL Coder.
I am using MATLAB Function block as part of my system (Fig. 1), and I am getting a "delay required" error when generating HDL code, even though I have given the necessary delay for the blocks. I have tried changing the sampling time and the oversampling factor, but this does not solve the problem. Does anyone have a good idea to solve the block delay problem? If so, I would like to know.
I would like to use MATLAB Function block if possible without Deserializer block. The necessary delay is five.
Thanks.
Figure 1:

Code implemented in the above block (I made my own buffering).
function [ValidOut, DataOut] = Bufferring(DataIn, ValidIn, count)
N = 128;
persistent A
p = 1+2i;
if isempty(A)
A = zeros(1, N, 'like', p); //Initialize
end
shift = 1;
row = 1;
m = length(A);
a = zeros(N, 1, 'like', p); //Initialize
if ValidIn == true
A(row,:) = [A(row,(end-mod(shift,m)+1):end) A(row,1:(end-mod(shift,m)))]; //circular shift
A(1, 1) = DataIn; //Input data
if count == (N-1)
DataOut = A'; //Output data
ValidOut = false;
else
DataOut = a; //Output data
ValidOut = true;
end
else
DataOut = a; //Output data
ValidOut = true;
end
end
回答(1 个)
Jacob Mazur
2023-12-21
移动:Angelo Yeo
2023-12-25
0 个投票
Hello,
Sorry to hear your encountering this unexpected error. Please reach out to our technical support team and we'd be happy to investigate this issue further: https://www.mathworks.com/support/contact_us.html
In your email, please include the following information:
- The output of executing the following command in the MATLAB Command Window:
>> ver -support
- Any Simulink models and MATLAB code files needed to reproduce this error.
Thank you!
类别
在 帮助中心 和 File Exchange 中查找有关 Speed and Area Optimization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!