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!