ext_tools.abc_interface module¶
-
ext_tools.abc_interface.
generateStat
(file_in, file_out)¶ Invokes ABC and generates statistics about a circuit using the command
print_stats -lmpg
.Parameters: - file_in (str) – The absolute path to the input circuit file in Verilog or Blif format.
- file_out (str) – The absolute path to the output file in any writable format.
-
ext_tools.abc_interface.
opt
(file_in, file_out)¶ Invokes ABC and optimizes a given circuit design.
Parameters: - file_in (str) – The absolute path to the circuit file to optimize.
- file_out (str) – The absolute path to the output file to which the optimized circuit will be written.
Note
If a hierarchy is found in the design it will be flattened, i.e., only the top module remains. This is important if, in later steps, modules should be replaced.
-
ext_tools.abc_interface.
aigRewriting
(qc_file, file_in, file_out, effort=2)¶ Invokes ABC and performs AIG-Rewriting on a given circuit and conforming to given quality constraints.
Parameters: - qc_file (str) – The absolute path to the file specifying the quality
constraints. Passed to the
aig_rewrite
command as first parameter. - file_in (str) – The absolute path to the input circuit file. Passed
to the
aig_rewrite
command as second parameter. - file_out (str) – The absolute path to the output file to which the resulting circuit will be written.
- effort (int, optional) – Integer in
[0..2]
specifying the effort level to be used for approximation. Is passed to theaig_rewrite
command as-E
parameter. Default value is 2.
Returns: The number of changes as returned by the
aig_rewrite
command.Raises: IOError
– If ABC does not behave as expected.- qc_file (str) – The absolute path to the file specifying the quality
constraints. Passed to the
-
ext_tools.abc_interface.
precisionScaling
(file_in, file_out, mask)¶ Invokes ABC and performs precision scaling on a given circuit design.
Parameters: - file_in (str) – The absolute path to the input circuit file.
- file_out (str) – The absolute path to the output file to which the resulting circuit will be written.
- mask (str) – A string representing the bit mask to be used for
precision scaling. It is passed to the
precision_scaling
command as the only parameter and must be formatted correctly for this purpose. Ideally, the string contains only 0s and 1s and its length equals the number of primary outputs of the input circuit.
Returns: - The number of changes computed as
n_start - n_end
from the numbers of starting and ending nodes returned by the
precision_scaling
command.
Raises: IOError
– If ABC does not behave as expected.
-
ext_tools.abc_interface.
dprove
(file_in)¶ Invokes ABC and performs temporal induction to prove sequential equivalence using the
dprove
command.Parameters: file_in (str) – The absolute path to the input circuit containing an SQCC in Verilog or Blif format. Returns: 1 if the proof was successful, 0 otherwise.
-
ext_tools.abc_interface.
pdr
(file_in)¶ Invokes ABC and performs temporal induction to prove sequential equivalence using the
pdr
command.Parameters: file_in (str) – The absolute path to the input circuit containing an SQCC in Verilog or Blif format. Returns: 1 if the proof was successful, 0 otherwise.
-
ext_tools.abc_interface.
runCmd
(cmd)¶ Invokes ACB and runs a command using subprocess. The command’s return code is returned.
-
ext_tools.abc_interface.
runScript
(file)¶ Invokes ABC and runs a script file using subprocess. The script’s return code is returned.