Automating the design of computer systems

A hierarchical select-and-interconnect methodology for system-level design is described. It extends the flexibility of previous approaches by allowing dynamic subproblem ordering, which is essential for this domain. The design model of M1, a knowledge-based system that implements this approach for small computer systems, is presented. M1's design space covers five microprocessor families, and it has generated hundreds of designs, three of which were built. A set of experiments showing that M1 can be used successfully to design in this complex domain and provides a substantial increase in designer productivity is described. >