A significant improvement over current methods for co-simulation of the hardware
and software components of embedded digital system designs is provided. The present
invention integrates the hardware and software components of a system design into
a single unified simulation environment. The unified simulation environment and
the various component models of the system design are created in a high level general
purpose programming language. This allows inter-component communications and communications
with the unified simulation environment to be carried out through the use of function
calls, which significantly increases the overall simulation speed. Additionally,
the unified simulation environment runs as a single process, which significantly
improves debugging capabilities. Furthermore, the present invention employs a higher
level of abstraction than conventional simulation environments and thereby significantly
increases simulation speed while moving away from the detail saturated event driven
simulations of the past.