A method for hardware software partitioning

The authors present a method for partitioning a problem specification into hardware and a software implementation. A partitioning approach can be supported by the use of a specification language that permits considering several partitioning possibilities for the problem as well as analyzing different implementation alternatives of each part of the problem. These requirements are fulfilled in the approach by the use of UNITY as the specification language. The approach presented consists of classification of statements, a clustering algorithm, and cluster allocation, as well as cost and constraint analysis. The method is explained with an example.<<ETX>>