With the increasing demand for consumer electronic products, embedded-systems development—made up of both hardware and software components—will undoubtedly dominate the design world. Once this happens, codesign will again become a pressing issue.
Creating embedded systems requires designers to consider hardware and software as one entity. Unfortunately, the boundary between the two remains fluid for much of the design cycle. Consequently, it is rarely clear at the outset which tasks should be implemented in hardware and which in software. Moreover, embedded de-signers no longer have the luxury of waiting until after the fact to accommodate hardware deficiencies in the software.
Compounding the problem is the fact that hardware and software are designed with widely disparate tool sets. This makes it difficult to merge the two during the development effort.
What's needed is a solution that combines hardware synthesis and place-and-route tools with software compilers. Such a comprehensive approach to embedded-system design would let designers leverage the synergies between software and hardware throughout the design cycle.
Research in the embedded arena will help address some of these issues. In addition, many EDA vendors now recognize the tremendous growth potential of the embedded-systems market segment. As a result, they've begun pushing new design paradigms in support of a common hardware/software design environment.
One such paradigm, SystemC, is being touted by the Open SystemC initiative. Comprised of nearly 50 charter- member companies, this group espouses the production of a common C/C++ modeling platform for hardware/software codesign of embedded systems. The Open SystemC initiative offers all deliverables—including source code for C++ libraries, documentation, and examples—at no cost, over the Internet.
Eliminating the need for multiple modeling languages, SystemC has the potential to allow seamless system-to-silicon design in the C/C++ language. This is a language which all engineers involved in the design cycle—whether they be hardware, software, or system designers—should understand.
Working with a common language has many advantages. One benefit is the ability to more easily migrate functionality between hardware and software implementations. Equally important is the ability to enable system-level modeling of complex software and hardware at multiple abstractions.
This isn't to say that the challenge of codesign will magically be solved by the Open SystemC initiative. There's much groundwork yet to be done. Still, the initiative is a concrete step toward achieving the long-awaited hardware/software codesign environment.
Embedded-systems design and solutions such as SystemC will be a major emphasis at this year's Design Automation Conference (DAC). Scheduled to be held June 5-9 in Los Angeles, Calif., the convention will devote almost an entire day to a variety of embedded design issues. These topics will include hardware and software development, portability, low power, and meeting real-time constraints. To learn more about the advances being made in embedded design, make sure you check out this year's DAC.