Abstract
Two main aspects in hardware/software co-design are hardware/software partitioning and co-synthesis. Most co-design approaches work only on one of these problems. In this paper, an approach coupling hard-ware/software partitioning and co-synthesis will be presented, working fully-automatic. The techniques have been integrated in the co-design tool COOL1 supporting the complete design flow from system specification to board-level implementation for multi-processor and multi-ASIC target architectures for data-flow dominated applications.