-abc-runner
¶
Run ABC on AIGER files
This pass runs ABC on AIGER files. It is a wrapper around AIGERRunner that uses ABC as the external solver. It runs the following ABC commands:
read <inputFile>
: Read the AIGER file- for each command in
abcCommands
, run-q <command>
write <outputFile>
: Write the AIGER file
Options ¶
-continue-on-failure : Don't fail even if the AIGER exporter, external solver, or AIGER importer fail
-abc-path : Path to the ABC executable
-abc-commands :
-aig-lower-variadic
¶
Lower variadic AndInverter operations to binary AndInverter
-aig-lower-word-to-bits
¶
Lower multi-bit AndInverter to single-bit ones
-aig-print-longest-path-analysis
¶
Print longest path analysis results with detailed timing statistics
This pass performs longest path analysis on AIG circuits and outputs detailed timing information including:
- Delay distribution statistics showing timing levels and path counts
- Critical path details for the top N fanout points
- Path history with intermediate debug points for detailed analysis
The analysis considers each AIG and-inverter operation to have unit delay and computes maximum delays through combinational paths across module hierarchies.
Options ¶
-output-file : Output file for analysis results (use '-' for stdout)
-test : Emit longest paths as diagnostic remarks for testing
-show-top-k-percent : The size of the longest paths to show.
-emit-json : Output analysis results in JSON format
-aig-runner
¶
Run external logic solvers on AIGER files
This pass exports the current hardware module to AIGER format, runs an external logic solver on the exported file, and imports the optimized results back into the MLIR module.
The solver command arguments must contain placeholder tokens that are replaced at runtime:
<inputFile>
: Replaced with the path to the temporary AIGER input file<outputFile>
: Replaced with the path where the solver should write results.
ABCRunner is a wrapper around AIGERRunner that uses ABC as the external solver. Hence if the user wants to use ABC, they should use ABCRunner instead of AIGERRunner.
Options ¶
-continue-on-failure : Don't fail even if the AIGER exporter, external solver, or AIGER importer fail
-solver-path : Path to the external solver executable
-solver-args :