Fixed-Point ECU Code Optimization and Verification with Model-Based Design 2009-01-0269
When implementing production software for fixed-point engine control units (ECUs) it is important to consider the code optimization and code verification strategies for the embedded algorithms. System and software engineers work together to design algorithms that satisfy the system performance requirements without significant numerical quantization results. Software engineers and suppliers in mass production environments then implement the design on an embedded system with limited memory and execution speed resources. The primary goals after design are to generate optimized code and verify that the implementation matches the original model’s functional behavior.
Model-Based Design simplifies fixed-point development by providing tools and workflows that support the complete design, implementation, and verification processes. System engineers performing on-target rapid prototyping for fixed-point ECUs benefit from automated scaling workflows that provide an initial fixed-point design. Production software engineers benefit from automated scaling as well, but they then require fine-grain control over fixed-point data specification within their modeling environment for items such as accumulator word size. Eventually a detailed software design is produced.
Automatic code generation is then invoked with options that maximize code efficiency for fixed-point processors. These options include portable ANSI/ISO C optimizations, plus target-specific optimizations. Automated checking tools and workflow advisors help ensure the appropriate optimization settings are enabled. Capabilities exist for fixed-point verification and validation, including bit-accurate fixed-point simulation and automated processor-in-the-loop testing.
The latter is particularly useful when using target-optimized code, because the code cannot be simulated on the host and can only be tested on the actual embedded target.
This paper presents Model-Based Design capabilities and tools that support verification of optimized fixed-point ECU software used in mass production vehicles.