BDS is a logic optimization
program developed at the University of Massachusetts, Amherst. It is an
experimental tool for BDD-based logic synthesis, developed
by Congguang Yang as part of his Ph.D. thesis.
BDS is based on a new theoretical foundation,
namely a structural decomposition of the BDD of the logic function. Unlike
traditional methods based on algebraic factorization, it allows for both
algebraic and Boolean logic decomposition of type AND,
OR, XOR, and MUX. In this tool, BDD is used as the sole platform
to carry out all procedures in the synthesis flow.
The new version, BDS-1.2, incorporates sharing extraction
and has all the known bugs fixed.
Source code of BDS-1.2 is now available upon request
for non-commercial, academic use only.
Please contact Prof. Maciej Ciesielski at
ciesiel@ecs.umass.edu
to obtain the code.
Please read instructions
, before downloading the BDS-1.2 source code.
This binary executable has been compiled using MS Visual Studio 6.0.
It runs on all Windows platforms exactly the same as the corresponding
UNIX version.
BDS is currently being modified by Alan Mishchenko, alanmi@ee.pdx.edu.
Utility Programs
The following are some utility programs we used in our
daily research. We hope you find them
useful. Again, all the programs rely on st,
util
and bnet packages of CUDD. Please follow
the procedures given in the above instruction to compile
them.
1. blif2dot
The program name already tells
its functionality. dot
is an excellent graph drawing program
for many applications. Look
at the Boolean network of C6288as an example
of a drawing.
2. poext
This program is used to split a
multi-output function in BLIF format into a set of
single-output BLIF files.
This is the way to obtain non-trivial single-output Boolean
functions.