Error while converting Simulink model with lookup tableto VHDL using HDL coder

19 次查看(过去 30 天)
While trying to convert to VHDL code from SImulink Model File(Which has a lookup table using the HDL coder,it is giving an error
"Double data type not supported on ports of the Lookup Table (n-D) block."
When the port data types are checked it is showing the input and output data types as Single and int8 respectively. Please help to resolve this problem

采纳的回答

Tim McBrayer
Tim McBrayer 2015-1-20
HDL Coder interprets both double and single MATLAB data types as double, emitting a message stating this fact. It does so because neither VHDL nor Verilog have a native representation corresponding to a 32-bit floating point value.
Floating point numbers are not in general synthesizable. Your best bet will be to convert your single values to an appropriately scaled fixed-point data type, and use that type instead of single in your model.

更多回答(1 个)

Devendra Kulkarni
I have a similar doubt but in my case, the HDL check Report says that the index search method should be 'evenly spaced' but after doing so this is the error message :
"Breakpoint data 'BreakpointsForDimension1' of 'Test1/Subsystem/Subsystem1/Repeating Sequence/Look-Up Table1' must be evenly spaced to the last bit of precision before and after conversion to its run-time data type; either change data to even spacing or select another search method. See help for tips on creating evenly spaced data"
Please help!
  1 个评论
Tim McBrayer
Tim McBrayer 2016-4-5
Once the data in your Breakpoints array are converted to your breakpoint data type, they are no longer evenly spaced. You will need to adjust your breakpoint data type to include enough precision so that your breakpoints remain evenly spaced.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 HDL Coder 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by