GitHunt
SS

CUDD: CU Decision Diagram package - with CMake and extended C++

CUDD

The CUDD package is a package written in C for the manipulation of decision
diagrams. It supports binary decision diagrams (BDDs), algebraic decision
diagrams (ADDs), and Zero-Suppressed BDDs (ZDDs).

Table of Contents

Usage

To get started with CUDD, you need to place the repository somewhere on your
machine. The simplest way to do so is to add it as a submodule inside the Git
repository of your project.

git submodule add https://github.com/SSoelvsten/cudd external/cudd
git submodule update

Then include the following line in your project's CMakeLists.txt.

add_subdirectory(external/cudd cudd)

Finally, every single executable target is linked to CUDD in the
CMakeLists.txt file with the following lines.

add_executable(<target> <source>)
target_link_libraries(<target> cudd)

At this point, you may include the C header "cudd.h" and/or the C++ header
"cuddObj.hh" and get started on programming.

Building the API documentation is possible via the cudd-doc target (requires
Doxygen to be installed). You can then open doc/html/index.html in the CUDD
project build directory.

Additional Content

Next to the CUDD library in cudd/ and its C++11 API in cplusplus/ and its
dependencies, this folder also contains the following.

DDDMP

Also included in this distribution is the dddmp library by Giampiero Cabodi and
Stefano Quer.

Nanotrav

This directory contains a set of packages that allow you to build a test
application based on the CUDD package.

The test application provided in this kit is called nanotrav and is a
simple-minded FSM traversal program. (See the README file and the man page
nanotrav.1 in the nanotrav directory for the details.) It is included so that
you can run a sanity check on your installation.

License

This software is distributed under the BSD-3-Clause license.

Feedback

This fork of CUDD has diverged from the official version; please open an
issue on this repository for
requests or bug reports. For feedback on CUDD itself in general, please send
your feedback to the original author, Fabio Somenzi:

Fabio Somenzi
University of Colorado at Boulder
ECE Dept.
Boulder, CO 80309-0425
Fabio@Colorado.EDU
http://vlsi.colorado.edu/~fabio

Contributors

BSD 3-Clause "New" or "Revised" License
Created April 12, 2022
Updated March 7, 2026
ssoelvsten/cudd | GitHunt