POW2(A) is not supported when A is a FI object.

1 回表示 (過去 30 日間)
Athira Km
Athira Km 2021 年 9 月 22 日
コメント済み: Athira Km 2021 年 10 月 5 日
Hi Team,
I am getting the below error while doing HDL - coder conversion from MATLAB to c.
seems like both a and b in b = pow2(a,K) are fi.
POW2(A) is not supported when A is a FI object.
Could anyone help in this. Thanks
Athira KM
  1 件のコメント
Walter Roberson
Walter Roberson 2021 年 9 月 22 日
Looks like an implementation bug to me.

サインインしてコメントする。

回答 (2 件)

Kiran Kintali
Kiran Kintali 2021 年 9 月 23 日
Please share your design.m and testbench.m and MATLAB to HDL project file.
Thanks
  1 件のコメント
Athira Km
Athira Km 2021 年 9 月 23 日
Attaching the latest code.
Cordinator.m is the function used and trans.m is that starting file.

サインインしてコメントする。


Kiran Kintali
Kiran Kintali 2021 年 9 月 25 日
You are using Variable dimensions and the coding style is not suitable for HDL Code generation or FPGA/ASIC synthesis.
Few other observations:
There are some comms internal toolbox functions such as "comm.internal.utilities.de2biBase2RightMSB" used in the floating point code targeted for the fixed-point conversion workflow. These functions do not support fixed-point types as inputs.
% Optimized bi2de taken from comms.internal.utilities
function dec = bi2deOptimized(bin)
dec = comm.internal.utilities.bi2deRightMSB(bin, 2);
end
% Optimized de2bi for scalar inputs taken from comms.internal.utilities
function bin = de2biOptimized(dec, n)
bin = comm.internal.utilities.de2biBase2RightMSB(dec, n);
end
You may needs to cast the inputs to double at the minimum to get through float2fixed conversion but you would be stuck in HDL code generaiton eventually; consider providing HDL friendly replacement functions with sutiable fixed-point equivalents.
You also need to manually make TimeStamp variable to 2 bits wordlength; bitshift does not support shifting 1 bit for some reason. Needs more investigation.
Please update the code to remove variable dimensions and share the attachment.
Thanks
  1 件のコメント
Athira Km
Athira Km 2021 年 10 月 5 日
Hi Sir,
Thank you for your verification and comments. Here by I am attaching the latest code with code changes.
I have changed all the variable dimensions into fixed and attaching the screenshot for reference
Now the error hitting is in HDL code coversion.
Could you please help here
Attaching the latest source code with this comment.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCode Generation についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by