Next: Writing Decision Diagrams to
Up: User's Manual
Previous: Hooks
The CUDD package contains interface functions that emulate the
behavior of the original BDD package used in SIS [17] and
in the newer
VIS
[4]. How to build VIS with CUDD is described
in the installation documents of VIS. (Version 1.1 and later.)
This section describes how to build SIS with the CUDD package. Let
SISDIR designate the root of the directory
hierarchy where the sources for SIS reside. Let
CUDDDIR be the root of the directory hierarchy where
the distribution of the CUDD package resides. To build SIS with the
CUDD package, follow these steps.
- Create directories SISDIR/sis/cudd and
SISDIR/sis/mtr.
- Copy all files from CUDDDIR/cudd and CUDDDIR/sis to
SISDIR/sis/cudd and all files from CUDDDIR/mtr to
SISDIR/sis/mtr.
- Copy CUDDDIR/cudd/doc/cudd.doc to SISDIR/sis/cudd;
also copy CUDDDIR/mtr/doc/mtr.doc to SISDIR/sis/mtr.
- In SISDIR/sis/cudd make bdd.h a symbolic link to
cuddBdd.h. (That is: ln -s cuddBdd.h bdd.h.)
- In SISDIR/sis/cudd delete Makefile and rename
Makefile.sis as Makefile. Do the same in
SISDIR/sis/mtr.
- Copy CUDDDIR/sis/st.[ch] and CUDDDIR/st/doc/st.doc
to SISDIR/sis/st. (This will overwrite the original files: You
may want to save them beforehand.)
- From CUDDDIR/util copy datalimit.c
to SISDIR/sis/util. Update util.h and Makefile
in SISDIR/sis/util. Specifically, add the declaration
EXTERN long getSoftDataLimit(); to util.h and add
datalimit.c to the list of source files (PSRC) in Makefile.
- In SISDIR/sis remove the link from bdd to
bdd_cmu or bdd_ucb (that is, rm bdd) and make
bdd a symbolic link to cudd. (That is: ln -s cudd
bdd.)
- Still in SISDIR/sis, edit Makefile,
Makefile.oct, and Makefile.nooct. In all three files add
mtr to the list of directories to be made (DIRS).
- In SISDIR/sis/include make mtr.h a symbolic link to
../mtr/mtr.h.
- In SISDIR/sis/doc make cudd.doc a symbolic link to
../cudd/cudd.doc and mtr.doc a symbolic link to
../mtr/mtr.doc. (That is: ln -s ../cudd/cudd.doc .; ln -s
../mtr/mtr.doc ..)
- From SISDIR do make clean followed by make -i.
This should create a working copy of SIS that uses the CUDD package.
The replacement for the st library is because the version
shipped with the CUDD package tests for out-of-memory conditions.
Notice that the version of the st library to be used for
replacement is not the one used for the normal build, because the
latter has been modified for C++ compatibility. The above installation
procedure has been tested on SIS 1.3. SIS can be obtained via
anonymous FTP from
ic.eecs.berkeley.edu. To build SIS
1.3, you need sis-1.2.tar.Z and sis-1.2.patch1.Z. When
compiling on a DEC Alpha , you should add the
-ieee_with_no_inexact flag. (See
Section 3.5.2.) Refer to the Makefile in the
top level directory of the distribution for how to compile with 32-bit
pointers.
Next: Writing Decision Diagrams to
Up: User's Manual
Previous: Hooks
Fabio Somenzi
Thu Sep 24 23:44:34 MDT 1998