This package is intended as a portability interface and a higher level abstraction of the BDD package. It is used by all other PdTRAV packages working with BDDs, but it might be used as a stand-alone package as well.
A DDI manager is defined in quite a similar way CUDD does. In summary, it is a structure (type Ddi_Mgr_t) containing all informations about a given BDD environment, with a set of variables, hash/cache tables, and BDD nodes/functions. DDI uses its own descriptor (a "C" structure), which, besides pointing to a CUDD manager, allows handling extra informations, like variable names and auxiliary indexes. These are additional variable attributes (names and integer indexes), which are particularly useful as absolute variable references. We introduced them for use in multiple manager frameworks or whenever an application involves several runs of the same program, without a constant correspondence between variable indexes and physical entities (circuit inputs/outputs/latches).