A sampling circuit generator package embedded in abc.
- Generate sampling circuits to perform uniform sampling on given Boolean space.
- Connect generated sampling circuits to a circuit to cast the computation from original domain to sampling domain.
- Put the entire "ext-sample" directory to the "src" directory under abc.
- type "make" command at the root directory of abc
-
Commands Usage
[-h] option shows the detailed usage of each command- sampleCkt
- Generate a sampling circuit with given PI and PO number.
- sampleCnt
- Generate a sampling circuit with given PI number and connect it to the current network.
- [-c] option make the circuit size smaller after connection in our experiments.
- sampleCkt
-
Interface
- SamplingCircuit.h
- Constructor
can initialize the number of PI/PO here - void setIOnum(int nPI, int nPO)
set the number of PI/PO - void setRndSeed(int seed)
set random seed - Abc_Ntk_t* genCircuit()
generate sampling circuit with given PI/PO number and return the network(also stored in "SampleCircuit::pAig" variable). - Abc_Ntk_t* connect(Abc_Ntk_t* pNtk)
connect to current network and return the new network
- Constructor
- SamplingCircuit.h
Please cite our ICCAD 2020 paper if you use our tool for your research:
@inproceedings{Lin:ICCAD:2020,
author = {Yen-Ting Lin and Jie-Hong R. Jiang and Victor N. Kravets},
title = {Symbolic Uniform Sampling with {XOR} Circuits},
booktitle = {Proceedings of the International Conference of Computer-Aided Design (ICCAD)},
year = {2020}
}