This file provides instruction on the installation and use of the Windows version of the library EXTRA v.1.0 extending the functionality of the CU Decision Diagram Package CUDD v.2.3.1 The original version of CUDD is distributed and supported by Fabio Somenzi , http://vlsi.colorado.edu/~fabio/ who bears no responsibility for this library. INSTALLATION OF EXTRA LIBRARY: (1) Download the file "extraXX.zip" to your computer from http://www.ee.pdx.edu/~alanmi/research/extra.htm (2) Unzip the file into the directory, which will become the home directory of the EXTRA static library (3) Open "extra.dsw" in Microsoft Visual C++ 6.0 (File -> Open Workspace...) (4) If you do not have Espresso static library project compiled on your computer, remove files "hmIrred.c" and "zEspresso.c" from the EXTRA library project. (The correponding functions will not be available in your version of the library.) (5) Compile both debug and release versions of the library by selecting the approapriate configuration in Build -> Set Active Configuration and executing command Build -> Rebuild All Compilation of the release version takes approximately 5 seconds on a 933MHz Pentium III PC. (5) If you use a special location on your computer to store the libraries, you may need to manually copy the resulting libraries from the Debug and Release directories of the CUDD home directory to the special location. LINKING YOUR PROJECT TO EXTRA LIBRARY: (1) Create an empty project of type "Console Application". (2) Add the code of your application to this project. It is assumed that your application involves manipulation of {A,B,Z}DDs using the CUDD package. Make sure that "extra.h" is #include'd in your code. (3) Add "/include" to Project -> Settings -> C/C++ -> Additional include directories in both debug and release version of your project (4) Add "/extra/Debug/extra.lib" to Project -> Settings -> Link -> Object/library modules in the debug version of your application (5) Add "/extra/Release/extra.lib" to Project -> Settings -> Link -> Object/library modules in the release version of your application (6) Depending on your project, you may need to define "__STDC__" in Project -> Settings -> C/C++ -> Preprocessor definitions (7) Compile and link the debug/release versions of your application. Applications developed and tested under Windows using CUDD and EXTRA libraries can be compiled and used on UNIX with the UNIX release of CUDD and EXTRA if the application source code does not contain Windows-dependent C/C++ features. Good luck! Alan Mishchenko Portland State University Electrical and Computer Engineering May 19, 2001 This file can be found at http://www.ee.pdx.edu/~alanmi/research/extra.htm