For Simvision
Mnemonic Maps : It is the way to give “names” to specific values of a bus.
- How to Create a new Mnemonic map :

- How to Modify a Mnemonic Map:
A window will open from the previous step . You can select a map or create a new one :

- On the Left there are the Maps.
- The big rectangle is the Values matched with the corresponding Names that will appear in the waveform window. There, you can choose the values and the Names you want to give them. Notice that you can use it as a “case” clause. Asterisk works as Default . In this example values { 0 , 9-15} will have the name “RSV” .
- The bottom rectangle is about how they will appear in the waveforms(color, text etc).
- How to Apply a Mnemonic Map :
- Find the bus that you would want to change its values into names.
- Right click on the right side(Cursor Tab) where the values appear.
- Select your Radix/Mnemonic -> select your Mnemonic Map.

Example :

Conditional Expression with buses :
Problem : Assume that you want part of a 96 Bit bus to have Names but only when another part of it has a specific Value.
More Specifically : In a USB Packet Header ( 96 bits) when the Packet Type ( bits [4:0]) is TP(transaction packet) only then Packet Subtype (bits [35:32]) is active(only then the value of packet subtype is meaningful for us) otherwise don’t consider their value.


Create the following expression which works as “if else” and returns the subtype bus when the boolean expression is true :
- (bool exp with part of the 96 bits) ? 4’bit value the subtype : 0
- Give a name to the new bus that will be added to the waveform and click OK
- In the top right corner , select the waveform icon to send the bus that was just created to the Waveform window.
Example : (when PKT TYPE is not TP ,subtypes will always be RSV , although the actual values are non 0)
