ModelSim Tutorial
ModelSim Tutorial
ModelSim Tutorial
ECGR2181
Introduction:
Modelsim is a software application that is used for simulating digital logic models. This document will describe the steps required to perform a behavioral simulation on a project or module. For this tutorial, the author will be using a 2-to-4 Decoder to simulate. The module has three enable signals (2 active high, and 1 active low).
d. Timing generation wizard appears i. For combinatorial circuits, chose Combinatorial under Clock Information section, ii. For sequential circuits, setup the clocks according to the clocks used to implement the design, (for the S3SK board use 50 MHz), iii. Length of simulation is defined in the Initial Length of Test Bench field, 1. To change the length of simulation after the timing generation wizard is complete, right-click on an open area of the waveform area in the test bench waveform, 2. Select Set End of Test Bench, 3. Change the value, click OK.
1/6
Modelsim Tutorial
ECGR2181
Figure 1, Test Bench Waveform file just after creating test bench file. e. Change input waveforms (inputs have blue areas; outputs have yellow areas) by clicking on the waveform the value for the remainder of the waveform will change, change the input waveforms until all combinations of inputs are checked, (Note: output signal changes, in the test bench editor, are overridden in Modelsim) Another way is to change the waveform, 1. Right click on the waveform area, 2. Select Set Value from the pop-up menu, 3. Either set value (0 or 1) or, 4. Click Pattern Wizard Ill leave the rest to you, 5. Click OK f. Click Save.
g. Figure 2 illustrates the final test bench waveform file ready for simulation.
2/6
Modelsim Tutorial
ECGR2181
2. Initiate Modelsim:
a. In the Sources Pane, the Test Bench Waveform file will show up under the module being simulated, b. In the Process View Pane, double-click on Simulate Behavioral Model process, c. Modelsim application should now be starting,
d. After the application is finished performing its initial tasks, click on the Wave tab, in the Waveform pane, to view the waveforms, e. Zoom out by repeatedly clicking on the minus-magnifying glass button, on the toolbar f. , until waveform features are distinguishable,
The user can reorder the waveforms to make viewing the signals easier, i. Drag and drop the waveforms into the appropriate order, ii. The user can add dividers to make grouping the signals easier. 1. Right-click on the waveform names, 2. Select Insert Divider from the pop-up menu, 3. Type the divider name and click OK. internal signals from the UUT, into the waveform list In the Workspace pane, select UUT In the Object pane, drag the signals to observe into the Wave pane, and Rearrange signals to suit. ,
3/6
Modelsim Tutorial
ECGR2181 i. Click on Run All button on the toolbar again. . This action causes the simulation to run
Figure 3 shows the Modelsim application after initial setup. Values of all waveforms at a particular time can be read in the panel next to the waveform list. The time of the values is given by the Yellow Line marker. The current marker can be moved by clicking at the desired time in the waveform area. A new marker can be added by clicking on the the button on the toolbar. The current marker can be removed by clicking on button. And finally, the current marker can be moved to the next rising/falling buttons.
UUT
Divider
4/6
Modelsim Tutorial
ECGR2181 i. Ensure that the Waveform Pane is selected, ii. Select File from the top menu, then click Save, ) (or by clicking on the Save button iii. Type in desired name, use *.do as the file extension, iv. Click the Save button, v. Now open the macro file that was just saved, by clicking , on the Open button vi. Figure 4 shows the macro file in place of the waveform area, vii. Add a line after line 2 that reads delete wave * This will delete the current waveforms and add the ones from the macro to create your saved setup. If this step is skipped then the waveforms will be repeated each time you run the macro. , click Save again. viii. Click the Save button ix. Close the wave.do file, by clicking on the X in the upper right of pane.
b. Running Macros: The macros can be run at anytime. However, each time that you start Modelsim the waveforms will revert back to your initial settings. Make sure that Modelsim is finished performing the initial tasks before executing this step. i. Click Tools menu, then select Execute Macro,
5/6
Modelsim Tutorial
ECGR2181 ii. Re-run the simulation (steps 2.h and 2.i), this step is required as the waveforms will not reflect any design changes that occurred since the user first saved the macro file. This concludes the tutorial on the basic operation of Modelsim. There are many other features that can be used to enhance your experience with Modelsim. If there are any omissions that could help others please do not hesitate to contact the course instructor with the details.
6/6