Fixed-Point Designer enables you to specify all the fixed-point properties of your MATLAB code, Simulink models, and Stateflow charts. It provides full control of signedness, word length, and scaling. It supports application-specific word lengths from 1 bit to at least 128 bits. Binary-point scaling and arbitrary slope and bias scaling needed by sensors and actuators are also supported. You can control the details of the math, such as how to deal with rounding and overflow.
Fixed-Point Designer provides a large number of functions such as math and bitwise operations, array and matrix operators, CORDIC implementations, and trigonometric functions to support fixed-point computation.
The designer lets you control the fixed-point arithmetic. The fixed-point variables can either share a single set of arithmetic attributes or have their own attached arithmetic attributes.
Fixed-Point Designer provides bit-true agreement across a workflow that uses Model-Based Design. The response of a fixed-point algorithm is bit-true for all forms of simulation and code generation, including acceleration and software-in-the-loop. Analysis and verification of a fixed-point algorithm are based on bit-true representations. Bit-true agreement maximizes the benefits of Model-Based Design, such as the ability to discover issues early in the workflow, when they are easier and less costly to fix.
For Simulink models, once a model has been configured with fixed-point data types, you can simulate its performance to explore implementation tradeoffs between limited range and precision for fixed-point embedded systems.
Using the tools in Fixed-Point Designer, you can access these values and change the data types of signals, optimizing precision while ensuring that their range is covered. You can specify data type ranges using design minimums and maximums, simulation results, or derived minimum and maximum results. You can lock output data types to prevent them from being changed.
Fixed-Point Designer provides analysis tools for efficiently converting a design from floating-point to fixed-point representation. The tools let you record minimum and maximum data values and pinpoint when overflows occur during fixed-point operations. The data type override feature lets you analyze a fixed-point algorithm by switching the data types between fixed point and floating point. With this analysis, you can observe the dynamic range of variables involved in your design and ensure that the algorithm behaves consistently in floating-point and fixed-point representations.
In MATLAB, you can instrument your code for logging to collect minimum and maximum values from the simulation and get proposed data types. Instrumentation functions can generate
log2 histograms. A histogram is generated for each named and intermediate variable and for each expression in your code. You can use this histogram to determine the word and fraction lengths for your fixed-point values.
For Simulink models, you can automatically convert a floating-point design built in Simulink, Stateflow, and system toolboxes including Communications System Toolbox™ and DSP System Toolbox™ into a fixed-point design using the Fixed-Point Tool.
Floating-Point to Fixed-Point Conversion
Explore fixed-point models and use automated logging and scaling tools to refine the fixed-point data types for more optimized results.
Fixed-Point Designer provides debugging capabilities that let you switch to a floating-point representation of your model to perform benchmarking of the design, identify modeling errors, and determine ideal minimum and maximum values.
Fixed-Point Optimization Using Fixed-Point Tool
Convert a floating-point model into a fixed-point model and obtain an initial scaling for the fixed-point data types.
Fixed-Point Designer lets you accelerate fixed-point algorithms through MEX-file generation. It does this by providing the
fiaccel function to convert your MATLAB code to a MEX-function, which can accelerate the execution speed of your fixed-point algorithms.
The generated code is in bit-true agreement with your model, enabling your design to perform as it did in simulation. The generated code automatically handles all the details of implementing fixed-point designs, such as scaling adjustment, rounding, and advanced fixed-point math. You can generate code for signals and parameters with word sizes from 1 to 128 bits. You can use the generated code for a variety of applications, including accelerated simulation, rapid prototyping, and production deployment.
Using Fixed-Point Designer with HDL Coder™, you can generate bit-true synthesizable Verilog® and VHDL® code from your fixed-point MATLAB code, Simulink models, and Stateflow charts.