1

I have only recently started with CUDD.

I have a circuit in BLIF format and I want to input it to CUDD with which I understand it's going to give me the BDD and I want the ZDD too.

I have read through the readme file, but for the life of me, I can't find how to work with this at all.

Can anyone please tell me how to input the blif to CUDD in detail? (what command and where to write the command)

Sorry if this is too basic.

1 Answers1

0

While CUDD has a function to write a BDD as Blif file to disk (see here, function Cudd_DumpBlif), the library does not have a function for reading a Blif file from disk.

This means that you will need to implement it yourself if you need it or salvage a similar functionality from other code. Note that doing this well with BDDs is non-trivial, unless your circuit is really small. The ABC framework for working with circuits has a module with more than 1000 lines for reading Blif files.

Another possibility would be to use the ABC framework for converting the BLIF file into something that is easier to read. For instance, you could load the BLIF file and then write it in CNF form (see the write_cnf command here). This will only work for very small circuits, though. There is a reason why in the hardware domain, AIGs (and-inverter graphs) are more commonly used.

DCTLib
  • 1,016
  • 8
  • 22