USING BUSES IN WAVEFORM


SECTIONS

WHAT IS A BUS AND WHY IS IT USED?

Buses are very helpful when you want to group several signal together. Examples are you might want to group the four bit input X0, X1, X2, X3 to just X and Y0, Y1, Y2, Y3 to just Y. Grouping signals in this form definitely makes the waveform more easier to read, debug and grade. Synario has several features which allow signals to be grouped into buses.

HOW TO USE BUSES IN THE WAVEFORM?

After simulating the design for the four bit subtractor, our waveform looks something like this:

Suppose, we wanted group signals X0, X1, X2, X3 into a bus named "xinput." To create a bus in the waveform viewer, we highlight all the signals we want like so:

Note that signals X0, X1, X2, X3 are shaded. One point to keep in mind here is you will have to highlight all the signals that you want to include in your bus. If you just click and drag on one signal only that signal will be selected to be in your bus instead of multiple signals. Now select the "Add To Bus" option from the Edit menu. On the right hand panel, you should see your signals, as shown below:

It's usually best to have the higher order bits first. Click on reverse and you'll see the following:

Note that the signals are now listed in the reverse order with higher order bit listed first. Now click on the $Bus1 to change the name of the bus. I have used the name 'xinput'. Click on Save Bus and the bus will be created:

Finally, click on "Show"  to show the bus on the waveform viewer like so:

You can also hide the signals X0, X1, X2, X3, if you want by highlighting them and selecting "Hide" from the Edit menu. Following the same procedure for grouping signals Y0,Y1, Y2, Y3 into "yinput" and S0, S1, S2, S3 into "sum"  we get:

Note that the buses have been labelled with decimal values. The default label for the buses is hexadecimal. If you want to change the base, click on Bus Radix from the Options menu and select the appropiate base as shown below:

As seen in the above figure, you can change the base from hexadecimal (the default) to octal, binary, or decimal.