coder.FixPtConfig Class
Namespace: coder
Floating-point to fixed-point conversion configuration object
Description
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.
Creation
creates a
fixptcfg
= coder.config('fixpt')coder.FixPtConfig
object for floating-point to fixed-point
conversion.
Properties
ComputeDerivedRanges
— Enable derived range analysis
false
(default) | true
Enable derived range analysis, specified as true
or
false
.
ComputeSimulationRanges
— Enable collection and reporting of simulation range data
true
(default) | false
Enable collection and reporting of simulation range data, specified as
true
or false
. 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.
DefaultFractionLength
— Default fixed-point fraction length
4
(default) | positive integer
Default fixed-point fraction length, specified as a positive integer.
DefaultSignedness
— Default signedness of variables in the generated code
'Automatic'
(default) | 'Signed'
| 'Unsigned'
Default signedness of variables in the generated code, specified as
'Automatic'
, 'Signed'
, or
'Unsigned'
.
DefaultWordLength
— Default fixed-point word length
14
(default) | positive integer
Default fixed-point word length, specified as a positive integer.
DetectFixptOverflows
— Enable detection of overflows using scaled doubles
false
(default) | true
Enable detection of overflows using scaled doubles, specified as
true
or false
.
fimath
— fimath
properties to use for conversion
fimath('RoundingMethod','Floor','OverflowAction','Wrap','ProductMode','FullPrecision','SumMode','FullPrecision')
(default) | fimath
object
fimath
properties to use for conversion, specified as a fimath
object.
FixPtFileNameSuffix
— Suffix for fixed-point file names
'_fixpt'
(default) | string
Suffix for fixed-point file names, specified as a string.
LaunchNumericTypesReport
— View the numeric types report after the software has proposed fixed-point types
true
(default) | false
View the numeric types report after the software has proposed fixed-point types,
specified as true
or false
.
LogIOForComparisonPlotting
— Enable simulation data logging to plot the data differences introduced by fixed-point conversion
true
(default) | false
Enable simulation data logging to plot the data differences introduced by
fixed-point conversion, specified as true
or
false
.
OptimizeWholeNumber
— Optimize the word lengths of variables that are always whole numbers
true
(default) | false
Optimize the word lengths of variables whose simulation min/max logs indicate that
they are always whole numbers, specified as
true
or false
.
PlotFunction
— Name of function to use for comparison plots
''
(default) | string
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.
PlotWithSimulationDataInspector
— Use the Simulation Data Inspector for comparison plots
false
(default) | true
Use the Simulation Data Inspector for comparison plots, specified as
true
or false
.
LogIOForComparisonPlotting
must be set to true to enable
comparison plotting. The PlotFunction
option takes precedence over
PlotWithSimulationDataInspector
.
ProposeFractionLengthsForDefaultWordLength
— Propose fixed-point types based on DefaultWordLength
true
(default) | false
Propose fixed-point types based on DefaultWordLength
, specified
as true
or false
.
ProposeTargetContainerTypes
— Whether to propose target container types
false
(default) | true
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.
ProposeWordLengthsForDefaultFractionLength
— Propose fixed-point types based on DefaultFractionLength
false
(default) | true
Propose fixed-point types based on DefaultFractionLength
,
specified as true
or false
.
ProposeTypesUsing
— Propose data types based on simulation range data, derived ranges, or both
'BothSimulationAndDerivedRanges'
(default) | 'SimulationRanges'
| 'DerivedRanges'
Propose data types based on simulation range data, derived ranges, or both,
specified as 'BothSimulationAndDerivedRanges'
,
'SimulationRanges'
, or 'DerivedRanges'
.
SafetyMargin
— Safety margin percentage by which to increase the simulation range when proposing fixed-point types
0
(default) | real number greater than -100
Safety margin percentage by which to increase the simulation range when proposing
fixed-point types, specified as a real number greater than
-100
.
Data Types: double
StaticAnalysisQuickMode
— Perform faster static analysis
false
(default) | true
Perform faster static analysis, specified as true
or
false
.
StaticAnalysisTimeoutMinutes
— Abort analysis if timeout is reached
''
(default) | positive integer
Abort analysis if timeout is reached, specified as a positive integer.
TestBenchName
— Test bench function name or names
''
(default) | string | cell array of strings
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.
Data Types: string
| cell
TestNumerics
— Enable numerics testing
false
(default) | true
Enable numerics testing, specified as true
or
false
.
Methods
Public Methods
addApproximation | Replace floating-point function with lookup table during fixed-point conversion |
addDesignRangeSpecification | Add design range specification to parameter |
addFunctionReplacement | Replace floating-point function with fixed-point function during fixed-point conversion |
addTypeSpecification | Specify fixed-point data type for a variable during fixed-point conversion |
clearDesignRangeSpecifications | Clear all design range specifications |
getDesignRangeSpecification | Get design range specifications for parameter |
hasDesignRangeSpecification | Determine whether parameter has design range |
removeDesignRangeSpecification | Remove design range specification from parameter |
Examples
Generate HDL Code from Floating-Point MATLAB Code
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;
Alternatives
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.
Version History
Introduced in R2014b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)