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

9 次查看(过去 30 天)
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 CenterFile Exchange 中查找有关 Code Generation 的更多信息

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by