The inheritance graph shown in Fig. 1 is an example of multiple inheritance because a class can be derived from more than one base class. Some object-oriented languages allow only single inheritance, where a class may be derived from at most one other class. A single inheritance graph, which has the form of a tree, is shown in Fig. 2. Single inheritance requires larger class descriptions-in the example, the LS gate and standard gate classes must duplicate their gate methods. Multiple inheritance is important in any object-oriented programming applicationit allows more code sharing than does single inheritancebut in this article we will give examples to show why we think multiple inheritance is particularly important for hardware description.