A persistent bugaboo in adopting electronic system-level (ESL) design methodologies is how to avoid wasting the work done above RTL. Certainly, designers of DSPs in particular have enjoyed using the MathWorks' Simulink/Matlab environment to design, simulate, and validate system models and algorithms. It's one thing to climb the ESL ladder. Getting back down to earth is another matter entirely.
With the Simulink HDL Coder, the MathWorks hopes to have in place the "missing link" that bridges the yawning gap between those high-level Matlab models and synthesizable RTL (see the figure). The tool generates bit-true, cycle-accurate Verilog or VHDL code from 80 standard blocks in the Simulink and Signal Processing Blockset library, as well as Mealy and Moore finite-state machines from the MathWorks' StateFlow tool.
The code generated by the HDL Coder is ready for input to established hardware implementation and verification tools. In addition, legacy HDL code and third-party IP can be verified with Simulink models and integrated with the code that's automatically generated by the HDL Coder. The Simulink models are "correct by construction" in that they are bit-and cycle-equivalent to the generated HDL code, making high-level hardware/software integration and co-verification much faster and much less worrisome.
In addition to creating the synthesizable HDL code, HDL Coder also automatically generates an HDL testbench. It provides users with a continuum of hardware-implementation options with respect to serial operation versus parallelism. This can help satisfy tradeoffs between area, power, and speed.
With HDL Coder, designers now can generate both hardware and software from the same Simulink system model. On both fronts, the Simulink models can serve as a "golden" executable specification that can be referred back to in subsequent stages of system development. At the same time, the abstraction barrier that formerly existed between system/algorithm design and physical hardware design can be overcome.
Simulink HDL Coder is available now for Windows, Unix, and Linux platforms. List pricing starts at $15,000.