February
1998, Issue 91
Codesign
The
Evolving Relationship Between Hardware and Software
Most
aspects of the hardware and software development process
can be automated, except in the cases of system definition,
architectural design, and software/hardware partitioning.
As well as not being well automated, these exceptions
are fairly disconnected from the implementation process,
which is itself divided into distinct hardware- and
software-design efforts.
As
a result, hardware and software engineers dont
get to test their respective subsystems together until
a physical prototype exists. Unfortunately, most problems
in the hardware/software interface arent discovered
until this point, possibly forcing a redesign. And so,
schedules slip. Often, the integration and testing phase
may represent the critical path or as much as 50% of
the development cycle.
To
counteract these problems, codesign solutions are extremely
attractive. Unfortunately, the pieces arent all
in place yet. For instance, general-purpose automated
tools for system definition, architectural design, and
software/hardware partitioning that offer enormous leveraging
over the subsequent phases of development are rare today.
In
fact, most mainstream development-tool vendors focus
on the implementation portion of the process (i.e.,
linking the software and hardware design phases of the
project after partitioning). However, a lot can be gained
by shortening the implementation/test phase.
Current
codesign methodologies focus on two basic approaches
to creating a virtual prototype. They attempt to shorten
the "software waiting for hardware" gap encountered
in most development efforts.
One
camp, with roots deeply embedded in hardware and in-circuit
emulation technologies, provides for the creation of
the virtual prototype using a "black box"
filled with FPGAs.
The
other camp, whose technology originated from the high-level
simulation and abstraction approaches of EDA, has developed
unique techniques for speeding up logic simulation in
order to build a virtual prototype.
Each
approach has advantages and disadvantages, but one thing
is clear. Both camps are on intersecting courses. Product
developments will start to look quite similar as these
new products continue to mature in the marketplace.