Model-based design allows you to deploy and validate algorithms on real hardware more rapidly and efficiently than you would be able to using a traditional language-based approach. In a traditional design flow featuring embedded signal processing components, most errors arise in the development phase. Unfortunately, most of these errors are only detected later, during the design of system components. Even more unfortunate is that detecting and fixing design errors at the product development stage is very expensive, as it forces sometimes major portions of the system to be reengineered. In extreme cases, it can even lead to products becoming outdated before they reach the market!


The Move to Model-Based Design


To overcome this, more and more developers are making the move towards more open and flexible model-based design environments that encompass all the major stages of embedded signal processing development—design, simulation, code generation, validation, and implementation—which is proving both more logical and more economical. Most companies and individuals designing systems this way keep their intellectual property (IP) in the form of C code or MATLAB® code, and most model-based design environments allow developers to easily incorporate and reuse this IP.


The Benefits of Simulation


Also, by performing detailed simulations of a new system’s behavior under various conditions—the bedrock of embedded system development—developers are able to identify, pinpoint, and resolve design problems very quickly because the simulation makes it easy to differentiate design problems from programming problems. By working at the system level with model-based design tools, developers and designers can be certain that problems detected at the development stage are design flaws rather than programming flaws.

The model-based design flow is divided in two phases:

  • The simulation of the algorithm or intellectual property under development.
  • The implementation of the simulated algorithm on hardware.

Simulation of an Embedded Algorithm


The purpose of the simulation phase is to eliminate as much doubt and risk as possible concerning the validity of the embedded algorithm before going on to the hardware implementation. It therefore greatly reduces both the number of errors developers will face at the next step as well as the magnitude of the repercussions of those errors. The hardware implementation phase also introduces multiple other roadblocks, such as the availability and validity of the hardware, the hardware setup time, and so on, which considerably lengthen the iteration time. To be valuable, the simulation tool must significantly shorten the iteration time

The key to a seamless transition between the simulated algorithm and its hardware implementation is for the simulation tool to provide bit-true and cycle-true blocks to make sure the final embedded version will act exactly as it did in simulation.


Hardware Implementation of an Embedded Algorithm


Once the simulated algorithm has been validated, it is time for the hardware implementation. At this point, it should only be a matter of making sure the algorithm is correctly hooked to the hardware interface and drivers to replicate the simulation success.

Saving time and costs with a model-based design approach

By using a model-based design approach for algorithm development and deployment, developers are able to efficiently focus their efforts on more “value add” aspects of the algorithm. Touching on all the major aspects of embedded development, a model-based approach can yield cost savings while shrinking development cycles.