Computer Science Department
School of Computer Science, Carnegie Mellon University
Ada as a Hardware Description Language: An Initial Report
Mario R. Barbacci, Steve Grout oot Martin Marietta Corporation , Gary Lindstrom oot University of Utah , Mike Maloney oot University of Utah , Elliott Organick University of Utah , Don Rudisill Martin Marietta Corporation
This paper reports on our initial results in using Ada as a Hardware Description Language. Ada provides abstraction mechanisms to support the development of large software systems. Separate compilation as well as nesting of packages, tasks, and subprograms allow the construction of modular systems communicating through well defined interfaces. The complexity of modern chips e.g. those proposed in the VHSIC program will require the use of those features that make Ada a good language for programming-in-the-large.
The key to our approach is establishing a writing style appropriate to the objective of describing both the behavior and the structure of hardware components. We model a hardware system as an ensemble of typed objects, where each object is an instance of an abstract data type. The type definition and the associated operations are encapsulated by a corresonding package. In this paper we illustrate our approach through a series of examples, building up a hypothetical hierarchy of hardware components. We conclude by discussing ways to describe arbitrarily complex simulation models and synthesis styles.