Abstract-This paper describes new techniques for applying the
mechanisms of in object-oriented programming languages to hardware
description. Some object-oriented language mechanisms, like inheritance,
directly simplify CAD programs; others, like data abstraction,
allow us to create more powerful CAD mechanisms based on them. We
describe: how to extend class inheritance and integrate it with procedural
construction to simplify the description of hardware; how to create
measurement methods that can measure a module whose components
are described at different levels of abstraction; and how to
implement a consistency-maintenance engine that ensures the consistency
of the data kept for the design. We have implemented these features
in Fred, an object oriented modeling system for VLSI modules.
Fred is implemented in Flavors, an object-oriented extension of Lisp;
we also discuss how to implement its features in other languages