HDLcoder ignores coder.const

조회 수: 3(최근 30일)
Anze Slosar
Anze Slosar 2022년 9월 13일
답변: Kiran Kintali 2022년 9월 25일
I'm tryint to compile some code into HDL. There are weights used in digital filter which I want to precompute at the compile time.
The way I did this is
persistent c buf tout pfb_weights;
if isempty(c)
...
pfb_weights = coder.const(get_pfb_weights(settings_Nfft,settings_Ntaps));
end
The reason I think it is not working is that the coding report says:
  • It lists sin function under Toolbox Function Usage: Supported List. Sin function is only used in get_pfb_weights function
  • It lists coder/matlabcoder under Toolbox Function Usage: Unsupported List
  • If I attempt fixedpoint conversion it complains that function "double" inside get_pfb_weights is not suitable for fixed point conversion and wouldn't proceed.
How do we fix this?

채택된 답변

David Fink
David Fink 2022년 9월 14일
By making the call to get_pfb_weights opaque to code generation (so fixed-point conversion won't try to process it), you can call it extrinsically (in MATLAB), at compile-time, via coder.const and coder.extrinsic.
See the coder.extrinsic documentation for a coder.const example.

추가 답변(1개)

Kiran Kintali
Kiran Kintali 2022년 9월 25일
You can find examples of HDL Coder friendly designs with coder.load and coder.const in the attachment.

범주

Find more on MATLAB Coder in Help Center and File Exchange

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by