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

26 views (last 30 days)
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

Accepted Answer

Tim McBrayer
Tim McBrayer on 20 Jan 2015
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.

More Answers (1)

Devendra Kulkarni
Devendra Kulkarni on 5 Apr 2016
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 Comment
Tim McBrayer
Tim McBrayer on 5 Apr 2016
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.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!