Name

abc::print_fanio — report signal branching and gate input counts in the circuit

Synopsis

abc::print_fanio [result] [parameters] [timeout]

DESCRIPTION

Sends the command print_fanio parameters to ABC and waits for a prompt. Parses the output and converts values reported by ABC to items in the result array. The parsing works with ABC 90813 version only. The fanin and fanout distribution table is not parsed.

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 fanins_max (out)

Maximum number of inputs to a single gate.

int fanins_ave (out)

Average number of inputs to a single gate.

int fanouts_max (out)

Maximum number of inputs fed by the output of a single element.

int fanouts_max (out)

Average number of inputs fed by the output of a single element.

string parameters (in)

Optional argument. Parameters for the ABC print_fanio 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_fanio 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

  • ABC 70930 does not provide the summary information and therefore the procedure fails with ABC_E_PARSE.

  • The fanin and fanout distribution table printed by ABC is not parsed.

SEE ALSO

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