Integrating CUDD

128 views
Skip to first unread message

Brendon

unread,
Feb 17, 2010, 8:29:59 PM2/17/10
to ECE 156B W10
Some students have had problems getting CUDD integrated with PODEM.

http://www.cs.uleth.ca/~rice/cudd.html has an example makefile (http://
www.cs.uleth.ca/~rice/CUDDcode/Makefile) modified to link to the CUDD
libraries.

The library lines need to be added to the ATPG build line;
-L$(DIR)/cudd -L$(DIR)/mtr -L$(DIR)/st -L$(DIR)/util -L$(DIR)/epd -
lcudd -lmtr -lst -lutil -lepd

Also if you want to include cudd.h and until.h like #define <cudd.h>
you need to include the following flag to whichever file is including
cudd or util;
-I$(DIR)/include

Both assume you have DIR defined to the root of the CUDD directory.


Another issue people where having was building input.c when including
until.h. I think there are naming conflicts until.h introduces. If you
are having problems with this, I would recommend putting your CUDD
code in a seperate c file and include cudd.h and util.h into that
file. Then you only need to include a header to your newly created c
file in input.c.

Brendon

Adam Greenfield

unread,
Feb 19, 2010, 4:13:36 AM2/19/10
to ece-15...@googlegroups.com
Okay, I'm beyond linking/compiling errors.  But when I run a sample program (attached as default.jpg) I get the attached bdd output (attached bdd.jpg).

I'm not doing anything fancy, and yet I don't get a graph as I expect to....

Any clues?
default.jpg
bdd.jpg

Brendon Bolin

unread,
Feb 19, 2010, 4:22:36 AM2/19/10
to ece-15...@googlegroups.com
How are you initializing the manager?

Brendon
--
______________________
Brendon Bolin
bbo...@gmail.com

Adam Greenfield

unread,
Feb 19, 2010, 4:25:55 AM2/19/10
to ece-15...@googlegroups.com
manager=Cudd_Init(0,0,CUDD_UNIQUE_SLOTS,CUDD_CACHE_SLOTS,0);

Brendon Bolin

unread,
Feb 19, 2010, 4:33:06 AM2/19/10
to ece-15...@googlegroups.com
Should be fine. Assuming you copy and pasted that code, I don't know what the issue is. If you print the number of minterms, is it one?

Adam Greenfield

unread,
Feb 19, 2010, 5:01:43 AM2/19/10
to ece-15...@googlegroups.com
all code is copied and pasted as shown.

after running:

printf("number of minterms= %d\n",Cudd_CountMinterm(manager,f,4));

It responds with 0.

Michael Zimmer

unread,
Feb 19, 2010, 12:26:40 PM2/19/10
to ece-15...@googlegroups.com
I think the BDD output image is correct. Instead of having a path to
a '0', CUDD uses an inverted arc going to '1'. That's why your last
line going to '1' is is different color.

Michael

On Fri, Feb 19, 2010 at 2:01 AM, Adam Greenfield

Reply all
Reply to author
Forward
0 new messages