struct memeber can not be Simulink.Parameter?

3 ビュー (過去 30 日間)
dayu lai
dayu lai 2021 年 7 月 29 日
コメント済み: dayu lai 2021 年 8 月 5 日
hi,
I am using HDL Coder to generate RTL code from simulink.
While I want some signal internal a simulink to be tunable, which names 'bp' for example. So I wrote following code:
bp = Simulink.Parameter;
bp.Value = [0;0;0];
bp.CoderInfo.StorageClass = 'ExportedGlobal';
Then the bp signal will appeared as a input port in RTL.
However, if I wrote like this:
reg.bp = Simulink.Parameter;
reg.bp.Value = [0;0;0];
reg.bp.CoderInfo.StorageClass = 'ExportedGlobal';
While generate RTL, it comes out error:
Invalid setting in '<some_block>' for parameter 'Value'.
error using slhdlcoder.SimulinkConnection/initModel
Expression 'reg.bp' for block '<some_block>' returns a Simulink.Parameter object that has property values that need to be evaluated. This object should be instantiated in a workspace and referenced by name in Simulink
So it seems struct member can not be simulink parameter?

回答 (1 件)

Kiran Kintali
Kiran Kintali 2021 年 8 月 1 日
Can you share a sample model?
  1 件のコメント
dayu lai
dayu lai 2021 年 8 月 5 日
Hi, I use the same demo in other question
The demo above can generate RTL successfully. However, if I change the parameter of constant before comparator into structure memeber. The compile of MDL is fail.
See the attached png for detail.
In reality, there will be a lot of tunable value in my design. I just want them to be members of structure, like reg.tunable_value0, reg.tunable_value1 and etc. Otherwise my workspace would be full filled with the global tunable value.
How I can do it?

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

カテゴリ

Help Center および File ExchangeHDL Coder についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by