'gtkwave tcl script for adding specific signals

I have a huge VCD file that I use in combination with gtkwave to observe certain signal behaviors. I have a list of signals stored into a .txt file which are the ones that I wish to probe. The thing is that by doing the insertion of the signals manually by hand is a painstakingly long process. So my question here is,

Is there a way, given the .txt file to compose a .tcl script that filters and adds the designated signals from the list to the waveform editor?



Solution 1:[1]

Well, after scouting on manuals and some gists I found here and there seems that there is a load of gtkwave instructions one can use that are listed (most of them) on the gtkwave manual (Appendix E) here. So in a nutshell all one has to do is to write a .tcl script in the following format:

# add_waves.tcl 
set sig_list [list sig_name_a, register_name\[32:0\], ... ] # note the escaping of the [,] brackets
gtkwave::addSignalsFromList $sig_list

and then invoke the gktwave as:

gtkwave VCD_file.vcd --script=add_waves.tcl

Furthermore, access to the GUI menu options are viable as well via the following syntax in tcl:

gtkwave::/Edit/<Option> <value>

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1