Tip #1 was about using an external process to perform dynamic
translations of signal display values. GTKWave can also perform simple
static translations of data. In the example below, for instance, moxie's
execute unit is receiving a 4-bit signal identifying "register A"
(riA_i) for whatever operation is about to happen. This waveform would
normally just show "0", "1", "2", etc. We can replace those values by
using a simple filter file that maps those string representations to
alternate values. Here's the one I use for register names:
gtkwave-regs.txt. After applying the filter we see the register name
"$r1" instead of its register file index value of "2".. a tremendous
readability improvement!