Name Last Update
..
CVS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
blocks.c Loading commit data...
dead.awk Loading commit data...
togcat.c Loading commit data...
togreport.c Loading commit data...
Here are some tools to work with the .tog files generated by lsim.  Send mail
to scott for all bugs and RFEs.

List of commands:

togcat - cat two or more .tog files

togreport - analyze a .tog file





Use of each command:

				TOGREPORT


Use togreport to analyze a .tog file.  The command line usage is:
togreport <-i> -m model <-o output> <-d input>

-i  * interactive   Takes commands from stdin
-m model  *  Use the model.tog file as the toggle file
-o output  *  Print to specified file (default is stdout)
-d input   *  Get commands from input file (use stdin with -i option)

All of these option letters are the same as the Attest tools.


The program first reads in the toggle file that lists each net in the
circuit with the number of times that node toggled.  The format of the 
toggle file is:

-- TOGGLE COUNTS (format: sum  toggle_to_0  toggle_to_1  net_name)

After the entire file is read, you can use the following commands
to analyze the toggle coverage:

help - print help message
net netname - add netname to list of considered nets
ignore netname - delete netname from list of considered nets
summary - print summary of toggle coverage
list - print list of untoggled nets (carefull!! may be long)
quit - quit
< filename - get input commands from new file
> filename - output to new file ("" is stdout)
>> filename - append to file


All of the nets are initialized to the not considered state.  That is, every
net is not interesting.  To add a net to the list of considered nets,
use the "net" command.  For example,
    togreport> net rdp_0_bl_logic.st_depthstepper_dooffset_add_prod2_co_8_
adds the specified bl_logic net to the list of important nets.  (BTW this
is phil's favorite net in the whole chip)

You can use wild cards to select nets.  The wildcard characters used by
the Attest tools are:

~ tilde matches any number of characters,
        even through hierarchy boundaries
* asterisk matches any number of characters,
        up to a hierarchy boundary
# pound matches one or more digits

For example, to select the ls sublock of the RSP use:
    togreport> net rsp_0_ls.~


The "ignore" command deletes the net from the considered list.  The
wildcard characters can be used with the ignore command.  The order of
use of "net" and "ignore" is important.

The "summary" and "list" commands are used after you have selected the
list of considered nets.  "summary" gives you the percentage of nets that
toggled.   "list" will print out the untoggled nets.

The RCP chip is broken up into a bunch of physical subblocks.  Look at
the .tog file for the list of all the nets in the chip.  The hardware folks
will have to help the software folks in figuring out how to change a test
based on the nets that don't toggle.  Here is a list of the physical
names of each subblock with the number of nets in each physical block:

   33  rdp_0_tm_hi_half_bnk0
   33  rdp_0_tm_hi_half_bnk1
   33  rdp_0_tm_hi_half_bnk2
   33  rdp_0_tm_hi_half_bnk3
   33  rdp_0_tm_low_half_bnk0
   33  rdp_0_tm_low_half_bnk1
   33  rdp_0_tm_low_half_bnk2
   33  rdp_0_tm_low_half_bnk3
   77  rsp_0_imem
   90  rsp_0_dmemx2_dmemHigh
   90  rsp_0_dmemx2_dmemLow
  111  rsp_0_vu_vurfctl1
  857  rsp_0_vu_div1_udivctl
 1675  rdp_0_tm_tm_logic
 2190  rsp_0_vu_vdpregfile_i
 2544  pi_0_pi_logic
 2853  ri_0
 3115  rsp_0_ls
 3313  rsp_0_su_suctl
 3552  rsp_0_su_sudp
 3842  rsp_0_vu_div1_udivrom
 5003  rsp_0_io_logic
 5329  if_logic
 7001  rdp_0_bl_logic
 7395  rsp_0_vu_vusl01
 7395  rsp_0_vu_vusl23
 7395  rsp_0_vu_vusl45
 7395  rsp_0_vu_vusl67
 9156  rdp_0_tf_logic
10546  rdp_0_cc_logic
11489  rdp_0_cs_ew_cv
14323  rdp_0_tc_logic
15134  vi_0
17486  rdp_0_ms_grp

(Note to scott:  add some examples on how to use)

I'm working on a way to automatically remove the dead logic and other nets
from the list of considered nets.



				TOGCAT


togcat concatenates two or more .tog files.  Usage is:

togcat  foo1.tog ... foo2.tog > foosum.tog

Using this you can write smaller tests, look at the toggle coverage
for those tests, and then look at the toggle coverage if you ran all
the tests together.