Name

abc::print_latch — report statistics of latches in the circuit

Synopsis

abc::print_latch [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 covers both ABC 70930 and 90813 versions (the latter has less cryptic category labels). When ABC reports the circuit as combinational, latch counts in all categories are set to 0.

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

Total number of latches (flip-flops) in the circuit.

int init0 (out)

Number of latches initialized to logical 0.

int init1 (out)

Number of latches initialized to logical 1.

int initDC (out)

Number of uninitialized latches.

int const_data (out)

Number of latches with constant input.

string parameters (in)

Optional argument. Parameters for the ABC print_latch 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_latch 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)