abc::sat, abc::iprove, abc::prove — check staisfiability
abc::sat
[result
] [parameters
] [timeout
]
abc::iprove
[result
] [parameters
] [timeout
]
abc::prove
[result
] [parameters
] [timeout
]
The procedures take a combinational circuit and determines whether there exist
a combination of input values that results in logical 1 at the output.
This is known as the Boolean Satisfiability Problem (SAT). The procedures
send respective commands together with parameters
to ABC and wait for a prompt.
The output is parsed to determine the result and detect error messages from ABC.
The result is returned by symbolic return codes.
result
(out)Optional argument. If omitted, no information is returned. The following items are present:
errorCode
(out)Error code. See RETURN CODES
below. Also put to the errorCode
global variable.
rawOutput
(out)The unprocessed output of ABC, including the final prompt.
promptNumber
(out)The number included in the final prompt. The ABC prompt has the "abc123> " form. The number indicates successive version of the network stored in ABC.
cmdTime
(out)Time in milliseconds elapsed by the command.
answer
(out)The result of the equivalence check. Also provided as the return value of the procedures. One of ABC_N_SAT_YES, ABC_N_SAT_NO, ABC_N_SAT_UND.
parameters
(in)Optional argument. Parameters for the respective ABC commands. Defaults to an empty string.
timeout
(in)Optional argument. If given, sets the timeout of Expect
for this command. Othervise, the value of the timeout
global variable applies.
The procedures returns a string representing the result, or an empty string in case of error. The returned symbol is one of
See abctcl(n) , abc::messages(n) for error reporting and error symbols. The following error symbols can occur:
parameters
.