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

16 vues (au cours des 30 derniers jours)
Gregor
Gregor le 10 Fév 2025
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?

Réponse acceptée

Kiran Kintali
Kiran Kintali le 10 Fév 2025
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')

Plus de réponses (0)

Catégories

En savoir plus sur Code Generation dans Help Center et File Exchange

Produits


Version

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by