INF(5)

NAME

INF - YAGLE and TAS information file

DESCRIPTION
The information file should be used to help the functional abstractor YAGLE or the timing analyzer TAS. It contains information which reduces run time and avoids false errors. The information file should have the '.inf' extension and its name must be the name of the corresponding circuit. YAGLE and TAS will take it into account if the '-i' option is used. This file contains several sections. Each one begins with a keyword. The declaration order is not important and it is possible to use a section more than once. Seperators are blanks, tabulations or newlines and there is no difference between upper or lower case characters. A word can be surrounded by quotation marks to prevent it being interpreted as a keyword.

MUTUAL EXCLUSION
If some of the circuit terminals are mutually exclusive, this should be indicated in the MUTEX section using:

-   muxUP{term1, term2, ...} to express that one port at most in the list is "one".

-   muxDN{term1, term2, ...} to express that one port at most in the list is "zero".

-   cmpUP{term1, term2, ...} to express that one and only one port in the list is "one".

-   cmpDN{term1, term2, ...} to express that one and only one port in the list is "zero".
    Each list ends with semi-colon character ';' and the section ends with the END keyword.
              MUTEX
              muxUP{a,...,d};
              muxDN{m,...,p};
              cmpUP{i,...,l};
              cmpDN{x,...,z};
              ...
              END

SIGNAL RENAMING
User can renames some signals in the RENAME section. For each signal, the old name and the new name should be given.
          RENAME
          existing_name : new_name ;
          *gno* : *latch_data* ;
          ...
          END
"new_name" will replace "existing_name" in the behavioural description file. It is possible to use the joker '*'. When the names contain the string "gno", this string is replaced by the string "latch_data" (l2_y_gno_01 is replaced by l2_y_latch_data_01).

BLOCKING FUNCTIONAL ANALYSIS
User can specify a list of signals which should be considered as stop points for the functional analysis phase of the disassembly. This means that any logic preceding the stop points will not be used in order to analyse the behaviour of any gate following the stop point.
          STOP
          sig1 ;
          sig2 ;
          sigs* ;
          ...
          END
Each line ends with the semi-colon character and the section ends with the END keyword. It is possible to use the joker '*' as for signal renaming.

PATH ELIMINATION
To eliminate some critical paths, a BYPASS section should be used.
          BYPASS
          sig1 ;
          sig2 > ;
          sig3 < ;
          ...
          END
Each line ends with the semi-colon character and the section ends with the END keyword. If a signal appears with no argument, the timing analyzer eliminates all pathes which cross it. With the '>' argument, all paths which end on the signal will be supressed and with the '<' argument, all paths beginning on the signal are suppressed.

CASE ANALYSIS
To perform timing analysis in a specific case, the user can apply a pattern on the netlist with the CONSTRAINT section. It contains internal or external signals constrained by "one" or "zero". The timing analyser propagates the pattern before delay estimation.
          CONSTRAINT
          sig1: 0;
          sig2: 1;
          sig3: 0;
          ...
          END
Each line ends with the semi-colon character and the section ends with the END keyword.

PRECHARGED SIGNALS
Signals whose names end in "_p" are considered to be precharged and therefore dealt with differently by the timing analyzer. If any other signals should be considered precharged these can be specified in the PRECHARGE section.
          PRECHARGE
          sig1 ;
          sig2 ;
          ~ sig3 ;
          ...
          END
Each line ends with the semi-colon character and the section ends with the END keyword. If a signal name is preceded by the '~' character then this signal will not be treated as a precharge, this is to deal with the case of non-precharge signals whose names end in "_p".

INTERMEDIARY POINTS
In order to reduce the number of critical paths identified by the timing analyzer, it can sometimes be useful to specify that certain internal signals be considered as though they were path terminals. The list of these intermediary points is specified in the INTER section. Correct choice of these signals can lead to factorization of the critical paths, and hence a significant reduction in the size of the output file generated.
          INTER
          sig1 ;
          sig2 ;
          ...
          END
Each line ends with the semi-colon character and the section ends with the END keyword.

PATH SELECTION
Another technique for reducing the size of the critical path list is to limit the number of signals which are considered to be path terminals. The list of signals which are allowed to start a critical path is specified in the PATHIN section, and the list of signals allowed to end a critical path is specified in the PATHOUT section.
          PATHIN
          sig1 ;
          sig2 ;
          ...
          END
          PATHOUT
          sig3 ;
          sig4 ;
          ...
          END
Each line ends with the semi-colon character and both sections end with the END keyword.

SEE ALSO
yagle(1), tas(1)