The complexity of design automation problems

Sartaj Sahni, Atul Bhatt
1980 Proceedings of the seventeenth design automation conference on Design automation - DAC '80  
This paper reviews several problems that arise in the area of design automation. Most of these problems are shown to be NP-hard. Further, it is unlikely that any of these problems can be solved by fast approximation algorithms that guarantee solutions that are always within some fixed relative error of the optimal solution value. This points out the importance of heuristics and other tools to obtain algorithms that perform well on the problem instances of interest. . +++ Address: Mentor
more » ... , Beaverton, OR 97005. Over the past twenty years, the complexity of the computer design process has increased tremendously. Traditionally, much of the design has been done manually, with computers used mainly for design entry and verification, and for a few menial design chores. It is felt that such labor-intensive design methods cannot survive very much longer. There are two main reasons for this. The first reason is the rapid evolution of semiconductor technology. Increases in the levels of integration possible have opened the path for more complex and varied designs. LSI technology has already taxed traditional design methods to the limit. With the advent of VLSI, such methods will prove inadequate. As a case in point, the design of the Z8000 microprocessor, which qualifies as a VLSI device, took 13,000 man-hours and many years to complete. In fact, it has been noted [NOYC77] that industry-wide, the design time (in man-hours per month) has been increasing exponentially with increasing levels of integration. Clearly, design methods will have to go from labor-intensive to computer-intensive. Secondly, labor-intensive methods do not adequately accomodate the increasingly more stringent requirements for an acceptable design. Even within a given technology, improvements are constantly sought in performance, cost, flexibility, reliability, maintainability, etc. This increases the number of iterations in the design cycle, and thus requires smaller design times for each design step. Industry-wide, the need for sophisticated design automation (DA) tools is widely recognized. To date, most of the effort in DA has concentrated on the following stages of the design process: physical implementation of the logic design, and testing. DA for the early stages of the design process, involving system specification, system architecture and system design, is virtually nonexistent. Though DA does not pervade the entire design process at this time, there are a number of tools that aid in, rather than automate, certain design steps. Such computer-aided design tools can dramatically cut design times by boosting designer productivity. We shall restrict our attention to problems encountered in developing tools that automate, rather than aid in, certain design steps. In the light of the need for more advanced and sophisticated DA tools, it becomes necessary to re-examine the problems tackled in developing such tools. They must be thoroughly analyzed and their complexity understood. (The term "complexity" will be defined more precisely, using concepts from mathematics and computer science, later in this chapter.) A better understanding of the inherent difficulty of a problem can help shape and guide the search for better solutions to that problem. In this paper, several problems commonly encountered in DA are investigated and their complexities analyzed. Emphasis is on problems involving the physical implementation and testing stages of the design process. Section 2 contains a brief description, in general terms, of the DA problems considered. The concepts of complexity and nondeterminism are introduced and elaborated upon in Section 3. This section also includes other background material. The problems described in Section 2 are analyzed in Section 4. Each problem is mathematically formulated and described in terms of its complexity. Most problems under discussion are shown to be NP-hard. In addition, a brief account in Section 5 describes ways of attacking
doi:10.1145/800139.804562 dblp:conf/dac/SahniB80 fatcat:h427snpf35gjdhub6ugvxkfpza