Concurrent hardware and software development for embedded systems has progressed from discussion to deployment at leading electronics companies worldwide. Texas instruments, ST, Samsung, Infineon, and others have gone on record with their experiences—the results have been mixed. This paper identifies the first order factors that drive a high performance concurrent hardware and software design flow. This paper begins by examining design team interactions and requirements for a software-driven concurrent hardware and software design flow. Software use cases are then analyzed with the goal of understanding the timing requirements of the virtual prototypes used in the concurrent design flow. Meeting the defined flow and timing requirements yields an improved design flow and virtual prototype that present a single coherent view of design functionality and timing to all members of the design team. Furthermore it is shown that the virtual prototype must be capable of inheriting the timing attributes of all sub-designs of the embedded system. Meeting the requirements of coherency and inheritance supports the larger design flow goals of improving schedule, minimizing software rework, and enables the early and accurate optimization of performance, power, and costs.