Page MenuHomePhorge

README.md
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

README.md

# BBDD Manipulation package
A C++ library for creating, manipulating, and analyzing **Biconditional Binary Decision Diagrams (BBDDs)**.
It provides efficient data structures and algorithms for representing boolean functions in the form of BBDDs, with an intuitive API for integration into projects.
---
## 📂 Project Structure
Below is an overview of the main files and directories:
- `include/` - Public headers
- `bbdd.hpp` - main functionality of merging and extending bbdds
- `bbdd_node.hpp` - bbdd node definition, hashing function, dumping node, compare nodes
- `bbdd_types.hpp` - bbdd cases, bbdd operations, and pointer sized
- `chain_variable_ordering.hpp` - creating and manipulating chain variable ordering
- `computed_table.hpp` - merge cache data structure
- `extend_table.hpp` - extend cache data structure
- `unique_table.hpp` - main storage structure with inserting and deleting functions
- `examples/` - Usage demonstrations
- `full_adder.cpp` - example of creating the bbdd of a full adder and writing the design to a .dot and .blif file
- `CMakeLists.txt` - Build configuration (CMake project setup)
- `README.md` - This file
- `LICENSE` - License file
---
## Getting Started
### Installation requirements
- CMAKE version >= 3.31.6
- c++ compiler (tested with g++ version 15.2.1 20250808)
### Build with CMake
- Build examples
```bash
git clone https://phabricator.ict.tuwien.ac.at/source/SoC_BBDD_Library.git
mkdir build && cd build
cmake ..
make
```
- Build the docs
```bash
git clone https://phabricator.ict.tuwien.ac.at/source/SoC_BBDD_Library.git
mkdir build && cd build
cmake ..
make docs
```
### Full adder examples
```bash
./build/example/full_adder
```
- Creates `sum.dot`
- can be converted to .png using the following command
```bash
dot -Tpng sum.dot -o sum.png
```
- Also created `full_adder.blif`
- can for example be opened in yosys
```bash
read_blif full_adder.png
```

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 7, 2:20 PM (1 d, 23 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
400483
Default Alt Text
README.md (1 KB)

Event Timeline