The RASSP Digest - Vol. 3, September 1996


ADEPT: A Unified Environment for System Design

by Moshe Meyassed, Bob McGraw, Robert Klenke, James Aylor, and Barry Johnson


Abstract

This paper presents an unified end-to-end design environment that supports the design of digital systems from initial concept down to the final implementation. A tool called ADEPT (Advanced Design Environment Prototyping Tool) has been developed to implement this environment. ADEPT supports both system level performance and dependability analysis in a common design environment using a collection of predefined library elements, called ADEPT modules. These modules have a VHDL description as well as an underlying colored Petri Net representation associated with them. As a result, both simulation-based and mathematical approaches for analysis can be employed. A novel aspect of ADEPT is the ability to simulate both uninterpreted (performance) and interpreted (behavioral) models in a common simulation environment using a technique called hybrid modeling. Hybrid modeling allows the stepwise refinement of system level models into implementation level models. The ADEPT design tool is available via anonymous ftp.

1. Introduction

An end-to-end unified design environment based upon the use of VHDL is being developed by the Center for Semicustom Integrated Systems (CSIS) at the University of Virginia. This environment also has a mathematical basis in Petri Nets thus providing the capability for analysis through simulation or analytical approaches. A tool set called ADEPT (Advanced Design Environment Prototyping Tool) has been developed to implement this environment. ADEPT supports the integrated performance and dependability analysis of system level models. ADEPT is also being extended to support operational specification modeling and hardware/software codesign. Additionally, ADEPT has the capability to simulate both uninterpreted and interpreted models in a common simulation environment using a technique called hybrid modeling. Hybrid modeling allows the stepwise refinement of system level models into implementation level models.

This unified design environment provides several advantages over previous design environments. First, a common modeling language that spans numerous design phases is much easier to use, encouraging more design analysis and consequently better designs. A common modeling language enables the possibility of a common simulation environment. The common simulation environment decreases the need for translators and multiple design environments which reduces inconsistencies and the probability of errors in translation and greatly speeds the design process. Second, the existence of a mathematical foundation within the unified environment provides the capability for complex system analysis using analytical approaches.

The major components of the ADEPT environment are a library of predefined elements (called ADEPT modules) from which system level performance and reliability models can be constructed, and a set of tools for automating the construction, simulation, and analysis of these system level models.

2. The ADEPT Modules

In the ADEPT environment, a system model is constructed by interconnecting a collection of ADEPT modules. The modules model the information flow, both data and control, through a system. Each ADEPT module has an associated VHDL behavioral description and a corresponding Colored Petri Net (CPN) representation. These CPN descriptions can be used to reduce the system model size and consequently reduce the overall simulation time of the model. In addition, the CPNs can be transformed into Markov models from which dependability measures (reliability, availability, safety, etc.) can be obtained using well known analytical techniques.

The ADEPT modules communicate by exchanging tokens, which represent the presence of information, using a uniform, well defined handshaking protocol. Higher level modules can be constructed from the basic set of ADEPT modules. In addition, custom modules can be incorporated into a system model as long as the handshaking protocol is adhered to.

A token is implemented as a record in VHDL. In the token, the first element in the record is the STATUS field of the token and the second element is an array of user defined COLOR fields. The STATUS field is used to implement the token passing mechanism, that is, the “handshaking” between the ADEPT modules. The COLOR fields contain up to 18 integer tags that can hold user-specified information. Modules are provided which can manipulate the information in the COLOR fields.

The basic set of ADEPT modules is divided into six categories: control modules, color modules, delay modules, fault modules, miscellaneous parts modules, and hybrid modules. The control modules, such as the Switch, and Queue modules, store and control the flow of tokens. The color modules enable the manipulation of the token color fields and the delay modules model the temporal aspects of a system. The fault modules are used to model the presence and detection of faults and errors in a system model. The miscellaneous parts category contains modules that are used for data collection within the ADEPT system. The hybrid category contains modules which aid in the construction of hybrid models, as explained below.

