The CUDD package provides functions to manipulate Binary Decision Diagrams (BDDs), Algebraic Decision Diagrams (ADDs), and Zero-suppressed Binary Decision Diagrams (ZDDs).
Questions tagged [cudd]
58 questions
5
votes
3 answers
Extended find of unique tuples in a relation represented by a BDD
Consider {<1,2>, <1,3>, <1,7>, <0,4>} as the set of tuples of a relation R. Now consider that R is represented (via its membership function) by a BDD. That is, The BDD representing R depends on variables {x1,x2, y1, y2, y3} where {x1, x2} are used…

user1975278
- 83
- 5
4
votes
2 answers
CUDD: Quantification of ZDDs
I'm working with CUDD (https://github.com/ivmai/cudd) to use bdd and zdd functionality for model checking, and am wondering how i can quantify over zdds.
For bdds there are the functions bddExistAbstract and bddUnivAbstract (see…

Daniel Miedema
- 159
- 7
4
votes
2 answers
Cudd Package : Binary decison diagrams
Can anyone point some good material on Cudd package. I am looking for some concise matter here. The one at http://vlsi.colorado.edu/~fabio/CUDD/ doesn't seem to give a good introduction to the matter. Any video lectures relating to BDD and its…

rob
- 121
- 3
4
votes
1 answer
Generation of Multi-Output BDD
I am using the CUDD package to generate the BDD, corresponding to an input benchmark file, in PLA format. For a benchmark function with 3 input pins (say) and, 5 output pins (say), I am getting 5 output BDDS corresponding to the 5 outputs. But, I…

CA_RS
- 41
- 2
3
votes
1 answer
CUDD C++ Interface for converting Booleans to BDDs and resulting set of minterms (to cutsets)
I'm working with (https://github.com/ivmai/cudd) with the goal of the following repetitive process:
(1) Input: (Coherent, non-decreasing) Boolean function expression
top = a_1a_2a_3...+ x_1x_2x_3... + z_1z_2z_3...). The Booleans I'm working with…

Gui Larange
- 61
- 5
3
votes
1 answer
Storing BDD in a file using CUDD/DDDMP package?
I have successfully created BDD using CUDD package. I am also able to visualize it using some already built tool. I am interested in storing BDD in a file using DDDMP package of CUDD. I read that Dddmp_cuddBddStore() is doing that for us. I am not…

hemant yadav
- 31
- 1
- 2
3
votes
2 answers
CUDD: Manipulation of BDDs
I'm working with CUDD C++ interface (https://github.com/ivmai/cudd) but there is almost no information about this library. I would like to know how to remove one variable according to its value.
For example, I have now the next table stored in a…

A.J.X
- 55
- 5
3
votes
1 answer
Manipulating BDD imported from a BLIF file in CUDD
I'm trying to import a BLIF file into the CUDD package, create a BDD out of it and then perform some manipulations. I've managed to import the BLIF file using the ntr package. However, I can't figure out how I'm supposed to access any of the…

red_house
- 63
- 3
2
votes
2 answers
What is user interface for JuliaHub/CUDD_jll
Julia has a package for binary decision diagrams called CUDD_jll available from JuliaHub. The package is able to install and compile on the Apple M1 architecture. It does appear to install and compile on macOS v13 running Julia v1.82. But the user…

dogwood
- 371
- 2
- 11
2
votes
2 answers
Representing BDDs in CUDD without simplification
Is it possible to get a bdd for (x0 ∧ x1 ) ∨ (x0 ∧!x1 ) ∨ (!x0 ∧ x1 ) ∨ (!x 0 ∧!x 1 ) that still has nodes representing the variables x0 and x1, using CUDD? I know the above boolean formula simplifies to the constant function 1. But I still want a…

Ashwin Bhaskar
- 23
- 4
2
votes
0 answers
Decision Diagram for Multiple Output Boolean Function in CUDD
I know that CUDD has support for ADDs (Algebraic Decision Diagrams) but I can't seem to figure out how I can use ADDs for multiple output boolean functions. The ADD for such functions would need to have multiple leaves, with each leaf representing a…

red_house
- 63
- 3
2
votes
2 answers
How can I replace some variables in a BDD by CUDD package?
Suppose DdManager has four variables: x, y, x', y' and I have a BDD built by x and y.
Now I want to change x to x', y to y', namely, get an identical BDD built by x' and y'.
How can I get this using the CUDD package? I encountered this problem when…

HelloWorld
- 47
- 4
2
votes
1 answer
How to port a qmake project to cmake
I would like to "port" this C++ project, which uses qmake (i.e., a Tool.pro file) for building, to cmake.
Essentially, I'm asking how to go about writing the necessary CMakeLists.txt file(s) by looking at the Tool.pro file above.
This is what I've…

Spyros Maniatopoulos
- 394
- 1
- 7
- 17
2
votes
0 answers
Cudd_BDD zero node reference value
I'm using Cudd package http://vlsi.colorado.edu/~fabio/CUDD/
First I got an error states "dead count != deleted" so I started debugging and I encounter a problem that I can't understand.
The following code takes as input a decimal value and it…

user3060396
- 163
- 1
- 1
- 5
2
votes
1 answer
Can variables be removed from a CUDD manager?
Could anyone please tell me that is it possible to safely remove variables from the manager in CUDD? For example: I register two variable by v1 = Cudd_bddNewVar(manager); and v2 = Cudd_bddNewVar(manager). Can I remove v2 from the manager?

Trúc Nguyễn Lâm
- 371
- 2
- 9