A hardware description language for multilevel design and description
Philip A. Wilsey, Subrata Dasgupta · 1987
The process by which computer systems are designed and implemented has become a topic of considerable interest in recent years. Work in this area includes techniques for the automatic generation and optimization of microcode, synthesis of data paths and control units, and machine description and simulation tools. An important aspect of these efforts is the use of one or more descriptions of the machine as the basis for the design system. The adequacy and generality of these descriptions becomes particularly important when the design system is to be useful for several types of machines (i.e., is retargetable) and across several abstraction levels (i.e., is multilevel). This dissertation presents a new hardware description language, called ACE, that is designed for use in a multilevel, retargetable, design environment. ACE is intended to be able to (a) describe the machine at several abstraction levels ranging from the exo-architecture to register-transfer levels, and (b) provide machine descriptions with sufficient information to drive a large number of design automation systems. In addition to presenting ACE, we also examine the use of ACE in the context of description and in the context of design automation. In particular, we show (a) the multilevel descriptive capabilities of ACE, and (b) the use of ACE descriptions in the context of simulation and microcode synthesis design environments. This dissertation also presents a new, formal, and quite powerful model of computer architecture that forms the semantic basis for the hardware description language ACE. That is, we first develop and formally define the machine model and then use it as the basis for the design of ACE. There are two primary advantages derived from this two step process of designing ACE. First, by separating the model design from the language construction, we were able to reduce the overall design time for the language. That is, when designing the model, we were able to develop techniques for machine description at a high level of abstraction. The semantics of the model then forms the basis for the semantics of ACE and, therefore, once the model is developed, the design of ACE involves only organizing the appropriate syntax. The second advantage occurs as a result of the formal definition of the model. That is, requiring a formal definition of the model caused us to examine certain aspects of the model that might otherwise have been overlooked. Thus, developing the formal definition resulted in a more complete and consistent design.