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.
Name |
Last commit
|
History
|
Last Update |
---|---|---|
.. | ||
CVS | ||
Makefile | ||
README | ||
blocks.c | ||
dead.awk | ||
togcat.c | ||
togreport.c |