Abstract
The nature of complexity in the context of VLSI circuits is examined, and similarities with the complexity problem in large software systems are discussed. Lessons learned in software engineering are reviewed, and the applicability to VLSI systems design is investigated. Additional difficulties arising in integrated circuits such as those resulting from their two-dimensionality and from the required interconnections are discussed. The positive aspects of VLSI complexity as a way to increase performance and reduce chip size are reviewed. With this discussion as a basis, the evolution of VLSI system design environments is outlined for the near-term, medium-term, and long-term future. The changing role of the designer is discussed. Recommendations are made for enhancements to our engineering curriculums which would provide the next generation of designers with skills relevant to managing VLSI complexity.