CRISTAL is a novel methodology and framework for constructing Boolean choice networks for Technology Mapping. The framework includes representative logic cone search, structural mutation for generating diverse choice structures via equality saturation, and priority-ranking choice selection along with choice network construction and validation. Through these techniques, CRISTAL constructs fewer but higher-quality choices, leading to better delay after mapping and physical sizing and buffer timing optimization. CRISTAL enables better alignment for choice network construction, enabling improved technology mapping and more effective post-mapping physical synthesis timing closure.
- Rust environment (rustc, cargo)
- Berkeley ABC tool
- GNU Parallel
- bc (basic calculator)
GNU Parallel:
bash install_parallel.shbc (basic calculator):
sudo apt-get install bcRust Environment:
Ensure you have Rust installed. If not, install via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shBerkeley ABC:
Make sure the ABC tool is installed and accessible in your PATH. For installation instructions, refer to the ABC repository.
To build the CRISTAL framework, run:
makeBefore running CRISTAL on new AIG files, preprocessing is required because CRISTAL's Rust parser needs the input and output signal names to be normalized. This ensures the ABC AIG extension parser can reliably add choices for further steps.
Step 1: Process your new AIG file:
python benchmarks/process.py <your_file.aig>Step 2: Place the processed result in the exp_aig directory.
Step 3: Run the optimization scripts:
bash benchmarks/exp/benchmarks/areaopt.sh
bash benchmarks/exp/benchmarks/delayopt.shTo run CRISTAL on a specific benchmark:
bash run_total_choice_mix.sh --case <benchmark>.aigExample:
bash run_total_choice_mix.sh --case log2.aigTo run on multiple benchmarks:
bash run_total_choice_mix.sh --case *.aigIf you use CRISTAL in your research, please cite our work published in ICCAD'25.
@inproceedings{chen2025Cristal,
title={Revisit Choice Network for Synthesis and Technology Mapping},
author={Chen Chen and Jiaqi Yin and Cunxi Yu},
booktitle={ICCAD},
year={2025},
}