Because ADEPT uses VHDL as its simulation language, it provides the designer with the unique ability to simulate uninterpreted (performance) models with interpreted (behavioral) models in a common environment, termed hybrid modeling. Hybrid modeling allows the modeler to cosimulate elements which are modeled at different levels of design detail within the same model. The hybrid modeling interfaces within ADEPT are mainly concerned with handling the performance (uninterpreted) modeling to functional/behavioral (interpreted) modeling transition. The hybrid modeling interface must handle the actual conversion of the tokens from the uninterpreted model into the values (integers, reals, bits, etc.) required by the interpreted model and the “filling in” of the information in the interpreted model that may not be present in the uninterpreted model.

The hybrid category of ADEPT modules contains the elements necessary to construct the hybrid interfaces. Modules are included to construct hybrid interfaces between uninterpreted models and interpreted models with both combinational and sequential elements.

3. The ADEPT Front-end Tools

The overall architecture and design flow of the ADEPT tool set is shown in Figure 1. The ADEPT system includes a graphical front-end that the designer can use to construct system level models using ADEPT modules. The graphical front end is currently based on the Mentor Graphics’ Design Architect schematic capture system. Once the schematic is constructed using Design Architect, it is exported to the ADEPT tool set as EDIF 2.0.0. The ADEPT tools then translate the EDIF into either a hierarchical VHDL netlist representation or a CPN representation. The user can simulate the hierarchical VHDL that is obtained by utilizing the behavioral VHDL descriptions of the ADEPT modules. Alternatively, the equivalent CPN can be used to perform analytical model reduction or dependability analysis functions.

Figure 2 is a sample DA screen showing an ADEPT model. The schematic shown is that of a Triple Modular Redundancy (TMR) system with three dedicated repair processes. Most of the elements in this top level schematic are hierarchical, with separate design “sheets” describing how each component is constructed from ADEPT modules. The various components are graphically interconnected with signals. Once constructed, a model such as the one shown in Figure 2 can be analyzed for performance and dependability measures using the ADEPT tools described below.

4. The ADEPT Analysis Tools

System level models in ADEPT can generate data that can be analyzed to determine system performance and dependability measures. In ADEPT, the miscellaneous parts category contains modules that collect data on the token flow during the model simulation. Several post processing tools are included in the ADEPT tool set that can generate performance metrics such as throughput, utilization, latency, and queue lengths from the information captured by the miscellaneous parts modules. These tools can display the performance information either as text, or as an animated graphical display.

In ADEPT, fault modules can be inserted into a system level model to measure the dependability attributes of a system. Dependability analysis can be undertaken in ADEPT using either simulation based or analytical approaches. In the simulation based approach, the ADEPT model, with the fault modules inserted, can be directly simulated for various mission times to gather statistics on dependability metrics. However, because of the typically low failure rates used in fault modeling, significant simulation time may be required to accurately measure the required dependability metrics. Alternatively, a version of the ADEPT fault modules has been created that allows the ADEPT model to be interfaced to the Reliability Estimation System Testbed (REST) developed by NASA. The ADEPT-REST interface allows the REST engine to manipulate the ADEPT model in such a way that it can create a Markov model of the system based on operational and failed system states and then analyze it to determine the dependability metrics of the system.

In addition to the simulation based approaches which use the VHDL model of the system, the CPN representation can also be used to perform analytical reliability analysis. The CPN description of the system model is reduced by removing all information in the model that does not affect reliability analysis. The resulting reduced CPN is then translated into a Markov model. The Markov model can then be solved using standard techniques to obtain dependability information.

Finally, a tool called AnimateAdept is included in the ADEPT tool set. AnimateAdept provides the ability to view the flow of tokens in the model using the Design Architect schematic. The status of tokens is represented by four different colors, and signals in the schematic change their color dynamically according to the temporal status of the tokens flowing through them. Additional information, such as user-defined color information, can also be presented dynamically on the screen. AnimateAdept provides a quick and easy way to debug models and understand the way in which phenomenon like bottlenecks and deadlocks are formed.

5. Application-Specific Libraries

The basic set of ADEPT modules can be used to model almost any type of system. However, the ADEPT modules include a fairly low level of functionality and thus large system models constructed from them may have some simulation performance or model complexity problems.

Fortunately, ADEPT allows the generation of application specific libraries of modules. This feature provides the ability to create libraries of modules which target modeling certain types of systems. By utilizing such a library, the user can save a significant amount of time constructing and simulating different models in the same application area.

