The RASSP Digest - Vol. 2, 2nd. Qtr. 1995


RASSP Working Group Disscusses Terms and Taxonomies

by Carl Hein, RASSP VHDL Modeling Terminology Workgroup


During the "Workshop on RASSP VHDL Modeling" at the January RASSP Principal Investigators Meeting in Atlanta, GA, RASSP contributors discussed how to adopt a consistent modeling terminology and taxonomy. A consistent terminology will facilitate communication among the RASSP participants by providing a common language where everyone knows and understands the terms. Currently, many participants use different words for similar concepts and do not correspond on the meaning of common terms.

At the PI meeting, a VHDL Modeling Terminology/Taxonomy working group composed of by Randy Harr, ARPA RASSP Program Manager, Todd Carpenter of Honeywell Technology Center, Carl Hein of Martin Marietta, Paul Kalutkiewicz of Lockheed Sanders, and Vijay Madisetti of Georgia Tech. was formed.

This article focuses on the working group's discussion of ideas presented by Martin Marietta, and the group's attempt to take a first step toward developing a universally acceptable set of terms and taxonomy.

1. Initial Terminology

The working group suggested that current modeling terms that are generally regarded as useful and well understood by the RASSP community (shown in Table I) become the base of a common RASSP terminology. The working group will then refine the definitions and names, and add other terms as needed for RASSP.

2. Initial Taxonomy

The terms in the table are grouped into several classes. System-level refers to models for which there is not a prior notion of hardware or software implementation details. Other terms refer to the hierarchy of detailed hardware and software or describe general model content, such as behavior, function, and structure. And there are terms that refer to parallel hierarchies, such as the structural hierarchy.

3. Comparing Previous and Proposed Taxonomies

The working group compared three model definition approaches (shown in Table II) to draw parallels and identify consistent threads.

The Ecker1 and Madisetti spaces have two axes in common; their remaining axes do not directly correspond. Both have an axis for "Time" resolution and a second axis that represents the resolution of "Values" in a model. Ecker calls the second axis "Value," while Madisetti calls it "Format." The Gajski-Kuhn Y- chart has a similar axis called "Functional-Representation." The third axis of the Ecker cube is similar to the "Structural-Representation" axis of the Gajski-Kuhn Y-chart, but has no corresponding axis in the Madisetti case.

None of the remaining axes of the taxonomies directly correspond to each other. The Y-chart seems limited, and none of the methods appear to directly address the hardware/software codesign aspect.

4. New Axes

After examining the previous taxonomies, the working group discussed various types of axes that might more clearly represent model attributes relevant to a RASSP designer. Martin Marietta emphasized selecting relatively simple axis names and concepts that are quickly understood. This goal was to enable wide acceptance among new students and working design engineers in the industry.

First, a common set of attributes were proposed to describe a model's resolution, both internally and externally, but independently. Distinguishing between the two views is important in selecting, using, and building models because it enables clarity and precision. Existing terminology often mixes attributes, as viewed from inside a model, from similar attributes, as viewed from outside the model. The previous taxonomies had a common set of attributes that applies to both cases.

Next,Martin Marietta realized that what characterizes a model in every case is its relative "resolution of details" of some type or another. This means that the axes should all be in terms of resolution. The group identified four orthogonal aspects that are described in various degrees of resolution:
  1. Timing detail
  2. Value detail
  3. Structural details
  4. Functional details
The proposed taxonomy ended up with eight attributes to describe a model's level of description:
  1. Internal Resolutions: timing, value, structure, and function.
  2. External Resolutions: timing, value, structure, and function.
Note that this attribute set does not describe how a hardware model appears to software. The eight attributes do not address the hardware/software codesign aspect. To remedy this, the group proposed a ninth axis to represent the level of software programmability of a hardware model or, conversely, the abstraction level of a software component in terms of its complementary hardware model where it executes. Figure 1 shows the axies with example resolutions. The text box explains the corresponding axes in greater detail.

The working group discussed several examples of mapping common model terms onto the axes. Each model type was easily distinguished from the others on the new axes. Though outside the scope of the meeting, working group participants discussed positioning model types on the axis. The next step in the consensus-building process is the concise definition of the modeling terms relative to the axes.

5. For More Information

RASSP participants are encouraged to consider and comment on the terms and taxonomies presented here, and to offer terms that were overlooked. Although not completed, the group's intention is to assign concise definitions to the listed terms. For details, please contact Carl Hein by phone at 609-866-6541 or by email at chein@atl.ge.com.

References

[1] Ecker, W. and Hofmeister, M., "The Design Cube - A Model for VHDL Design Flow Representation," Proceedings of the Euro-VHDL, 1992, pp. 752-757.
The RASSP Digest - Vol. 2, 2nd. Qtr. 1995

95q2/news_9.html