Kakade, R. and Basu, S., "Fixed-Point Model Development Assistant Tool," SAE Technical Paper 2016-01-0018, 2016, doi:10.4271/2016-01-0018.
Development of the software using fixed-point arithmetic is known to be tedious and error-prone. Difficulty of selecting the correct data type can outwear software developers. The common retreats often sought after include manual calculation of the approximate ranges, exhaustive simulations with extreme input values and conservative development approach by using excessive word length. The first two retreats - manual calculation and exhaustive simulations - increase the software development time, and the third retreat - conservative development - leads to the excessive memory (RAM and ROM) utilization by the software. The model-based development environment such as the Simulink has graphical nature to the software with flow of data defined by connecting signal lines. The model-based software therefore gives an opportunity to trace signal flow in the software. Input-tracing method is presented to trace the flow of the input signals of the user selected block in the software model. Input signals are traced up to the point where data is having well defined range and resolution. Software developers often use data dictionary to define range and resolution of parameters, input signals and output signals of the software models. The interval arithmetic is then performed along the traced input signal paths to determine range and resolution of the output of the user selected block. Equations of QI - number bits for integer and QF - number of bits for fraction are then used to determine data type of the output signal of the user selected block. This process of determining data type of the output of a block can be repeated for several blocks in the model. The process is automated by using MATLAB m-script to simplify software development. Application of the assistant tool is demonstrated to give error-free software models with extremely high time and cost savings.