Name

abc::print_symm — report autosymmetries in the circuit

Synopsis

abc::print_symm [result] [parameters] [timeout]

DESCRIPTION

Sends the command print_symm parameters to ABC and waits for a prompt. Parses the output and converts values reported by ABC to items in the result array.

ARGUMENTS

array result (out)

Optional argument. If omitted, no information is returned. The following items are present:

string errorCode (out)

Error code. See RETURN CODES below. Also put to the errorCode global variable.

string rawOutput (out)

The unprocessed output of ABC, including the final prompt.

int 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.

int cmdTime (out)

Time in milliseconds elapsed by the command.

int total_func_supps (out)

TO BE DETERMINED.

int total_struct_supps (out)

TO BE DETERMINED.

int total_symm (out)

TO BE DETERMINED.

int structural_symm (out)

TO BE DETERMINED.

int total_non_sym (out)

TO BE DETERMINED.

int total_var_pairs (out)

TO BE DETERMINED.

string parameters (in)

Optional argument. Parameters for the ABC print_symm command. Defaults to an empty string.

int timeout (in)

Optional argument. If given, sets the timeout of Expect for this command. Othervise, the value of the timeout global variable applies.

RETURN CODES

The procedure returns an empty string. See abctcl(n) , abc::messages(n) for error reporting and error symbols. The following error symbols can occur:

Error Code: ABC_E_BUSY
Diagnostic: Prompt from the previous command has not been detected yet.
Error Code: ABC_E_EOF
Diagnostic: A premature end-of-file detected. Perhaps the ABC process crashed.
Error Code: ABC_E_TOUT
Diagnostic: Timeout expired before the prompt was detected.
Error Code: ABC_E_PARAMS
Diagnostic: ABC could not interpret parameters.
Error Code: ABC_E_PARSE
Diagnostic: abc::print_symm could not parse the output of ABC. A new version with different labels might be in use.
Error Code: ABC_E_EMPTY
Diagnostic: The current circuit description in ABC is empty. Use abc::read.

BUGS

  • The message `This command works only for combinational networks (run "comb").' is not detected.

  • The ABC output has two parts - on supports and on symmetries. Some entries in the parts have equal names and are not parsed. In this case, blind regexp does not suffice.

SEE ALSO

abctcl(n) , abc::messages(n)