README
4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
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.