“…Particularly error proned and timing consuming are the tasks of interfacing the hardware and software components together and providing communication between them. Designers currently spend a tremendous amount of time with low-level design details and extensive debugging to ensure correctness, thus leaving little room for optimization or explo- Most research efforts have focussed on higher level issues such as system behavioral modeling, system level transformations, and system partitioning [6,7,9,3,15,1,16,10,12,18]. Although these efforts have led to promising results, they are addressing largely complementary problems.…”