-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdinotrace.texi
2786 lines (2213 loc) · 95.6 KB
/
dinotrace.texi
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
\input texinfo.tex @c -*-texinfo-*-
@c %**start of header
@setfilename dinotrace
@settitle Dinotrace @value{VERSION}
@c Put everything in one index
@syncodeindex fn cp
@syncodeindex vr cp
@syncodeindex ky cp
@synindex pg cp
@syncodeindex tp cp
@c For double-sided printing, uncomment:
@c @setchapternewpage odd
@footnotestyle separate
@paragraphindent 2
@finalout
@c %**end of header
@c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a
@c prefix arg). This updates the node pointers, which texinfmt.el needs.
@c Also update the master menu, created with texinfo-master-menu
@set VERSION 9.4g
@set UPDATED March 2021
@set ID @value{VERSION}
@c DESCRIPTION: TexInfo: DOCUMENT source run through texinfo to produce documentation file
@c Use 'make dinotrace.txt' to produce the output file
@c All functions use these for searching ease
@macro dmenu{f}
@code{\f\}
@end macro
@macro widget{f}
@emph{\f\}
@end macro
@macro resource{f}
@code{\f\}
@end macro
@macro config{f}
@code{\f\}
@end macro
@macro switch{f}
@code{\f\}
@end macro
@macro prog{f}
@strong{\f\}
@end macro
@iftex
@finalout
@end iftex
@dircategory Signal waveform tracing tool
@direntry
* Dinotrace: (dinotrace). Signal waveform tracing tool.
@end direntry
@ifinfo
This file documents the Dinotrace package for viewing signal waveforms.
Copyright 1998-2021 by Wilson Snyder. @email{wsnyder@@wsnyder.org}
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).
@end ignore
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the author.
@end ifinfo
@c @setchapternewpage odd <- when manual gets bigger
@c @finalout
@titlepage
@title Dinotrace
@subtitle Signal Waveform Tracing
@subtitle for Dinotrace @value{VERSION}
@subtitle @value{UPDATED}
@author Wilson Snyder, @email{wsnyder@@wsnyder.org}
@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1998-2021 Wilson Snyder
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.
Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the author.
@end titlepage
@node Top, Summary, (dir), (dir)
@cindex Introduction
@comment node-name, next, previous, up
@ifinfo
This file documents the Dinotrace package for signal waveform tracing.
This is edition @value{ID}, for Dinotrace version @value{VERSION}.
For the latest version, please see
@uref{https://www.veripool.org/dinotrace
}
Please feel free to send comments and suggestions to
@email{wsnyder@@wsnyder.org}. If you install this
tool, please also send mail so that I can inform you of new
releases.
@end ifinfo
@c The master menu, created with texinfo-master-menu, goes here.
@menu
* Summary::
* History::
* Invoking Dinotrace::
* Screen Description::
* Keyboard Shortcuts::
* Customization Files::
* X Resources::
* Remote Control::
* Dinotrace and Emacs::
* File Formats::
* Bugs::
* Index::
@end menu
@c ======================================================================
@node Summary, History, Top, Top
@chapter Summary
Dinotrace is a tool designed to aid in viewing Verilog Value Change
Dump, ASCII, Verilator, Tempest CCLI, COSMOS, Chango and Decsim Binary
simulation traces. It is optimized for rapid design debugging using
X-Windows Mosaic. A special interface allows signal information to be
annotated into source code using Emacs.
Please see the file @file{README.rst} in the distribution directory
for installation instructions.
@menu
* Copying::
@end menu
@node Copying, , Summary, Summary
@section Copying
@cindex Copying, Dinotrace
Dinotrace is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
Dinotrace is distributed in the hope that it will be useful, but
@strong{without any warranty}; without even the implied warranty of
@strong{merchantability} or @strong{fitness for a particular purpose}.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with Dinotrace; see the file @file{COPYING}. If not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
@c ======================================================================
@node History, Invoking Dinotrace, Summary, Top
@chapter History
@cindex History
Dinotrace was conceived in the early 1980's by Allen Gallotta at Digital
Equipment Corporation, who wrote the code and supported it through
version 4.2. When created, it was the first graphical display tool for
the simulators being designed at Digital.
@pindex Verilator
In 1992 I joined Digital Semiconductor (a division of Digital Equipment
Corporation) and took over the support of Dinotrace. I converted it
from Digital's X toolkit to Motif, added color, highlighting, searching,
and other features. Several formats were added to Dinotrace to support
Verilator, our group's own Verilog to C translator, written by Paul
Wasson. As the years went on, other groups started using the typical
industry standard Verilog simulators. Although programs like vwaves
were available, they had some silly limitations. Besides, we were
hooked on Dinotrace, so I added Verilog format, and Dinotrace lived on.
In 1998 I moved to Maker Communications, where I am currently employed.
Life, however, was sad and incomplete without Dinotrace. Through the
efforts of existing DECies, mainly Duane Galbi, Digital graciously
agreed to release the source code. (Subject to the code not being
resold, which is compatible with the GNU Public License.)
Still at Maker Communications, life is now complete as Dinotrace can be
shared by all. This release is based upon the Digital version, with
many enhancements, most notably portability improvements and true 4-state
signal support.
@menu
* Contributors::
@end menu
@node Contributors, , History, History
@section Contributors
@cindex Contributors
Many people have provided ideas and other assistance with Dinotrace.
The major corporate sponsors of Dinotrace, by providing funds or
equipment grants, are Compaq Corporation, Digital Equipment Corporation,
Intel Corporation, and Maker Communications.
The people who have contributed code or other major functionality are
Allen Gallotta, Steve Hoover, Nathan Hughes, and Craig Ziegler.
Some of the people who have provided ideas and feedback for Dinotrace
include Edward Arthur, Sally Barry, Josh Belkin, Yifat Ben-Shachar,
Lee Bradshaw, Rachel Berman, Sass Berman, Mike Blake, Serge Bogdanov,
Ronen Boneh, Gregg Bouchard, Derek Bosch, Bill Bruce, Lauren Carlson,
Paul Chan, Ta-Chung Chang, David Chen, Dave Colson, Derrick Dacosta,
Erik Debriae, Paul Dormitzer, Duane Galbi, Allen Gallotta, Steve
Glaser, Mike Goulet, Larry Gust, Larry Herman, Dave Horan, Steve
Hoover, Nathan Hughes, Tom Hunt, Tracey Jones, Mike Kagen, Dan Katz,
Sol Katzman, Steve Kolecki, Steve Lang, Charlie Lind, Greg Loxtercamp,
Dan Lussier, Ben Marshall, Bob McNamara, Harunobu Miyashita, John
Murphy, Aki Niimura, Lisa Noack, Mitch Norcross, Michael Quadri,
Reinhard Schumann, Simcha, Jai Singh, Dean Sovie, Julie Staraitis,
Dominik Strasser, Bob Walsh, Paul Wasson, Steve Wilson, Bob Yodlowski,
and Craig Ziegler.
@c ======================================================================
@node Invoking Dinotrace, Screen Description, History, Top
@chapter Invoking Dinotrace
@cindex Invoking Dinotrace
Dinotrace accepts switches and filenames on the command line. Any
filenames on the command line will be read in before Dinotrace gives
control to the user.
@pindex gunzip
@pindex uncompress
@cindex .gz
@cindex .Z
Dinotrace accepts switches with leading @code{-}, and everything else is
a trace filename. Filenames are in standard Unix format, with a
optional @file{.gz} or @file{.Z} extension to indicate the trace should
be piped before opening through @prog{gunzip} or @prog{uncompress}
respectively.
These switches are supported, in addition to the standard @prog{X-11}
switches, like @switch{-display}.
@c @table @switch
@table @code
@item -verilog
@findex -verilog
Read following trace filenames using Verilog format. This is the
default format.
@item -vpd
@findex -vpd
Read following trace filenames using Verilog Plus Dump format.
@item -decsim
@findex -decsim
Read following trace filenames using Decsim format. If running on
a VMS system, Decsim Binary format is also supported.
@item -tempest
@findex -tempest
@cindex File Format, Switch
Read following trace filenames using Tempest/CCLI format.
@item -noconfig
@findex -noconfig
@findex Configuration Files, Disabling
Skip reading the standard global, user, and directory .dino files.
Do read any trace-specific .dino files.
@item -geometry @var{geometry}
@findex -geometry
@cindex Geometry, Switch
Specifies the window size and position in standard
X format (@var{width}X@var{height}+@var{xpos}+@var{ypos}).
@item -res @var{resolution}
@findex -res
Specify the trace resolution.
@end table
@c ======================================================================
@node Screen Description, Keyboard Shortcuts, Invoking Dinotrace, Top
@chapter Screen Description
This chapter describes the layout of the screen, and the function of the
various widget and menu items.
@menu
* Window Widgets::
* Trace Menu::
* Customize Menu::
* Cursor Menu::
* Signal Menu::
* Value Menu::
@end menu
@node Window Widgets, Trace Menu, Screen Description, Screen Description
@section Window Widgets
The main window is broken into the display area, with signal names on
the left and values stretching to the vertical scroll bar.
The state of each signal across time is indicated by the way the line is
drawn. As usual, low, tristate, and high are low, middle, and high
strait lines. The high value has a bolder line to aid in discriminating
it from a low. Unknowns are filled areas.
Busses are drawn in one of four ways; if zero they are low, if all bits
are one it it is two parallel lines with the upper one bolded. If the
bus is some mix of zeros and ones it is two narrow parallel lines. If
there is space the value of the bus will be shown based on the
@dmenu{Signal Radix} menu option. Finally, the @dmenu{Signal Waveform}
allows analog waveforms, or signed waveforms (two's complement with 0 making
a centered trace.)
Gadgets surround the main area. The vertical scroll bar on the right is
the @widget{Signal Slider} used to scroll signals, if they all cannot
fit on the screen at once. At the bottom of the screen is the
@widget{Time Slider} on the right, and the @widget{Name Slider} on the
left.
@menu
* Time Slider::
* Name Slider::
* Signal Slider::
* Buttons::
@end menu
@node Time Slider, Name Slider, Window Widgets, Window Widgets
@subsection Time Slider
@cindex Time Slider
On the left bottom of the main window is the @widget{Time Slider}.
@c @table @widget
@table @emph
@item Drag
Dragging the @widget{Time Slider} will scroll the time across the
screen. Lines are printed in the scroll area to indicate where cursors
are located.
@item Unit Dec
@kindex @key{left}
Clicking the <- arrow at the left of the @widget{Time Slider}, or
pressing @kbd{@key{left}} will move the time one grid #0 (or the first
visible grid) resolution earlier.
@item Unit Inc
@kindex @key{right}
Clicking the -> arrow at the right of the @widget{Time Slider}, or pressing
@kbd{@key{right}} will move the time one grid #0 resolution (usually one
clock) later.
@item Page Dec
@kindex S-@key{left}
Clicking the blank area at the left of the @widget{Time Slider}, or pressing
@kbd{S-@key{right}} will move the time one screen width earlier, so the
time at the left of the screen is now at the right. (Or 1/2 or 1/4
screen width, depending on the @config{page_inc} customization setting.)
@item Page Inc
@kindex S-@key{right}
Clicking the blank area at the right of the @widget{Time Slider}, or pressing
@kbd{S-@key{right}} will move the time one screen width later, so the
time at the right of the screen is now at the left. (Or 1/2 or 1/4
screen width, depending on the @config{page_inc} customization setting.)
@end table
@node Name Slider, Signal Slider, Time Slider, Window Widgets
@subsection Name Slider
@cindex Name Slider
@cindex Signal Names, Scrolling
The @widget{Name Slider} is the horizontal scroll bar left of the
@widget{Time Slider}.
@c @table @widget
@table @emph
@item Drag
@cindex Name Slider
@cindex Signal Names, Scrolling
Dragging the @widget{Name Slider} will scroll the signal names left and
right so that they may be completely seen. Dinotrace aligns the signals
on the last dot (hierarchy character).
@end table
@node Signal Slider, Buttons, Name Slider, Window Widgets
@subsection Signal Slider
@cindex Signal Slider
@cindex Signals, Scrolling
The @widget{Signal Slider} is the vertical scroll bar to the right of
the window.
@c @table @widget
@table @emph
@item Drag
@cindex Signal Slider
Dragging the @widget{Signal Slider} will scroll the signals so that new
signals can be seen. Lines are printed in the scroll area to indicate
where highlighted signals are located.
@item Unit Dec
@kindex @key{up}
Clicking the <- arrow at the top of the @widget{Signal Slider}, or
pressing @kbd{@key{up}} will move the signals down one, displaying a new
signal at the top.
@item Unit Inc
@kindex @key{down}
Clicking the -> arrow at the bottom of the @widget{Signal Slider}, or
pressing @kbd{@key{down}} will move the Moves signals up one, displaying
a new signal at the bottom.
@item Page Dec
@kindex S-@key{up}
@kindex @key{pageup}
Clicking the blank area above the @widget{Signal Slider}, or pressing
@kbd{@key{pageup}} will move the signals up one screen full, so the
previous top signal is now at the bottom.
@item Page Inc
@kindex S-@key{down}
@kindex @key{pagedown}
Clicking the blank area below the @widget{Signal Slider}, or pressing
@kbd{@key{pagedown}} will move the signals down one screen full, so the
previous bottom signal is now at the top.
@end table
@node Buttons, , Signal Slider, Window Widgets
@subsection Buttons
The buttons below the lower sliders perform common functions that affect
the display.
@c @table @widget
@table @emph
@item Begin
@cindex Begin Button
@cindex Time, Moving to Beginning
@kindex @key{begin}
Clicking the @widget{Begin} button below the @widget{Time Slider}, or
pressing @kbd{@key{begin}} will move to the earliest time in the trace.
@item End
@cindex End Button
@cindex Time, Moving to End
@kindex @key{end}
Clicking the @widget{End} button below the @widget{Time Slider}, or pressing
@kbd{@key{end}} will move to the earliest time in the trace.
@item Goto
@cindex Goto Button
@cindex Time, Goto
@kindex g
Clicking the @widget{Goto} button below the @widget{Time Slider}, or
pressing @kbd{g} will make a popup that prompts for a time. The window
will scroll horizontally so that the entered time is centered on the
screen. A option menu will place a cursor of the selected color at the
time entered. A note may be attached to the cursor, and seen with
@dmenu{Value Examine}.
@item Refresh
@cindex Refresh Button
Clicking the @widget{Refresh} button below the scroll bar will refresh
the screen. Normally this is automatic. When using Dinotrace over slow
links, it may be desirable to refresh manually, @xref{refreshing}.
@item Resolution
@cindex Resolution Button
Clicking the @widget{Resolution} number button at the middle bottom will
make a popup that can change the resolution to the number specified.
@item Inc Res
@cindex Resolution, Incrementing
@cindex Increment Resolution Button
Clicking the arrow button to the right of the @widget{Resolution} button
expands the trace so the same amount of time takes more space.
@item Dec Res
@cindex Resolution, Decrementing
@cindex Decrement Resolution Button
Clicking the arrow button to the left of the @widget{Resolution} button
expands the trace so the same amount of time takes less space.
@item Zoom
@cindex Time, Zooming
@cindex Zoom Button
Clicking the @widget{Zoom} button, then clicking @kbd{@key{MB1}} on two
times expands the trace so that the time between the clicks occupies the
entire screen.
@item Full
@cindex Full
@cindex Time, Full Window
Clicking the @widget{Full} button shrinks the resolution so that the
entire trace fits onto the screen. It is often quicker to press
@widget{Full} then zoom to the desired location rather than scrolling.
@end table
@node Trace Menu, Customize Menu, Window Widgets, Screen Description
@section Trace Menu
@menu
* Trace Read...::
* Trace ReRead::
* Trace ReRead All::
* Trace Open...::
* Trace Close::
* Trace Clear::
* Trace Print...::
* Trace Print::
* Trace Exit::
@end menu
@node Trace Read..., Trace ReRead, Trace Menu, Trace Menu
@subsection Trace Read...
@cindex Trace Read...
@cindex Reading, Traces
@kindex C-o
Selecting the @dmenu{Trace Read...} menu option, or pressing @kbd{C-o}
pops up a file requester to read a trace. If a file ends in a @file{.Z}
or @file{.gz} extension, it will be piped through uncompress or gunzip
respectively before being read. The type of trace may be set with the
option box; the default is set by the @config{file_format} configuration
command. If @widget{Preserve Signal Ordering} is checked, the signals
in the new trace will be reorganized to attempt to match the ordering of
the current trace in the window.
@node Trace ReRead, Trace ReRead All, Trace Read..., Trace Menu
@subsection Trace ReRead
@cindex Trace ReRead
@cindex Rereading, Traces
Selecting @dmenu{Trace ReRead} checks if there is a new version of the
file currently begin displayed and reads it. The file will only be read
if a new one exists. If no file is displayed, it is the same as the
@dmenu{Trace Read} option.
This is useful for rereading a trace after it has changed due to a new
simulation run.
@node Trace ReRead All, Trace Open..., Trace ReRead, Trace Menu
@subsection Trace ReRead All
@cindex Trace ReRead All
@kindex C-r
Selecting @dmenu{Trace ReRead All}, or pressing @kbd{C-r}, checks every
window to see if that window's file has been updated, and rereads if it
has.
@node Trace Open..., Trace Close, Trace ReRead All, Trace Menu
@subsection Trace Open...
@cindex Trace Open...
@cindex Opening, Traces
Selecting @dmenu{Trace Open...} shrinks the current window in half, and
opens another Dinotrace window, linked in time to the original. The two
traces will then pan together and share cursors, etc. Multiple window
support is intended for traces that have the same time lengths.
See @ref{open_geometry} for how to change the default window sizes, such as
to not shrink the original window when opening.
@node Trace Close, Trace Clear, Trace Open..., Trace Menu
@subsection Trace Close
@cindex Trace Close
@cindex Closing, Traces
Selecting @dmenu{Trace Close} closes the current window if more than one
is open. If this is the only one remaining open, use @dmenu{Trace Exit}
instead.
@node Trace Clear, Trace Print..., Trace Close, Trace Menu
@subsection Trace Clear
@cindex Trace Clear
@cindex Clearing, Traces
Selecting @dmenu{Trace Clear} closes all other windows and resets
Dinotrace as if Dinotrace was exited and ran again.
@node Trace Print..., Trace Print, Trace Clear, Trace Menu
@subsection Trace Print...
@cindex Trace Print...
@cindex Print...
@cindex Printing
Selecting @dmenu{Trace Print...} pops up a file requester allowing the
current screen to be printed to a file. The amount of time, and number
of signals on the screen will match the time and signals put onto one
page of paper.
The @widget{Filename} and @widget{Note} specify where to put the output,
and a note to be placed on the bottom of each page.
@cindex Page Size, Print
@cindex Print, Page Size
The @widget{Layout} option selects the size of the page. @widget{EPS}
will make a Encapsulated Postscript file that does not include all of
the headers. This is suitable for making figures for inclusion in other
documents.
The @widget{Include off-screen times} button will print multiple
@dfn{horizontal} pages of paper, so that all times in the trace is
printed. The @widget{Include off-screen signals} button will print
multiple @dfn{vertical} pages, so that all signals are printed. Both
may be checked and taped together to get a nice wall hanging.
The @widget{Begin printing at} and @widget{End printing at} select the
region to be printed. This may be based on the whole trace, what is
displayed on the screen, or the cursors.
@node Trace Print, Trace Exit, Trace Print..., Trace Menu
@subsection Trace Print
@cindex Trace Print
Selecting @dmenu{Trace Print} performs a print using the last @dmenu{Trace
Print...} settings.
@node Trace Exit, , Trace Print, Trace Menu
@subsection Trace Exit
@cindex Trace Exit
@cindex Exiting
Selecting @dmenu{Trace Exit} will exit Dinotrace.
@node Customize Menu, Cursor Menu, Trace Menu, Screen Description
@section Customize Menu
@menu
* Customize Change...::
* Customize Grid...::
* Customize Read...::
* Customize ReRead::
* Customize Save As...::
* Customize Restore::
@end menu
@node Customize Change..., Customize Grid..., Customize Menu, Customize Menu
@subsection Customize Change...
@cindex Customize Change...
Selecting @dmenu{Customize Change} pops up a requester that allows the
configuration to be customized. See @ref{Customization Files} for
permanent configuration, and additional options that are not selectable
here.
@cindex Page Increment
The @widget{Page Increment} option selects how much of a screen clicking
on the @widget{Page Inc} space on the @widget{Time Slider} will
increment.
@cindex Time, Representation
@cindex Representation, Time
The @widget{Time Representation} option selects how times are displayed
and entered in the @widget{Goto} popup. Selecting @widget{Grid #0
Cycles} will put all times in the period defined by Grid #0.
@cindex Height, Signals
@cindex Signals, Height
The @widget{Signal Height} option controls how many signals can fit on
the screen and printout. Small sizes have more information, but may
cause the values to be hard to read.
@cindex Edge, Clicking to
@cindex Click to Edge
The @widget{Click To Edge} button enables @dmenu{Cursor Add} and other
menu items that require mouse clicks to find the closest transition and add
it at that point. The search will be only within 20 pixels; if there is no
edge within that distance, the cursor is added right where the cursor is.
@cindex Signal, Rise-fall time
@cindex Rise-fall time
The @widget{Rise/Fall Time} slider controls how fast signals transition.
@cindex Signal, Prefix, Drawing
@cindex Prefix, Drawing
Thw @widget{Draw Prefix} enables displaying the entire signal name,
instead of the default where a prefix common to every signal in the
design is not shown.
@cindex Refreshing, Mode
@cindex Manual Refreshing
Thw @widget{Manual Refreshing} button disables automatic refreshing, for
dialup lines. The @widget{Refresh} button must be pressed to refresh
the screen.
@node Customize Grid..., Customize Read..., Customize Change..., Customize Menu
@subsection Customize Grid...
@cindex Customize Grid...
@cindex Grid...
@cindex Grid, Customization
Selecting @dmenu{Customize Grid} pops up a requester that allows the
configuration to be customized. See @ref{Customization Files} for
permanent configuration. Note that the lowest numbered grid that is
visible is used for moving one increment, stepping cursors forward and
back, and for counting cycles.
@node Customize Read..., Customize ReRead, Customize Grid..., Customize Menu
@subsection Customize Read...
@cindex Customize Read...
@cindex Reading, Customization
Selecting @dmenu{Customize Read} pops up a requester that reads the
specified @file{.dino} file. The requester also allows enabling and
disabling of which @file{.dino} files will be read when a new trace is
read.
@node Customize ReRead, Customize Save As..., Customize Read..., Customize Menu
@subsection Customize ReRead
@cindex Customize ReRead
Selecting @dmenu{Customize ReRead} will reread the customize
@file{.dino} files. This is useful for applying changes to Dinotrace
after a @file{.dino} file has been edited outside Dinotrace.
@node Customize Save As..., Customize Restore, Customize ReRead, Customize Menu
@subsection Customize Save As...
@cindex Customize Save As...
@cindex Saving, Customization
Selecting @dmenu{Customize Save As...} will create a popup. A filename
may then be entered to save the current customization settings. Buttons
allow different portions of the configuration to be written. Note that
many of the settings that will be saved can be applied only to one
window, and should be edited out before being included in any global
@file{dinotrace.dino} files.
@node Customize Restore, , Customize Save As..., Customize Menu
@subsection Customize Restore
@cindex Customize Restore
@cindex Restoring, Customization
Selecting @dmenu{Customize Restore} will restore the customization
options to their program defaults. It will not read any @file{.dino}
files.
@c ------------------------------
@node Cursor Menu, Signal Menu, Customize Menu, Screen Description
@section Cursor Menu
@menu
* Cursor Add::
* Cursor Highlight::
* Cursor Move::
* Cursor Delete::
* Cursor Note::
* Cursor Step Forward::
* Cursor Step Backward::
* Cursor Clear::
* Cursor Cancel::
@end menu
@node Cursor Add, Cursor Highlight, Cursor Menu, Cursor Menu
@subsection Cursor Add
@cindex Cursor Add
@cindex Adding, Cursors
@kindex c
@kindex C
Selecting @dmenu{Cursor Add}, or pressing @kbd{c}, then clicking
@kbd{@key{MB1}} will insert cursors at the clicked on times. The
@dmenu{Next} color button, or pressing @kbd{C} will select the next
color down in the menu from the last color selected. See @ref{cursor_add}
for the equivalent configuration file command.
@node Cursor Highlight, Cursor Move, Cursor Add, Cursor Menu
@subsection Cursor Highlight
@cindex Cursor Highlight
@cindex Highlighting, Cursors
Selecting @dmenu{Cursor Delete} then clicking @kbd{@key{MB1}} on cursors
will change the color of those cursors.
@node Cursor Move, Cursor Delete, Cursor Highlight, Cursor Menu
@subsection Cursor Move
@cindex Cursor Move
@cindex Moving, Cursors
Selecting @dmenu{Cursor Move} then Dragging @kbd{@key{MB1}} on a cursor
will move that cursor. Press and hold mouse button one and release when
the cursor is at the new time desired. Moving a cursor that was created
with @dmenu{Signal Search} will make that cursor permanent; the cursor
will not go away if the search is changed.
@node Cursor Delete, Cursor Note, Cursor Move, Cursor Menu
@subsection Cursor Delete
@cindex Cursor Delete
@cindex Deleting, Cursors
Selecting @dmenu{Cursor Delete} then clicking @kbd{@key{MB1}} on cursors
will delete those cursors. To delete cursors that were created by
@dmenu{Value Search} (those with dotted lines), turn off the second
button on the @dmenu{Value Search} requester.
@node Cursor Note, Cursor Step Forward, Cursor Delete, Cursor Menu
@subsection Cursor Note
@cindex Cursor Note
@cindex Notes, Cursors
Selecting @dmenu{Cursor Note} then clicking @kbd{@key{MB1}} on a cursor
will pop up a dialog box to change the note attached to that cursor.
@node Cursor Step Forward, Cursor Step Backward, Cursor Note, Cursor Menu
@subsection Cursor Step Forward
@cindex Cursor Step Foward
@cindex Moving, Cursors by Grid
@cindex Grids, Stepping Cursors by
Selecting @dmenu{Cursor Step Forward} or pressing @kbd{>} will move all
user cursors forward the by grid #0's (or the first visible grid's)
period.
@node Cursor Step Backward, Cursor Clear, Cursor Step Forward, Cursor Menu
@subsection Cursor Step Backward
@cindex Cursor Step Backward
@cindex Moving, Cursors by Grid
@cindex Grids, Stepping Cursors by
Selecting @dmenu{Cursor Step Back} or pressing @kbd{<} will move all
user cursors backward the by grid #0's (or the first visible grid's)
period.
@node Cursor Clear, Cursor Cancel, Cursor Step Backward, Cursor Menu
@subsection Cursor Clear
@cindex Cursor Clear
@cindex Clearing, Cursors
Selecting @dmenu{Cursor Clear} will delete all cursors.
@node Cursor Cancel, , Cursor Clear, Cursor Menu
@subsection Cursor Cancel
@cindex Cursor Cancel
@kindex @key{esc}
Selecting @dmenu{Cursor Cancel}, or pressing @kbd{@key{esc}} will stop
@kbd{@key{MB1}} mouse clicks from having any affect.
@c ------------------------------
@node Signal Menu, Value Menu, Cursor Menu, Screen Description
@section Signal Menu
@menu
* Signal Add...::
* Signal Highlight::
* Signal Move::
* Signal Copy::
* Signal Delete::
* Signal Note::
* Signal Radix::
* Signal Waveform::
* Signal Search...::
* Signal Select...::
* Signal Clear Highlight::
* Signal Keep Highlight::
* Signal Cancel::
@end menu
@node Signal Add..., Signal Highlight, Signal Menu, Signal Menu
@subsection Signal Add...
@cindex Signal Add
@cindex Adding, Signals
Selecting @dmenu{Signal Add} will pop up a popup allowing a signal to be
selected then added at the point where @kbd{@key{MB1}} is clicked.
See @ref{signal_add} for the equivalent configuration file command.
@node Signal Highlight, Signal Move, Signal Add..., Signal Menu
@subsection Signal Highlight
@cindex Signal Highlight
@cindex Highlighting, Signals
@kindex s
@kindex S
Selecting @dmenu{Signal Highlight}, or pressing @kbd{s}, then clicking
@kbd{@key{MB1}} on signals changes the color of those signals.
See @ref{signal_highlight} for the equivalent configuration file command.
@node Signal Move, Signal Copy, Signal Highlight, Signal Menu
@subsection Signal Move
@cindex Signal Move
@cindex Moving, Signals
Selecting @dmenu{Signal Move} then clicking @kbd{@key{MB1}} on a signal
and clicking @kbd{@key{MB1}} again on a new position moves a signal.
Signals may be moved between traces, but closing a trace eliminates all
signals that were originally from that trace. See @ref{signal_move} for
the equivalent configuration file command.
@node Signal Copy, Signal Delete, Signal Move, Signal Menu
@subsection Signal Copy
@cindex Signal Copy
@cindex Copying, Signals
Selecting @dmenu{Signal Copy} then clicking @kbd{@key{MB1}} on a signal
and clicking @kbd{@key{MB1}} again on a new position copies a signal.
Signals may be copied between traces, but closing a trace eliminates all
signals that were originally from that trace. See @ref{signal_copy} for
the equivalent configuration file command.
@node Signal Delete, Signal Note, Signal Copy, Signal Menu
@subsection Signal Delete
@cindex Signal Delete
@cindex Deleting, Signals
Selecting @dmenu{Signal Delete} then clicking @kbd{@key{MB1}} on signals
deletes those signals. @dmenu{Signal Select} may be used to recover the
deleted signals. See @ref{signal_delete} for the equivalent configuration
file command.
@node Signal Note, Signal Radix, Signal Delete, Signal Menu
@subsection Signal Note
@cindex Signal Note
@cindex Notes, Signals
Selecting @dmenu{Signal Note} then clicking @kbd{@key{MB1}} on a signal
will pop up a dialog box to change the note attached to that signal.
@node Signal Radix, Signal Waveform, Signal Note, Signal Menu
@subsection Signal Radix
@cindex Signal Radix