Table of Contents

Name

etas - A timing file .dtx and .ttx browser

Origin

This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie 4, place Jussieu 75252 PARIS Cedex 05 FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr

Synopsis

etas [options] [root_file]

Description

etas is the browser of the timing result files provided by the hierarchical timing analyzer tas. It requires a file with the ttx extension to report information on the path delays and possibly a file with the dtx extension to report information on the detailed delays (gate) of the paths.

etas reports timing information selected according to the user's requests. When entering etas, the prompt etas appears. On-line help can be provided by running:

etas> help [options|commands|arguments]

the options should be specified when running etas, they are described in the following section. The commands and the arguments are specified after entering etas. They are described in the following sections. Previously performed commands are available through the keyboard arrow.

tas is a switch level, pattern independent, timing analyzer for CMOS circuits. The input file root_file is a netlist of transistors and capacitances extracted from the layout (ALLIANCE or SPICE format). The netlist can be hierarchical and is flattened if necessary. tas uses a technology file dedicated for each target process (file with elp extension). The default version works out a flattened timing view of the circuit and does not take into account the resistances of wires. In the hierarchical analysis mode, tas uses existing timing views of leaf cell blocks to work out the timing view of the whole circuit, and takes possibly into account the resistances of the interconnecting wires.

The default option of tas provides one output, called `general perfmodule' (root_file.ttx ). It is the entire timing view of the circuit in a special format suitable for the hierarchical analysis and the text browser of the results etas. It contains the propagation times between reference points. Reference points are:
- Terminals (input or/and output of path) - Registers or latches (input and output of path) - Register Commands (output of path) - Precharged signals (optional, input and output of path)

Another possible output of tas is the `detailed perfmodule' (root_file.dtx). The corresponding file contains detailed informations on gate delays in a special format suitable for the hierarchical analysis and the text browser of the results etas.

Input file
This argument root_file, is the name of the timing file(s) root_file.ttx (and root_file.dtx) of a circuit provided by tas.

Options

Options may appear in any order before or after the input filename.

