System Partitioning and Scheduling for Hardware/multi-software Co-design

Michael Sheliga,Edwin Hsing-Mean Sha
1994-01-01
Abstract:Hardware/Software co-design is an increasingly common design style for integrated circuits. It allows the majority of a system to designed quickly with standardized parts, while special purpose hardware is used for the time critical portions of the system. The system considered in this paper performs hardware/software co-design, given an input speciication that includes the system to be built, the number of available processors, the total chip area, and the required response time. Originally, all operations are done in software. The system then substitutes hardware (adder, multiplier, bus) for software based on the needability of each type of hardware unit. Two algorithms are used to reschedule the system after a new hardware unit is introduced. Both use a variation of rotation scheduling in which operations may be moved between processors. The rst algorithm only allows operations to be transferred during rotation scheduling. The second transfers operations to the new unit of hardware when it is inserted as well as during rotation scheduling. The system also considers conditional operations. Experimental results are shown that illustrate the eeciency of the algorithms as well as the savings achieved.
What problem does this paper attempt to address?