A unmber of proposals for object-oriented extensions to VHDL deal with object-oriented extensions to support high-level modeling of data. They provide features for expressing data abstraction, encapsulation, and inheritance with polymorphism-features that are central to object oriented techniques. There ae two approaches to object-oriented data modeling: class-based and programming by extension. This paper compares the two approaches in the context of hardware modeling in VHDL. It outlines the two approaches and presents examples illustrating how they might be included in VHDL. It discusses the issue of integration with signal semantics, and compares how the approaches deal with encapsulation, initialization of objects, and inheritance. The paper concludes that, while both approaches are viable, the programming by extension approach is preferred.
展开▼