cec: Adding new algorithm for generating simulation vectors for SAT sweeping (SimGen) #351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
The following pull request adds a new function in ABC. You can call this new function by using the command "&fraigSimGen." This algorithm relates to this work.
CLI arguments
The command
&fraigSimGen
has the following arguments:-E num
sets the experiment ID. There are 5 possible experiment types: 1) reverse simulation, 2) simple implication, 3) advanced implication, 4) advanced implication + count DCs, 5) advanced implication + count DCs + FFC;-O num
sets the bitwidth of the output gold which defines the number of LUTs whose output value is targeted by SimGen;-S num
sets the bitwidth of the simulation vectors which defines the number of bits used during simulation;-t num
sets the timeout value for SimGen;-i num
sets the maximum number of iterations;-v
toggles verbose outputs;-V
toggles very verbose outputs.Please look at the paper for more information related to the experiments' meanings.
General Code Structure
The file
src/proof/cec/cecSatG2.c
contains the main algorithmCec_SimGenRun
. The main function is divided in the following steps:-i
.-t
option is reached. The-O
parameter specifies the number of parallel LUTs targeted during each run of SimGen.For all simulations, the bitwidth used is specified by the option
-S
.Main Algo Structure
The core function of SimGen is
executeControlledSim
. This function is divided into the following steps: