Design Article
Early verification cuts design time and cost in algorithm-intensive systems
Ken Karnofsky, senior strategist for signal processing applications, The MathWorks
1/22/2010 4:38 AM EST
It doesn't have to be this way. Many designers of algorithm-intensive systems already have the tools they need to get verification under control. Engineers can use these same tools to build system models that help them find and correct problems earlier in the development process. This can not only reduce verification time, but also improves the performance of their designs. In this article, we'll explain three practical approaches to early verification that make this possible.
First, let's examine why the current algorithm verification process is inefficient and error-prone. In a typical workflow, designs start with algorithm developers, who pass the design to hardware and software teams using specification documents. (Figure 1)
![]() |
| Figure 1. In a typical flow, designs start with algorithm developers, who pass the design to implementation teams using static specification documents. |
Each team typically crafts its own test procedures to determine that the implementation is functionally correct. These test procedures are often constructed in an ad-hoc fashion, and they rely on the engineer's interpretation of the specifications. This is a problem because hardware and software engineers often lack the application domain knowledge or tools to correctly interpret and implement the specifications. Conversely, algorithm developers may lack the tools and expertise to ensure that they have identified all of the "real-world" requirements. They often discover late in the development process that algorithms don't work as intended in the target environment.
Compounding this inefficiency is the use of separate tools and workflows for software, digital, and RF/analog hardware components, which inhibits cross-domain verification of system behavior. This can lead to unexpected hardware and software interactions. As a result, system verification does not occur until the end of the workflow, at the system integration phase, when design changes are most difficult and expensive to make.
Because most errors are introduced at the specification stage, conventional hardware, software, and ESL tools cannot solve these problems; conventional tools assume that the requirements have been adequately and accurately captured in the specification. The verification problem must be tackled at the beginning of the process and by connecting early stage tools with the downstream workflows.
Early verification with Model-Based Design
Model-Based Design offers a better approach. It provides a set of tools for algorithm design, system simulation and prototyping, and rigorous analysis. Using these tools, the algorithms and tests are designed as part of a system model. This system model serves as the basis of an executable specification that all design teams can use as a design reference and test bench. This approach gives all the design teams including the algorithm, system architecture, and various component development teams a shared, unambiguous understanding of the design requirements. (Figure 2)
![]() |
| Figure 2. The Model-Based Design workflow enables early verification. |





