Next: How to Get and
Up: PdTRAV Politecnico di Torino
Previous: Contents
  Contents
The Politecnico di Torino Reachability Analysis for Verification
(PdTRAV) package provides functions to perform BDD based
symbolic reachability analysis of Finite State Machines (FSMs).
The functions are intended for use within the field of formal verification
of sequential circuits.
The package can be used as:
- as a black box, i.e., a library of functions to be linked with an application
- as a clean box which may be worked into and expanded by a programmer.
The CMD sub-package provides a simple textual user interface for
users who simply want to perform reachability and BDD operations.
The package includes the following sub-packages (directories):
- Decision Diagram Interface (DDI): almost all BDD package dependencies are
concentrated here.
DDI can also be viewed as a portability interface for a chosen BDD package.
Moreover, it provides some higher level abstractions such as BDD based
types (monolithic/partitioned Boolean functions, arrays of Boolean functions,
variables, variable arrays and sets).
The present implementation relies on the CUDD package by Fabio Somenzi
(version 2.3.0).
- Utility (PDTUTIL): memory management, string manipulation and
other low level non BDD routines.
- CUDD interface (CUPLUS): this directory contains some
extensions to the CUDD package.
All BDD package extensions (mostly recursive functions working of BDD nodes)
have been (and should be) created in this directory, or in a similar one in
the case of porting to another BDD package.
- Finite State Machine (FSM): this package contains routines for storing/loading
and manipulating a FSM structure.
The BLIF format is presently supported for FSM netlists. We also
introduce a FSM dump format based on the DDDMP BDD format
(see dddmp package inside the CUDD package).
- Transition Relation (TR): symbolic traversals are based on transition
relations.
This directory provides manipulation functions, i.e., sorting, partitioning,
clustering, for monolithic and partitioned transition relations.
Support for transitive closure is also included.
- Traversal (TRAV): image computations and full traversals are available from
this package. Invariant (assertion based) checking, is included.
- Conjunctive and disjunctive partitioning (PART).
This directory supplies the user with routines to conjunctively and
disjunctively partition a BDD.
- Command user interface (CMD): a textual interactive user interface for the
package.
It allows to issue commands and to parse them by calling the functionalities
of the other packages.
Mutual interactions and references among sub-packages exist internally.
Some of the sub-packages have been build up mainly as bottom layers for other sub-packages,
but they could be used as stand-alone packages as well by any application.
E.g. the DDI package is the only one required for an application which
requires Boolean function manipulation only, without requiring the
FSM, transition relation and traversal packages.
In the following we assume that the reader is familiar with BDDs, basic
operations using BDDs, and symbolic traversals.
The reader should refer to [#!Bryant86!#,#!Bryant92!#] for a survey on these
topics.
Next: How to Get and
Up: PdTRAV Politecnico di Torino
Previous: Contents
  Contents
Gianpiero Cabodi
2001-03-25