Ada as a Hardware Description Language: An Initial Report

Abstract

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 corresponding 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. (Author).

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Dec 08, 1984
Accession Number
ADA158217

Entities

People

  • E. Organick
  • G. Lindstrom
  • M. Maloney
  • M. R. Barbacci
  • S. Grout

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Advanced Electronics
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Computer Programming
  • Computer Science
  • Computers
  • Department Of Defense
  • Inverters
  • Language
  • Life Cycles
  • Lists (Data Structures)
  • Nand Gates
  • Plastic Explosives
  • Programming Languages
  • Semiconductors
  • Shift Registers
  • Simulations
  • Specifications
  • Wire

Fields of Study

  • Computer science
  • Engineering

Readers

  • Computer Science.
  • Parallel and Distributed Computing.
  • Software Engineering.