Let's imagine I have a signal in my waveform database like test.top.channel_0.subChannel_A.mySignal
.
My design has many identical channels and each channel has many identical sub-channels, so the following signals also exist in the waveform database:
test.top.channel_0.subChannel_A.mySignal
test.top.channel_0.subChannel_B.mySignal
test.top.channel_1.subChannel_A.mySignal
test.top.channel_1.subChannel_B.mySignal
...
I would like to add every instance of mySignal that exists in the design to the waveform. Ideally, I would like to do this by just specifying a wildcard/glob pattern, so I can find and add all signals in the design/database of the form:
test.top.channel_*.subChannel_*.mySignal
How can I do this with SimVision?
Initially I thought the "Design Search" window could find all the signals for me, but it seems like there is no option in Design Search to match against the entire hierarchical signal/path name - you can match against just the last part of the scope with the "Consider:" option set to "Scopes":
or just the signal/variable name with the "Consider:" option set to "Signals/Variables":
but not against the entire hierarchal path at once (the "All Design Elements" option for "Consider:" seems to match against each piece of the hierarchy instead of the entire hierarchy path as a whole).
My design might also have signals of the form test.top.someOtherBlock.mySignal
that I do NOT want returned, so simply searching for all signals named "mySignal" regardless of hierarchy won't work - I really need to match against the full hierarchy path, with wildcards.
I tried looking at the SimVision TCL command reference to see if there was a way to search through the database/design browser using TCL, but I couldn't find anything useful.
Does anyone have any suggestions on ways to do this?