Several such libraries have been created and included in the standard ADEPT environment. One such library includes elements for modeling digital communication networks. Five different communication networks, ATM, Ethernet, Myrinet, Raceway Interconnect, and the SCI, were used to guide the development of this library. This communication library contains four types of ADEPT modules: transmitters, receivers, routers, and bus routers. The transmitter modules are responsible for taking a particular message at their input and formatting and packetizing this message according to the communication protocol being modeled. The transmitter then sends the proper packets through the communications network. The receiver is responsible for the converse of the transmitter, it takes the packet data from the network and reconstructs the original message to be sent to its output. Separate transmitter and receiver elements exist for each protocol that is included in the library. The router is responsible for routing the packet data from one of its inputs to one or all of its outputs. The router can be parameterized for modeling all of the networks mentioned with the exception of the Ethernet in which case a bus router must be used. The bus router performs the same function as the router, however, only one message may be present on the bus router at a time. With the development of this communication library ADEPT users can now create models of communications networks quickly and easily.

A library of modules in ADEPT geared towards modeling cycle-based synchronous systems such as state machines and microprocessors is currently being developed. The cycle-based modeling environment employs techniques which enforce synchronization requirements at clocked memory elements. This library contains abstract models of the combinational devices (special purpose logic, ALUS, routing elements) and sequential devices (synchronous and asynchronous memories, register files) which are commonly used for processor development. Analysis techniques are also being developed to evaluate different architectures at an abstract level of design. Such techniques include tests for minimum cycle time, tests for determining the optimal amount of microconcurrency for a given instruction, throughput analysis, utilization analysis and functional analysis.

6. Obtaining ADEPT

The current version of ADEPT is available via anonymous ftp. For information on obtaining ADEPT, consult the ADEPT home page: http://csis.ee.virginia.edu/~rassp/adept.html. ADEPT currently runs on a Sun SPARC platform and requires Mentor Graphics’ Design Architect as a front end. However, interfaces to other schematic capture tools, such as ORCAD and CADENCE, are under development.

7. Related Publications

Additional information on ADEPT related research can be found in the following papers:

[1] S. Kumar, R.H. Klenke, J.H. Aylor, B.W. Johnson, R.D.Williams, and R. Waxman, “ADEPT: A Unified Environment for End-to-End System Design,” Journal of Current Issues in Electronic Modeling.

[2] R. Rao, A. Rahman, and B.W. Johnson, “Integrated Performance and Dependability Analysis Using the Advanced Design Environment Prototype Tool ADEPT,” Proceedings of the AIAA Computing in Aerospace Conference, San Antonio, TX, 285-300, March, 1995.

[3] M. Meyassed, R. McGraw, J.H. Aylor, R.H. Klenke, and R.D. Williams, “A Framework for the Development of Hybrid Models,” Proceedings of the 2nd Annual RASSP Conference, July, 1995.

[4] S. Kumar, J.H. Aylor, B.W. Johnson, and W.A. Wulf, “A Framework for Hardware/Software Codesign,” IEEE Computer, vol. 26, 39-45, December, 1993.

[5] G. Swaminathan, J.H. Aylor, and B.W. Johnson, “Model Reduction Techniques Using Colored Petri Nets,” Proceedings of the 1993 TECHCON, Atlanta, GA, 291-293, October, 1993.

Moshe Meyassed
Center for Semicustom Integrated Systems
Department of Electrical Engineering
University of Virginia
mm8u@Virginia.EDU

Bob McGraw
Center for Semicustom Integrated Systems
Department of Electrical Engineering
University of Virginia
rmm2d@Virginia.EDU

Robert Klenke
Center for Semicustom Integrated Systems
Department of Electrical Engineering
University of Virginia
rhk2j@Virginia.EDU

James Aylor
Center for Semicustom Integrated Systems
Department of Electrical Engineering
University of Virginia
jha@Virginia.EDU

Barry Johnson
Center for Semicustom Integrated Systems
Department of Electrical Engineering
University of Virginia
bwj@Virginia.EDU


Newsletter Index
The RASSP Digest - Vol. 3, September 1996
newsletter/html/96sep/news_9.html