-in="ref_in"
Active with the path command. It can be cancelled by the noin command. Very useful for large circuits and clock checking. When this option is set etas reports only the critical path associated to the ref_in signal. The ref_in signal can either be : -a register (or latch), or -an input terminal, or -a bidirectional terminal. It is possible to specify more than one signal by using regular expression containing as many `*' as you want. You can ask for a part of a vectorized signal (for example -xin="sig*a*" -xin="vector[2-5]").
-lm=value This option enables the user to indicate the maximum size of the
cache memory to be used by etas (Megabyte) when loading the timing data base resulting from tas run. During the analysis etas tries to use less than lm megabytes, if it does not succeed etas uses more and issues a warning. etas will allow 10% of the cache memory to the signals and 90% to the paths. This size can be modified by the cache command.
-name="signal"
This option enables the user to specify the name of signals (terminals, latches, other signals) that will be reported by the list command. It is possible to specify more than one signal by using regular expression containing as many `*' as you want. You can ask for a part of a vectorized signal (for example -xout="sig*a* -xout="vector[2-5]").
-out="ref_out"
Active with the path command. It can be cancelled by the noout command. Very useful for large circuits. When this option is set etas reports only the critical path associated to the ref_out signal. The ref_out signal can either be : -a register (or latch), or -a register command, or -an output terminal, or -a bidirectional terminal. It is possible to specify more than one signal by using regular expression containing as many `*' as you want. You can ask for a part of a vectorized signal (for example -xout="sig*a*" -xout="vector[2-5]").
-x[=val_min][=:val_max][=val_min:val_max]
If the -x option is used without argument, the details of all critical paths will be reported. Beware that this can be a lot of informations. With =val_min argument, where val_min is a delay in pico-second (integer), only paths with delay greater than val_min will be detailed. With =:val_max argument, where val_max is a delay in pico-second (integer), only paths with delay smaller than val_max will be detailed. With =val_min:val_max argument, only paths with delay between val_min and val_max will be detailed.
-w=integer
Specify the maximum number of delays or signals to be reported simultaneously.

Command

The commands allow the user to request a report on some specified timing data. You run the commands by :

etas> command_name [command_parameter] [command_argument]

On-line help can be provided by running:

etas> help command

If an arrow follows the name of the command, further information can be retrieved by :

etas> help command command_name list(l) list_parameter [list_argument]
request a list of items list_parameter in the circuit (instance, command, terminal, latch or precharged signal). The list_parameter allow the user to specify the type of items of the requested list. They are: instance(i) : report the list of instances command(q) : report the list of commands (of memory points) connector(c) : report the list of terminals latch(l) : report the list of latches precharge(p) : report the list of precharged signals signal(s) : report the other kind of signals

path(p) path_parameter [path_argument]
request for path search according to path_parameter (delay, critic or parallel). The path_parameter allow the user to specify the type of path report requested. They are: delay(d) : report all the critical paths (possibly specified by the path_argument)
critic(c) : report only the longest (or shortest) critical path
parallel(p) : report the parallel paths of a specified path (use path_argument)
NB. The critic path_parameter can be used to report more than one path. You can use :
path critic number to specify the number (integer) of longest (or shortest) paths to be reported path critic delaymax=value1 delaymin=value2 to specify the time interval between value1 (pisosecond) and value2 (picosecond), in which you want the paths to be reported.

detail(d) detail_parameter [detail_argument] request for detailed delay search according to detail_parameter (delay, critic or parallel). The detail_parameter allow the user to specify the type of detailed report requested. The path can be specified by an index. This index is available in the path report, so a path report should be performed before the request on details. This option requires the existence of the .dtx file. The detail_parameter are: delay(d) : report the detailed (gate) delays of a specified path (use detail_argument)
critic(c) : report the detailed delays (gate) of the longest (or shortest) path
parallel(p) : report the detailed delays (gate) of a specified parallel path (use detail_argument)

open(o) file_name
open the timing file(s) of a circuit (file_name.ttx and if it exists file_name.dtx), the file_name should be given without extension

remove(r) remove the opened timing file        

window(w) value
set to value (integer) the maximum number of items reported simultaneously, default value is 10        

cache(c) int1 [int2]
set the value (Megabyte) of the cache size to be used for loading the timing data. Without the value argument etas reports the actual size of the cache. With only one argument (int1 integer) etas uses 10% of the cache memory for signals and 90% for paths. With both arguments (integers) etas uses the value int1 for the signals and int2 for the paths.

memory(m) report the actual memory used

status(s) report the status of the timing files under analysis and the type of search

help(h)
provide on-line help
quit(q)
quit etas

<return> rerun last command

<integer> specify the index of a path to be reported (index reported by etas> path delay)

Argument

These argument allow the user to specify the ends of paths (in or out), the names of signals and the instances to be analyzed as well as the type of analysis (long or short paths, from output or from input). It should be used with either the command path or detail or list. On-line help can be provided by running
etas> help argument

in=input_name|input_index
to specify the name(s) or the index of the path input(s) (terminal, latch, precharged signal) to be reported by the path or detail commands. Regular expressions can be used (these input_name and input_index are available by etas> list connector|latch|precharge)

noin
cancel in argument (also from option)

out=output_name|output_index
to specify the name(s) or the index of the signals (terminal, latch, precharged signal) to be reported by the path or detail commands. Regular expressions can be used (these output_name and output_index are available by etas> list connector|latch|precharge)

noout
cancel out argument (also from option)

name=mask_name1[,mask_name2][and|or]
this argument is used together with the command list or with the command path parallel as a mask to specify the signals. Regular expressions can be used.
With the list command it can specify the instances, terminals, latchs or precharged signals to be reported. With the path parallel command it can specify an intermediary signal of a parallel path in order to report all the parallel paths including this signal. If more than one name is used, the user can specify to report all paths including at least mask_name1 OR mask_name2 (default), but he can also specify all paths including mask_name1 AND mask_name2.

noname
cancel name argument (also from option)

instance=instance_name|instance_index
to specify the name or the index of an instance (available by list instance command), it can be an argument of one of the following commands:
path delay,
path parallel,
list command
list precharge
list latch
list signal
It means that the requested informations are given only for the specified instance

noins
cancel instance argument        

delaymax=value
specify the maximum delay (value in pico-second) for path search, only paths with a delay smaller than delaymax will be reported        

delaymin=value
specify the minimum delay (value in pico-second) for path search, only paths with a delay greater than delaymin will be reported

nodelay
cancel delaymin and delaymax argument
frin
specify search from input
frout
specify search from output (default)
max
longest delay search (default)
min
shortest delay search

pathindex path index used to specify a path to be reported. For example : etas> detail delay 3
reports the detailed delays of the path of index 3 (index available by path delay command).

Example

tas -t adder
etas adder
etas> path critic
etas> detail critic
etas> path delay
etas> path parallel index
etas> detail path index
etas> path parallel index name=signal1,signal2 and

In this example the user runs tas and then uses etas to analyse the results. etas looks for adder.ttx (then for adder.dtx) and opens the files to figure and report the requested informations: the critical path
the detail of the critical path
all the path delays between reference points the parallel paths of the path of index index reported in the above list of paths
the detail of the path of index index reported in the above list of parallel paths
the parallel paths to the path of index index in the above list of paths including signal1 and signal2

See Also

tas(1) , yagle(1) , lynx(1) , inf(5)

Bug Report

This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi research team.
We need your feedbak to improve documentation and tools. If you find bugs, please fill-in the form at http://asim.lip6.fr/alliance/support/bug-report/ Thanks for doing this.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.