How do i define an array as a HDL input?

2 Ansichten (letzte 30 Tage)
Eldin Ramic
Eldin Ramic am 31 Okt. 2023
Kommentiert: Eldin Ramic am 9 Nov. 2023
Hi,
I want to use an array as an input type in my HDL model, e.g [uint8; uint8], but the following error is generated:
Expression '[uint8; uint8]' for block 'xxx' returns an array of objects.
I cant find any documenation about using arrays as HDL inputs.
Thank you!

Akzeptierte Antwort

Tom Richter
Tom Richter am 31 Okt. 2023
Starting in R2022a, HDL Coder supports matrix types inputs and outputs at the DUT interface. This enhancement reduces the overhead of adding Reshape and Concatenate blocks inside the DUT and also improves readability of the generated HDL code.
I assume you talk about a Simulink model and with HDL model you mean a subsystem (DUT) which contains the algorithm for HDL code generation. With that you can e.g. use a constant block which outputs a matrix and use it as an input to the DUT. If the DUT is a model with imports and outposts you can define to port size (e.g [3, 2]) and the data type (e.g. uint8 or fixdt(1,8,4)). The data type is the same for all matrix entries.
Where did you try to include the [uint8, uint8] term?
More information here.

Weitere Antworten (1)

Kiran Kintali
Kiran Kintali am 1 Nov. 2023
It would be helpful to share your model.
HDL Coder supports vector inputs at the DUT interface. Attached is an example of 40point FFT
You can find similar coding pattern with MATLAB to HDL and vector inputs here.
>> mlhdlc_demo_setup('fft')

Tags

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by