Main Content

coder.FixPtConfig class

Package: coder

Floating-point to fixed-point conversion configuration object


A coder.FixPtConfig object contains the configuration parameters that the HDL codegen function requires to convert floating-point MATLAB® code to fixed-point MATLAB code during HDL code generation. Use the -float2fixed option to pass this object to the codegen function.


fixptcfg = coder.config('fixpt') creates a coder.FixPtConfig object for floating-point to fixed-point conversion.



Enable derived range analysis.

Values: true|false (default)


Enable collection and reporting of simulation range data. If you need to run a long simulation to cover the complete dynamic range of your design, consider disabling simulation range collection and running derived range analysis instead.

Values: true (default)|false


Default fixed-point fraction length.

Values: 4 (default) | positive integer


Default signedness of variables in the generated code.

Values: 'Automatic' (default) | 'Signed' | 'Unsigned'


Default fixed-point word length.

Values: 14 (default) | positive integer


Enable detection of overflows using scaled doubles.

Values: true| false (default)


fimath properties to use for conversion.

Values: fimath('RoundingMethod', 'Floor', 'OverflowAction', 'Wrap', 'ProductMode', 'FullPrecision', 'SumMode', 'FullPrecision') (default) | string


Suffix for fixed-point file names.

Values: '_fixpt' | string


View the numeric types report after the software has proposed fixed-point types.

Values: true (default) | false


Enable simulation data logging to plot the data differences introduced by fixed-point conversion.

Values: true (default) | false


Optimize the word lengths of variables whose simulation min/max logs indicate that they are always whole numbers.

Values: true (default) | false


Name of function to use for comparison plots.

LogIOForComparisonPlotting must be set to true to enable comparison plotting. This option takes precedence over PlotWithSimulationDataInspector.

The plot function should accept three inputs:

  • A structure that holds the name of the variable and the function that uses it.

  • A cell array to hold the logged floating-point values for the variable.

  • A cell array to hold the logged values for the variable after fixed-point conversion.

Values: '' (default) | string


Use Simulation Data Inspector for comparison plots.

LogIOForComparisonPlotting must be set to true to enable comparison plotting. The PlotFunction option takes precedence over PlotWithSimulationDataInspector.

Values: true| false (default)


Propose fixed-point types based on DefaultWordLength.

Values: true (default) | false


By default (false), propose data types with the minimum word length needed to represent the value. When set to true, propose data type with the smallest word length that can represent the range and is suitable for C code generation ( 8,16,32, 64 … ). For example, for a variable with range [0..7], propose a word length of 8 rather than 3.

Values: true| false (default)


Propose fixed-point types based on DefaultFractionLength.

Values: false (default) | true


Propose data types based on simulation range data, derived ranges, or both.

Values: 'BothSimulationAndDerivedRanges' (default) | 'SimulationRanges'|'DerivedRanges'


Safety margin percentage by which to increase the simulation range when proposing fixed-point types. The specified safety margin must be a real number greater than -100.

Values: 0 (default) | double


Perform faster static analysis.

Values: true | false (default)


Abort analysis if timeout is reached.

Values: '' (default) | positive integer


Test bench function name or names, specified as a string or cell array of strings. You must specify at least one test bench.

If you do not explicitly specify input parameter data types, the conversion uses the first test bench function to infer these data types.

Values: '' (default) | string | cell array of strings


Enable numerics testing.

Values: true| false (default)


addDesignRangeSpecificationAdd design range specification to parameter
addFunctionReplacementReplace floating-point function with fixed-point function during fixed-point conversion
clearDesignRangeSpecificationsClear all design range specifications
getDesignRangeSpecificationGet design range specifications for parameter
hasDesignRangeSpecificationDetermine whether parameter has design range
removeDesignRangeSpecificationRemove design range specification from parameter


collapse all

Create a coder.FixPtConfig object, fixptcfg, with default settings.

fixptcfg = coder.config('fixpt');

Set the test bench name. In this example, the test bench function name is mlhdlc_dti_tb.

fixptcfg.TestBenchName = 'mlhdlc_dti_tb';

Create a coder.HdlConfig object, hdlcfg, with default settings.

hdlcfg = coder.config('hdl');

Convert your floating-point MATLAB design to fixed-point, and generate HDL code. In this example, the MATLAB design function name is mlhdlc_dti.

codegen -float2fixed fixptcfg -config hdlcfg mlhdlc_dti


You can also generate HDL code from MATLAB code using the HDL Workflow Advisor. For more information, see Basic HDL Code Generation and FPGA Synthesis from MATLAB.