MATLAB HDL-Coder: Expression could not be reduced to a constant.

9 ビュー (過去 30 日間)
Gregor
Gregor 2025 年 2 月 10 日
回答済み: Kiran Kintali 2025 年 2 月 10 日
I am trying to pass a struct hwconst into a MATLAB function.
function [out] = function_hdl(in, hwconst)
That function I want to translate into Verilog code using HDL-Coder. hwconst contains a field lfsrWidth. I am then using this field in the MATLAB function as follows:
WD_lfsr = coder.const(hwconst.lfsrWidth);
However, that line gives me an error during building: "Expression could not be reduced to a constant." I guess it's because lfsrWidth is not defined as a constant, see below. That's because the option for that is not there. How to use a structure with hardware constants properly with HDL Coder?

採用された回答

Kiran Kintali
Kiran Kintali 2025 年 2 月 10 日
Is hwconst an input variable (creates hardware interface pins) or just a non-tuanble constant parameter passed into the design from the testbench. If it is a constant parameter you need to right click in the GUI for hwconst and define it a constant value.
Here are some examples on how to do this via command line workflows.
This example shows how to pass / load constants
>> mlhdlc_demo_setup('comms_data_packet')

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by