Ticket #28: dinotrace.ps

File dinotrace.ps, 14.9 KB (added by wagner@…, 15 years ago)

chronogramme

Line 
1%!PS-Adobe-1.0
2%%Title: /Users/cwagner/dinotrace.ps
3%%Creator: Dinotrace 9.4a Postscript
4%%CreationDate: Wed Oct 14 16:47:26 2009
5%%Pages: 1
6%%EndComments
7
8% version: 9.4a
9% Contact wsnyder@wsnyder.org with problems with the header of this document
10/MT {moveto} def                % define MT
11/LT {lineto} def                % define LT
12/STROKE {currentpoint stroke MT} def    % define STROKE saving point
13
14/PAGESCALE      % (height width sigrf paper_height paper_width)
15{ newpath
16  /PG_WID exch def              % def PG_WID = 11 * 72
17  /PG_HGT exch def              % def PG_HGT = 8.5 * 72
18  /psigrf exch def              % signal rf time
19  /xstart exch def              % xstart of DINOTRACE window
20  /width exch def               % width of DINOTRACE window
21  /height exch def              % height of DINOTRACE window
22  /heightmul PG_HGT 50 sub height div def
23  /YADJ { height exch sub heightmul mul 40 add } def
24  /basewidth 0 def              % Prepare for sigwidth calc
25  /hierwidth 0 def              % Prepare for sigwidth calc
26  stroke /Times-Roman findfont 8 scalefont setfont
27} def 
28
29/EPSPHDR      % (st_end_time res date note file pagenum dtversion)
30{ newpath                       % clear current path
31  pop pop pop pop pop pop pop
32  1 setlinecap 1 setlinejoin 1 setlinewidth     % set line char
33  /Times-Roman findfont 8 scalefont setfont
34  } def
35
36/EPSLHDR      % (st_end_time res date note file pagenum dtversion)
37{ newpath                       % clear current path
38  90 rotate                     % rotates to landscape
39  0 PG_HGT neg translate        % translates so you can see the image
40  pop pop pop pop pop pop pop
41  1 setlinecap 1 setlinejoin 1 setlinewidth     % set line char
42  /Times-Roman findfont 8 scalefont setfont
43  } def
44
45/PAGEHDR      % (st_end_time res date note file pagenum dtversion)
46{ newpath                       % clear current path
47  90 rotate                     % rotates to landscape
48  0 PG_HGT neg translate        % translates so you can see the image
49
50  %3 setlinewidth               % set the line width of the border
51  %0 0 MT 0 PG_HGT LT PG_WID PG_HGT LT PG_WID 0 LT 0 0 LT stroke % draw bounding box
52
53  /Helvetica-BoldOblique findfont 30 scalefont setfont % choose large font
54  1 setlinecap 1 setlinejoin 1 setlinewidth     % set line char
55
56  20 20 MT 20 string cvs true charpath stroke   % draw logo
57  PG_WID 180 sub 20 MT
58    20 string cvs true charpath stroke          % draw page number
59
60  /Times-Roman findfont 10 scalefont setfont    % choose normal font
61  1 setlinecap 1 setlinejoin 1 setlinewidth     % set line char
62
63  /TPOS 
64        250     
65        1000 PG_WID lt {        % B-Size page?
66                50 add
67                } if
68        def             % Define position for file info
69
70  TPOS 40 MT (File: ) show 150 string cvs show
71  TPOS 30 MT (Note: ) show 150 string cvs show
72  TPOS 20 MT (Date: ) show 25 string cvs show
73  TPOS 150 add 20 MT (Confidential) show
74  PG_WID 300 sub 30 MT (Resolution: ) show 25 string cvs show
75  PG_WID 300 sub 20 MT (Time: ) show 25 string cvs show
76  stroke /Times-Roman findfont 8 scalefont setfont
77  } def
78
79/RIGHTSHOW      % (string) right justify the signal names
80{ dup stringwidth pop   % get width of string
81  0 exch sub            % subtract stringwidth
82  0 rmoveto show        % adjust strating location of text and show
83} def
84
85/CENTERSHOW     % (string) center justify the signal names
86{ dup stringwidth pop   % get width of string
87  2 div 0 exch sub      % subtract stringwidth/2
88  0 rmoveto show        % adjust starting location of text and show
89} def
90
91/FITCENTERSHOW  % (x y string) if string will fit vs last printing, show it centered
92{ /v exch def
93  /y exch def
94  /x exch def
95  v stringwidth pop 2 div       % get width of string
96  x xc sub                      % get width of bus
97  lt {                          % is string wid lt bus wid?
98    x y MT v CENTERSHOW         % show value
99    /xc 
100        v stringwidth pop 2 div % get width of string
101        x add 3 add def         % define new ending point, leave some room
102    } if
103} def
104
105/SIGMARGIN      % (hiername basename) set margin to max of this width or prev widths
106{ stringwidth pop dup   % get width of base signal name
107  basewidth gt {                % compare to current width
108  /basewidth exch def   % set it
109  } { pop } ifelse
110 stringwidth pop dup    % get width of hier string
111  hierwidth gt {        % compare to current width
112  /hierwidth exch def   % set it
113  } { pop } ifelse
114} def
115
116/SIGNAME        % (ymdpt hiername basename) draw a signal name
117{ /basename exch def    % Base part of signal name
118  /hiername exch def    % Hierarchy part of signal name
119  /ymdpt exch YADJ def  % ymdpt - Midpoint of signame
120  hierwidth ymdpt 3 sub MT      % move to right edge of .
121  hiername RIGHTSHOW    % plot hiername to left
122  hierwidth ymdpt 3 sub MT      % move to right edge of .
123  basename show         % plot basename to right
124} def
125
126/XSCALESET      % set signal xscaling after all signals were margined
127{ /hierwidth hierwidth 20 add def       % left margin creation
128  /sigstart hierwidth basewidth add 10 add def  % space between signal and values
129  /sigxscale PG_WID sigstart sub width xstart sub div def       % Scaling for signal section
130  /XSCALE { sigxscale mul } def % convert X screen to print coord
131  /XADJ { xstart sub sigxscale mul sigstart add } def   % convert X screen to print coord
132} def
133
134/START_GRID     % (ytop ybot ylabel) start a signal's information
135{ /ylabel exch YADJ def % ylabel - Where to put label y coord
136  /ybot exch YADJ def   % ybot - Bottom of grid line y coord
137  /ytop exch YADJ def   % ytop - Top of grid line y coord
138  /xc 0 XADJ def        % xc- current x coord for determining if fits
139} def
140
141/GRID           % (x label) make grid
142{ /label exch def               % time label for grid
143  /x exch XADJ def              % x coord of grid
144  x ytop MT x ybot LT stroke    % draw grid line
145  x ylabel label FITCENTERSHOW  % draw label
146} def
147
148/CSRU           % (x label) make user cursor
149{ [] 0 setdash
150  GRID
151} def
152
153/CSRA           % (x label) make auto cursor
154{ [1 1] 0 setdash
155  GRID
156} def
157
158/CURSOR_DELTA   % (x1 x2 y label) draw a delta line between two cursors
159{ /label exch def               % time label for grid
160  /y exch YADJ def              % y coord of cursor
161  /xl exch XADJ def             % x coord of cursor 2 (earlier one)
162  /xh exch XADJ def             % x coord of cursor 1 (later one)
163  /xlh xh xl add 2 div def      % center point of lines
164  label stringwidth pop 6 add   % get width of string
165  xh xl sub                     % get width of bus
166  lt {                          % is string wid lt bus wid?
167    xlh 2 sub label stringwidth pop 2 div sub
168    y MT xl y LT                % first half
169    xlh y 3 sub MT label CENTERSHOW     % show value
170    xlh 2 add label stringwidth pop 2 div add
171    y MT xh y LT                % second half
172    }
173  {
174    xl y MT xh y LT             % draw line, no time can fit
175    } ifelse
176  stroke
177} def
178
179/START_SIG      % (ymdpt ytop ybot xstart) start a signal's information
180{ /xl exch XADJ def     % xl - last/left x coord
181  /ybot exch YADJ def   % ybot - Bottom of signal's y coord
182  /ytop exch YADJ def   % ytop - Top of signal's y coord
183  /ymdpt exch YADJ def  % ymdpt - Middle of signal's y coord
184  /sigrf psigrf XSCALE def % sigrf scaled from page rise-fall
185  stroke xl ymdpt MT
186  /x xl def
187} def
188
189% State drawing routines:
190%   Preserve last /x as /lx
191%   Leave point at (xl,ymdpt)
192
193/S0             % (x) low
194{ /xl x def
195  /x exch XADJ def
196  xl sigrf add ybot LT  % \
197  x sigrf sub ybot LT   % -
198  x ymdpt LT            % /
199  } def
200
201/S1             % (x) high
202{ /xl x def
203  /x exch XADJ def
204  xl ymdpt MT
205  xl sigrf add ytop LT  % /
206  STROKE
207  2 setlinewidth
208  x sigrf sub ytop LT   % =
209  STROKE
210  1 setlinewidth
211  x ymdpt LT            % \
212  } def
213
214/SZ             % (x) Tristate
215{ /xl x def
216  /x exch XADJ def
217  STROKE
218  [1 1] 0 setdash
219  x ymdpt LT    % ....
220  STROKE
221  [] 0 setdash
222  } def
223
224/SB             % (x) bus
225{ /xl x def
226  /x exch XADJ def
227  xl sigrf add ytop LT  % /
228  x sigrf sub ytop LT   % -
229  x ymdpt LT            % \
230  x sigrf sub ybot LT   % /
231  xl sigrf add ybot LT  % -
232  xl ymdpt LT           % \
233  x ymdpt MT
234  } def
235
236/SH             % (x) bus high
237{ /xl x def
238  /x exch XADJ def
239  xl sigrf add ytop LT  % /
240  STROKE
241  2 setlinewidth
242  x sigrf sub ytop LT   % =
243  STROKE
244  1 setlinewidth
245  x ymdpt LT            % \
246  x sigrf sub ybot LT   % /
247  xl sigrf add ybot LT  % \
248  x ymdpt MT
249  } def
250
251/SU             % (x) Unknown
252{ /xl x def
253  /x exch XADJ def
254  STROKE
255  xl ymdpt MT
256  xl sigrf add ytop LT  % /
257  x sigrf sub ytop LT   % -
258  x ymdpt LT            % \
259  x sigrf sub ybot LT   % /
260  xl sigrf add ybot LT  % -
261  closepath             % \
262  fill stroke
263  x ymdpt MT
264  } def
265
266/SA             % (x pct_high) analog
267{ /xl x def
268  /pct exch def
269  /x exch XADJ def
270  ytop ybot sub   pct mul   ybot add   /ypct exch def
271  xl sigrf add ypct LT  % /
272  x sigrf sub ypct LT   % -
273  } def
274
275/SV     % (valstrg) draw bus value
276{ /v exch def                   % value as string
277  v stringwidth pop             % get width of string
278  x xl sub                      % get width of bus
279  lt {                          % is string wid lt bus wid?
280    xl x xl sub 2 div add       % calculate the mdpt
281    v stringwidth pop 2 div sub % calculate start location of text
282    ymdpt 3 sub MT v show       % draw the bus value
283    } if
284
285  x ymdpt MT                    % reset current point
286  } def
287
288/SN     % ( value fallback_value) draw bus waveform with decoded value, fallback if doesn't fit
289{ /fallback exch def            % fallback string
290  /v exch def                   % convert to hex string
291  v stringwidth pop             % get width of string
292  x xl sub                      % get width of bus
293  lt {                          % is string wid lt bus wid?
294    xl x xl sub 2 div add       % calculate the mdpt
295    v stringwidth pop 2 div sub % calculate start location of text
296    ymdpt 3 sub MT v show       % draw the bus value
297    } 
298  { 
299    fallback stringwidth pop    % get width of string
300    x xl sub                    % get width of bus
301    lt {                        % is string wid lt bus wid?
302      xl x xl sub 2 div add     % calculate the mdpt
303      fallback stringwidth pop 2 div sub        % calculate start location of text
304      ymdpt 3 sub MT fallback show      % draw the bus value
305      } if 
306    } ifelse
307
308  x ymdpt MT                    % reset current point
309  } def
310
311
312
3131020 1902 211 2 612 777 PAGESCALE
314(SystemC.TARGET.) (RSPACK       ) SIGMARGIN
315(SystemC.TARGET.) (RSPVAL       ) SIGMARGIN
316(SystemC.TARGET.) (RDATA[31:0]  ) SIGMARGIN
317(SystemC.TARGET.) (REOP         ) SIGMARGIN
318(SystemC.TARGET.) (RERROR       ) SIGMARGIN
319(SystemC.TARGET.) (CMDACK       ) SIGMARGIN
320(SystemC.TARGET.) (CMDVAL       ) SIGMARGIN
321(SystemC.TARGET.) (ADDRESS[31:0]) SIGMARGIN
322(SystemC.TARGET.) (BE[3:0]      ) SIGMARGIN
323(SystemC.TARGET.) (CMD[1:0]     ) SIGMARGIN
324(SystemC.TARGET.) (CONTIG       ) SIGMARGIN
325(SystemC.TARGET.) (WDATA[31:0]  ) SIGMARGIN
326(SystemC.TARGET.) (EOP          ) SIGMARGIN
327(SystemC.TARGET.) (CONS         ) SIGMARGIN
328(SystemC.TARGET.) (PLEN[8:0]    ) SIGMARGIN
329(SystemC.TARGET.) (WRAP         ) SIGMARGIN
330(SystemC.INITIA.) (RSPACK       ) SIGMARGIN
331(SystemC.INITIA.) (RSPVAL       ) SIGMARGIN
332(SystemC.INITIA.) (RDATA[31:0]  ) SIGMARGIN
333(SystemC.INITIA.) (REOP         ) SIGMARGIN
334(SystemC.INITIA.) (CMDACK       ) SIGMARGIN
335(SystemC.INITIA.) (CMDVAL       ) SIGMARGIN
336(SystemC.INITIA.) (ADDRESS[31:0]) SIGMARGIN
337(SystemC.INITIA.) (BE[3:0]      ) SIGMARGIN
338(SystemC.INITIA.) (CMD[1:0]     ) SIGMARGIN
339(SystemC.INITIA.) (CONTIG       ) SIGMARGIN
340(SystemC.INITIA.) (WDATA[31:0]  ) SIGMARGIN
341(SystemC.INITIA.) (EOP          ) SIGMARGIN
342(SystemC.INITIA.) (CONS         ) SIGMARGIN
343(SystemC.INITIA.) (PLEN[8:0]    ) SIGMARGIN
344(SystemC.INITIA.) (WRAP         ) SIGMARGIN
345XSCALESET
346
347% Beginning of page 0 - 0
348(139-165 ns) (26 ns/page) (Wed Oct 14 16:47:26 2009) () (/Users/cwagner/soft/soclib/soclib/platform/topcells/caba-vgmn-fir-nios2f-new/system_trace.vcd) () (Dinotrace 9.4a) PAGEHDR
34943 (SystemC.TARGET.) (RSPACK       ) SIGNAME
35070 (SystemC.TARGET.) (RSPVAL       ) SIGNAME
35197 (SystemC.TARGET.) (RDATA[31:0]  ) SIGNAME
352124 (SystemC.TARGET.) (REOP         ) SIGNAME
353151 (SystemC.TARGET.) (RERROR       ) SIGNAME
354178 (SystemC.TARGET.) (CMDACK       ) SIGNAME
355205 (SystemC.TARGET.) (CMDVAL       ) SIGNAME
356232 (SystemC.TARGET.) (ADDRESS[31:0]) SIGNAME
357259 (SystemC.TARGET.) (BE[3:0]      ) SIGNAME
358286 (SystemC.TARGET.) (CMD[1:0]     ) SIGNAME
359313 (SystemC.TARGET.) (CONTIG       ) SIGNAME
360340 (SystemC.TARGET.) (WDATA[31:0]  ) SIGNAME
361367 (SystemC.TARGET.) (EOP          ) SIGNAME
362394 (SystemC.TARGET.) (CONS         ) SIGNAME
363421 (SystemC.TARGET.) (PLEN[8:0]    ) SIGNAME
364448 (SystemC.TARGET.) (WRAP         ) SIGNAME
365475 (SystemC.INITIA.) (RSPACK       ) SIGNAME
366502 (SystemC.INITIA.) (RSPVAL       ) SIGNAME
367529 (SystemC.INITIA.) (RDATA[31:0]  ) SIGNAME
368556 (SystemC.INITIA.) (REOP         ) SIGNAME
369583 (SystemC.INITIA.) (CMDACK       ) SIGNAME
370610 (SystemC.INITIA.) (CMDVAL       ) SIGNAME
371637 (SystemC.INITIA.) (ADDRESS[31:0]) SIGNAME
372664 (SystemC.INITIA.) (BE[3:0]      ) SIGNAME
373691 (SystemC.INITIA.) (CMD[1:0]     ) SIGNAME
374718 (SystemC.INITIA.) (CONTIG       ) SIGNAME
375745 (SystemC.INITIA.) (WDATA[31:0]  ) SIGNAME
376772 (SystemC.INITIA.) (EOP          ) SIGNAME
377799 (SystemC.INITIA.) (CONS         ) SIGNAME
378826 (SystemC.INITIA.) (PLEN[8:0]    ) SIGNAME
379853 (SystemC.INITIA.) (WRAP         ) SIGNAME
38043 32 54 211 START_SIG
3811897 S1
382stroke
38370 59 81 211 START_SIG
384586 S0
385837 S1
3861463 S0
3871526 S1
3881897 S0
389stroke
39097 86 108 211 START_SIG
391586 SB (d9c00615) SV
392649 SB (21400003) SV
393712 SB (200f883a) SV
394774 SB (0011883a) SV
3951338 SB (dac00404) SV
3961897 S0
397stroke
398124 113 135 211 START_SIG
399774 S0
400837 S1
4011463 S0
4021897 S1
403stroke
404151 140 162 211 START_SIG
4051897 S0
406stroke
407178 167 189 211 START_SIG
408586 S1
409837 S0
4101463 S1
4111526 S0
4121897 S1
413stroke
414205 194 216 211 START_SIG
415524 S0
416586 S1
4171275 S0
4181463 S1
4191897 S0
420stroke
421232 221 243 211 START_SIG
422524 SB (01000210) SV
4231275 SB (01000220) SV
4241338 SB (02000ff0) SV
4251400 SB (02000ff4) SV
4261897 SB (02000ff8) SV
427stroke
428259 248 270 211 START_SIG
4291897 SH (f) SV
430stroke
431286 275 297 211 START_SIG
4321275 SB (1) SV
4331897 SB (2) SV
434stroke
435313 302 324 211 START_SIG
4361897 S1
437stroke
438340 329 351 211 START_SIG
4391897 S0
440stroke
441367 356 378 211 START_SIG
4421275 S1
4431400 S0
4441897 S1
445stroke
446394 383 405 211 START_SIG
4471897 S0
448stroke
449421 410 432 211 START_SIG
4501275 SB (16) SV
4511897 SB (12) SV
452stroke
453448 437 459 211 START_SIG
4541897 S0
455stroke
456475 464 486 211 START_SIG
4571897 S1
458stroke
459502 491 513 211 START_SIG
460774 S0
4611025 S1
4621651 S0
4631714 S1
4641897 S0
465stroke
466529 518 540 211 START_SIG
467774 SB (d9c00615) SV
468837 SB (21400003) SV
469899 SB (200f883a) SV
470962 SB (0011883a) SV
4711651 SB (dac00404) SV
4721897 S0
473stroke
474556 545 567 211 START_SIG
475774 S1
476962 S0
4771897 S1
478stroke
479583 572 594 211 START_SIG
4801897 S1
481stroke
482610 599 621 211 START_SIG
483336 S0
484398 S1
4851087 S0
4861275 S1
4871776 S0
4881839 S1
4891897 S0
490stroke
491637 626 648 211 START_SIG
492336 S0
493398 SB (01000220) SV
4941087 S0
4951150 SB (02000ff0) SV
4961213 SB (02000ff4) SV
4971275 SB (02000ff8) SV
4981776 S0
4991839 SB (020001e0) SV
5001897 S0
501stroke
502664 653 675 211 START_SIG
503336 S0
504398 SH (f) SV
5051087 S0
5061275 SH (f) SV
5071776 S0
5081839 SH (f) SV
5091897 S0
510stroke
511691 680 702 211 START_SIG
512336 SB (2) SV
513398 SB (1) SV
5141776 SB (2) SV
5151839 SB (1) SV
5161897 SB (2) SV
517stroke
518718 707 729 211 START_SIG
519336 S0
520398 S1
5211087 S0
5221275 S1
5231776 S0
5241839 S1
5251897 S0
526stroke
527745 734 756 211 START_SIG
5281897 S0
529stroke
530772 761 783 211 START_SIG
531336 S0
532398 S1
5331213 S0
5341275 S1
5351776 S0
5361839 S1
5371897 S0
538stroke
539799 788 810 211 START_SIG
5401897 S0
541stroke
542826 815 837 211 START_SIG
543336 S0
544398 SB (16) SV
5451087 S0
5461275 SB (12) SV
5471776 S0
5481839 SB (16) SV
5491897 S0
550stroke
551853 842 864 211 START_SIG
5521897 S0
553stroke
554
555[1 3] 0 setdash
55617 990 16 START_GRID
557211 (139) GRID
558273 (140) GRID
559336 (141) GRID
560398 (142) GRID
561461 (143) GRID
562524 (144) GRID
563586 (145) GRID
564649 (146) GRID
565712 (147) GRID
566774 (148) GRID
567837 (149) GRID
568899 (150) GRID
569962 (151) GRID
5701025 (152) GRID
5711087 (153) GRID
5721150 (154) GRID
5731213 (155) GRID
5741275 (156) GRID
5751338 (157) GRID
5761400 (158) GRID
5771463 (159) GRID
5781526 (160) GRID
5791588 (161) GRID
5801651 (162) GRID
5811714 (163) GRID
5821776 (164) GRID
5831839 (165) GRID
584
58525 1003 1016 START_GRID
5861087 (153) CSRU
5871275 (156) CSRU
5881275 1087 997 (3) CURSOR_DELTA
5891651 (162) CSRU
5901651 1275 997 (6) CURSOR_DELTA
5911714 (163) CSRU
5921714 1651 997 (1) CURSOR_DELTA
593stroke
594showpage
595
596%Trailer
597%EOF