abc::sec, abc::cec, abc::dsec, abc::dprove — check circuits equivalence
abc::sec
[result
] [parameters
] [timeout
]
abc::cec
[result
] [parameters
] [timeout
]
abc::dsec
[result
] [parameters
] [timeout
]
abc::dprove
[result
] [parameters
] [timeout
]
The procedures check whether two circuits are equivalent.
They 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_EQ_YES, ABC_N_EQ_NO, ABC_N_EQ_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
If the circuits have different inputs and outputs, ABC_E_INCOMP error occurs and ABC_N_EQ_UND is not reported. See abctcl(n) , abc::messages(n) for error reporting and error symbols. The following error symbols can occur:
parameters
.