Name

abc::print_gates — report staistics of gate types

Synopsis

abc::print_gates [result] [parameters] [timeout]

DESCRIPTION

Sends the command print_gates 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 const, float const_percent (out)

Number and percentage of constant generators (logical 0, 1).

int buffer, float buffer_percent (out)

Number and percentage of buffers.

int inverter, float inverter_percent (out)

Number and percentage of inverters.

int and, float and_percent (out)

Number and percentage of AND gates, including gates derived from AND by inversion of inputs, e.g. NOR.

int or, float or_percent (out)

Number and percentage of OR gates, including gates derived from OR by inversion of inputs, e.g. NAND.

int other, float other_percent (out)

Number and percentage of other gates, i. e. XOR and XNOR.

int total, float total_percent (out)

Number and percentage of all gates. The percentage is always 100%.

string parameters (in)

Optional argument. Parameters for the ABC print_gates 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_gates 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.

SEE ALSO

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