-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathgtkwave_cfg.tcl
106 lines (93 loc) · 3.21 KB
/
gtkwave_cfg.tcl
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
# gtkwave_cfg.tcl --
#
# Tcl command script file for execution GTKWave
#
# Load the trace with `gtkwave -S gtkwave_cfg.tcl yourtrace.vcd`
#
# User's Guide: http://gtkwave.sourceforge.net/gtkwave.pdf
# Contents:
#
# Customize view settings
# Add all signals to Wave
# Zoom full
# Print to PDF
# Notes on toggle menu items
# Time-stamp: <2023-12-19 10:00:28>
# * Customize view settings
# Show full signal hierarchy
gtkwave::/Edit/Set_Trace_Max_Hier 1
gtkwave::/View/Show_Filled_High_Values 1
gtkwave::/View/Show_Wave_Highlight 1
gtkwave::/View/Show_Mouseover 1
# * Add all signals to Wave
# Facility name
set numFacility [gtkwave::getNumFacs]
set numCnt 0
set curretInstName ""
for {set i 0} {$i < $numFacility} {incr i} {
# Get full path to Facility - instance name,
# and insert it before its facilities
set fullName [gtkwave::getFacName $i]
set splitName [split $fullName "."]
set facIndex [expr [llength $splitName] - 1]
set facName [lindex $splitName $facIndex]
set facNameLenght [string length $facName]
set instanceName [string range $fullName 0 end-[expr $facNameLenght+1]]
# Insert instance name
if {[string compare $curretInstName $instanceName] != 0} {
set curretInstName $instanceName
gtkwave::/Edit/Insert_Comment $instanceName
}
# Insert Facility name
gtkwave::addSignalsFromList $fullName
incr numCnt
}
puts "Num signals added: $numCnt"
# * Zoom full
# gtkwave::/View/Scale_To_Time_Dimension/ns
gtkwave::/Time/Zoom/Zoom_Full
# * Print to PDF
# set dumpname [gtkwave::getDumpFileName]
# gtkwave::/File/Print_To_File PDF {Letter (A4)} Minimal $dumpname.pdf
# * Notes on toggle menu items
# without an argument these toggle, otherwise with an argument it sets the value to 1 or 0
# gtkwave::/Edit/Color_Format/Keep_xz_Colors
# gtkwave::/Search/Autocoalesce
# gtkwave::/Search/Autocoalesce_Reversal
# gtkwave::/Search/Autoname_Bundles
# gtkwave::/Search/Search_Hierarchy_Grouping
# gtkwave::/Markers/Alternate_Wheel_Mode
# gtkwave::/Markers/Wave_Scrolling
# gtkwave::/View/Fullscreen
# gtkwave::/View/Show_Toolbar
# gtkwave::/View/Show_Grid
# gtkwave::/View/Show_Wave_Highlight
# gtkwave::/View/Show_Filled_High_Values
# gtkwave::/View/Leading_Zero_Removal
# gtkwave::/View/Show_Mouseover
# gtkwave::/View/Mouseover_Copies_To_Clipboard
# gtkwave::/View/Show_Base_Symbols
# gtkwave::/View/Standard_Trace_Select
# gtkwave::/View/Dynamic_Resize
# gtkwave::/View/Center_Zooms
# gtkwave::/View/Constant_Marker_Update
# gtkwave::/View/Draw_Roundcapped_Vectors
# gtkwave::/View/Zoom_Pow10_Snap
# gtkwave::/View/Partial_VCD_Dynamic_Zoom_Full
# gtkwave::/View/Partial_VCD_Dynamic_Zoom_To_End
# gtkwave::/View/Full_Precision
# gtkwave::/View/LXT_Clock_Compress_to_Z
# these can only set to the one selected
# gtkwave::/View/Scale_To_Time_Dimension/None
# gtkwave::/View/Scale_To_Time_Dimension/sec
# gtkwave::/View/Scale_To_Time_Dimension/ms
# gtkwave::/View/Scale_To_Time_Dimension/us
gtkwave::/View/Scale_To_Time_Dimension/ns
# gtkwave::/View/Scale_To_Time_Dimension/ps
# gtkwave::/View/Scale_To_Time_Dimension/fs
# This is for the sake of Emacs.
# Local Variables:
# time-stamp-end: "$"
# time-stamp-format: "<%:y-%02m-%02d %02H:%02M:%02S>"
# time-stamp-start: "Time-stamp: "
# End: