Home
ModelSim Tutorial
Contents
1. The data in the address locations change to the values you entered Figure 96 Figure 95 Entering data to change 4 Edit data in place Viglen tam_tb dpram1 mem To edit only one value at a time do the following Address Range Fill Type ps Double click any value in the Data column FA vaus A LA t b Enter the desired value and press lt Enter gt k raceaesecs interacts a so Start fP000000c End D000000e re c When you are finished editing all values press the lt Enter gt key on your SEN keyboard to exit the editing mode Fil Data Skip 43g If you needed to cancel the edit function press the lt Esc gt key on your fo word s keyboard OK Cancel Apply Figure 96 Changed contents for specified addresses amp ram_tb dpram1 mem 00000000 00000002 00000004 00000006 00000008 00000002 0000000c 0000000e 27 IRGC REG SES SRN I nn ModelSim Tutorial Lesson Wrap up T 113 Lesson Wrap up This concludes this lesson Before continuing we need to end the current simulation 1 Select Simulate gt End Simulation Click Yes ModelSim Tutorial T 114 Lesson 9 Viewing and initializing memories ModelSim Tutorial Lesson 14 Automating ModelSim Topics The following topics are covered in this lesson Introduction Related reading Creating a simple DO file Running ModelSim in command line mode Us
2. icon Because you moved the files the project no longer knows if the previous compilation is still valid ModelSim Tutorial Figure 24 A folder with a sub folder y ce counter Design Files i HDL Folder 2e Figure 25 Changing file location via the project settings dialog fw Project Compiler Settings x General Verilog Coverage l l General Settings I Do Not Compile Compile to library work LA Place in Folder Top Level File Properties File sm v Location C 6 0 Tutorial examples coverage verilog sm MS DOS name C 6 0 Tutorial examples coverage werilog sm Type Verilog Change T ype Size 2459 2KB Simulation Configurations A Simulation Configuration associates a design unit s and its simulation options For example say every time you load tcounter v you want to set the simulator resolution to picoseconds ps and enable event order hazard checking Ordinarily you would have to specify those options each time you load the design With a Simulation Configuration you specify options for a design and then save a configuration that associates the design and its options The configuration is then listed in the Project tab and you can double click it to load tcounter v along with its options 1 Create a new Simulation Configuration a Select File gt Add to Project gt Simulation Configuration This opens the Simulate dialog Figure 26 The tabs in
3. ga wave ModelSim Tutorial T 24 Lesson 2 Basic simulation c Click the Run All icon on the Main or Wave window toolbar The simulation continues running until you execute a break command or it hits a statement in your code e g a Verilog stop statement that halts the simulation d Click the Break icon The simulation stops running ModelSim Tutorial Setting breakpoints and stepping in the Source window Next you will take a brief look at one interactive debugging feature of the ModelSim environment You will set a breakpoint in the Source window run the simulation and then step through the design under test Breakpoints can be set only on lines with red line numbers 1 Open counter v in the Source window a Select the Files tab in the Main window Workspace b Double click counter v to add it to the Source window 2 Seta breakpoint on line 36 of counter v if you are simulating the VHDL files use line 39 instead a Scroll to line 36 and click on the line number A red ball appears next to the line Figure 10 indicating that a breakpoint has been set 3 Disable enable and delete the breakpoint a Click the red ball to disable the breakpoint It will become a black circle b Click the black circle to re enable the breakpoint It will become a red ball c Click the red ball with your right mouse button and select Remove Breakpoint 36 d Click on line number 36 again to re create the breakpoint
4. gt ModelSim Tutorial T 166 Lesson 14 Automating ModelSim Using Tcl with ModelSim The DO files used in previous exercises contained only ModelSim commands However DO files are really just Tcl scripts This means you can include a whole variety of Tcl constructs such as procedures conditional operators math and trig functions regular expressions and so forth In this exercise you will create a simple Tcl script that tests for certain values on a signal and then adds bookmarks that zoom the Wave window when that value exists Bookmarks allow you to save a particular zoom range and scroll position in the Wave window 1 Create the script a Ina text editor open a new file and enter the following lines proc add_wave_zoom stime num echo Bookmarking wave num bookmark add wave bkS num expr stime 50 expr stime 100 0 These commands do the following e Create a new procedure called add_wave_zoom that has two arguments stime and num e Create a bookmark with a zoom range from the current simulation time minus 50 time units to the current simulation time plus 100 time units b Now add these lines to the bottom of the script add wave r when clk event and clk 1 echo Count is exa count if exa count 00100111 add_wave_zoom Snow 1 elseif exa count 01000111 add_wave_zoom Snow 2 ModelSim Tutorial These commands do the following e Add all signals
5. 01000110 01001100 01010010 01011000 01011110 01100100 01101010 01110000 minn 00101001 00101010 00101111 00110000 00110101 00110110 00111011 00111100 01000001 01000010 01000111 01001000 01001101 01001110 01010011 01010100 01011001 01011010 01011111 01100000 01100101 01100110 01101011 01101100 01110001 01110010 AIII AIARA Figure 81 Changing the address radix x Address Radix Hexadecimal Decimal iC C C C C C Data Radix Symbolic Binary Octal Decimal Unsigned Hexadecimal 00101011 00110001 00110111 00111101 01000011 01001001 01001111 01010101 01011011 01100001 01100111 01101101 01110011 MIANN Line Wrap Fitin Window Words per Line fi OK Cancel 00101100 00110010 00111000 00111110 01000100 01001010 01010000 01010110 01011100 01100010 01101000 01101110 01110100 minn 00101101 00110011 00111001 00111111 01000101 01001011 01010001 01010111 01011101 01100011 01101001 01101111 01110101 Can E E EE a B ModelSim Tutorial T 106 Lesson 9 Viewing and initializing memories Navigating within the memory Figure 82 Memory window new address radix and line length You can navigate to specific memory address locations or to locations containing E ram_tb sprami mem particular data patterns First you will go to a specific address 0 00101000 1 00101001 1 Use Goto to find a specific address 2 00101010 3 00101011 a Righ
6. 4 Restart the simulation a Click the Restart icon to reload the design elements and reset the simulation time to zero The Restart dialog that appears gives you options on what to retain during the restart Figure 11 b Click Restart in the Restart dialog Setting breakpoints and stepping in the Source window T 25 Figure 10 A breakpoint in the Source window C modeltech examples counter 30 carry val i amp carry ea end 32 end 33 endfunction 34 30 always posedge clk or posedge reset 360 if reset 37 count tpd reset to count 8 h00 36 else Ft Pe die 17 d dd mem de f En Figure 11 The Restart dialog v List Format v Wave Format v Breakpoints v Logged Signals v Virtual Definitions Assertions and Functional Coverage Restart Cancel ModelSim Tutorial T 26 Lesson 2 Basic simulation Click the Run All icon The simulation runs until the breakpoint is hit When the simulation hits the breakpoint it stops running highlights the line with a blue arrow in the Source view Figure 12 and issues a Break message in the Transcript pane When a breakpoint is reached typically you want to know one or more signal values You have several options for checking values e look at the values shown in the Objects window Figure 13 e set your mouse pointer over the count variable in the Source window and a balloon will pop u
7. Loading a design T 69 ModelSim Tutorial T 70 Lesson 6 Viewing simulations in the Wave window Adding objects to the Wave wi nd Ow Figure 48 A Wave window docked in the Main window B efault ModelSim offers several methods for adding objects to the Wave window In this itest counter ck x 4 test counter reset x EA test_counter count xxxxxRRK exercise you will try different methods 1 Add objects from the Objects pane a Select an item in the Objects pane of the Main window right click and then select Add to Wave gt Signals in Region ModelSim adds several signals to the Wave window 2 Undock the Wave window By default ModelSim opens Wave windows as a tab in the MDI frame of the Cursor 1 Main window You can change the default via the Preferences dialog Tools gt Edit Preferences See ModelSim GUI preferences GR 293 in the ModelSim GUI amp Interface Reference for more information a Click the undock icon on the Wave pane Figure 48 The Wave pane becomes a standalone un docked window You will probably need to resize the window 3 Add objects using drag and drop You can drag an object to the Wave window from many other windows and panes e g Workspace Objects and Locals a Inthe Wave window select Edit gt Select All and then Edit gt Delete b Drag an instance from the sim tab of the Main window to the Wave window ModelSim adds the objects for that i
8. Ol x Model gt Welcome to ModelSim 6 0 a IMPORTANT Information Key Information ModelSim platform changes Product Changes Changes in ModelSim functionality New Features The latest ModelSim features ModelSim 6 0 Application Notes Performance Guidelines Taking Advantage of SystemVerilog The ModelSim Debug GUI SystemC Verification Comparing PSL and OVL Verilog 2001 Ready For Use iaj Select J tart t Fr use Modesmnom _JUMPStArt M Ciose Figure 2 The Create a New Library dialog Create a New Library D x Create Ca T Don t show this dialog again a map to an existing library m Library Name work 8b m Library Physical Name work a Cancel ModelSim Tutorial T 20 Lesson 2 Basic simulation c Click OK Figure 3 The newly created work library F ModelSim File Edit View Format Compile Simulate Add Tools Window Help ModelSim creates a directory called work and writes a specially formatted file named _info into that directory The _info file must remain in the directory to distinguish it as a ModelSim library Do not edit the folder contents from your operating system all changes should be made from within ModelSim ModelSim also adds the library to the list in the Workspace Figure 3 and records the library mapping for future reference in the ModelSim EH wok Libray initialization fi
9. to a waveform edge if you click or drag a cursor to within ten pixels of a waveform edge You can set the snap distance in the Window Preferences dialog select Tools gt Window Preferences e Inthe cursor pane drag the cursor to the right of a transition Figure 51 The cursor doesn t snap to a transition if you drag in the cursor pane ModelSim Tutorial Using cursors in the Wave window T 73 2 Rename the cursor Figure 52 Renaming a cursor a Right click Cursor 1 in the cursor name pane and select and delete the LC O x text Figure 5 2 File Edit View Insert Format Tools Window b Type A and press Enter The cursor name changes to A 4 test_counter clk 4 test_counter reset oyo O RE yiy yyy viy yey err eri ys 3 Jump the cursor to the next or previous transition a Click signal count in the pathname pane a Click the Find Next Transition icon on the Wave window toolbar The cursor jumps to the next transition on the currently selected signal b Click the Find Previous Transition icon on the Wave window toolbar The cursor jumps to the previous transition on the currently selected iu wave default E loj x si gnal File Edit View Insert Format Tools Window Working with multiple cursors sHS 4 BGM iAH 4 test_counter clk 1 Adda second cursor 4 Jtest counter reset a Click the Add Cursor icon on the Wave window toolbar b Right click the name of the
10. Create a Project from the Welcome dialog or File gt New gt Project Main window from the menu bar This opens a dialog where you enter a Project Name Project Location i e directory and Default Library Name Figure 14 The default library is where compiled design units will reside Type test in the Project Name field Click Browse to select a directory where the project file will be stored Leave the Default Library Name set to work Click OK If you see the Select Initial Ini dialog asking which modelsim ini file you would like the project to be created from click the Use Default Ini button Figure 14 The Create Project dialog Create Project xi m Project Name test I m Project Location C modeltech examples Browse m Default Library Name work Creating a new project T 35 2b 2c 2d ModelSim Tutorial T 36 Lesson 3 ModelSim projects Adding objects to the project Once you click OK to accept the new project settings you will see a blank Project tab in the workspace area of the Main window and the Add items to the Project dialog will appear Figure 15 From this dialog you can create a new design file add an existing file add a folder for organization purposes or create a simulation configuration discussed below 1 Add two existing files a Click Add Existing File This opens the Add file to Project dialog Figure 16 This dialog lets you brows
11. creating the working library you compile your design units into it The ModelSim library format is compatible across all supported platforms You can simulate your design on any platform without having to recompile your design Running the simulation With the design compiled you invoke the simulator on a top level module Verilog or a configuration or entity architecture pair VHDL Assuming the design loads successfully the simulation time is set to zero and you enter a run command to begin simulation ModelSim Tutorial T 16 Lesson 1 ModelSim conceptual overview Debugging your results If you don t get the results you expect you can use ModelSim s robust debugging environment to track down the cause of the problem ModelSim Tutorial Project flow T 17 Project flow A project is a collection mechanism for an HDL design under specification or test Even though you don t have to use projects in ModelSim they may ease interaction with the tool and are useful for organizing files and specifying simulation settings The following diagram shows the basic steps for simulating a design within a ModelSim project As you can see the flow is similar to the basic simulation flow However there are two important differences e You do not have to create a working library in the project flow it is done for you automatically e Projects are persistent In other words they will open every time you invoke ModelSim unless you spec
12. std_developerskit synopsys Library MODEL_TECH synopsys mo A il themes SOMONE TOCU hinrilan m Design Unit s Resolution work test_counter ps x f 18 Optimization J Enable optimization EH_ Design Files tcounter M counter Folder Folder Verilog 1 Verilog 0 Simul 11 29 04 07 33 31 11 29 04 07 33 30 ModelSim Tutorial T 42 Lesson 3 ModelSim projects Lesson wrap Up This concludes this lesson Before continuing you need to end the current simulation and close the current project 1 Select Simulate gt End Simulation Click Yes 2 Select the Project tab in the Main window Workspace 3 Right click the test project to open a context popup menu and select Close Project If you do not close the project it will open automatically the next time you start ModelSim ModelSim Tutorial Figure 28 Transcript shows options used for Simulation Configuration Transcript Compile of tcounter y was successful Compile of counter v was successful 2 compiles 0 failed with no errors vsim hazards t ps work test_counter vsim hazards t ps work test_counter H JA J YWOIF ae Project test Now Ops Delta 0 command line switches Lesson 4 Working with multiple libraries Topics The following topics are covered in this lesson Introduction Related reading Creating the resourc
13. this dialog present a myriad of simulation options You may want to explore the tabs to see what s available You can consult the ModelSim User s Manual to get a description of each option b Type counter in the Simulation Configuration Name field c Select HDL from the Place in Folder drop down d Click the icon next to the work library and select test_counter e Click the Resolution drop down and select ps f For Verilog click the Verilog tab and check Enable Hazard Checking g Click OK The Project tab now shows a Simulation Configuration named counter Figure 27 2 Load the Simulation Configuration a Double click the counter Simulation Configuration in the Project tab In the Transcript pane of the Main window the vsim the ModelSim simulator invocation shows the hazards and t ps switches Figure 28 These are the command line equivalents of the options you specified in the Simulate dialog Simulation Configurations T 41 Figure 26 The Simulation Configuration dialog MET Simulation Configuration gt Simulation Configuration Name Place in Folder 16 fone 1c Design VHDL eu 1f Type Path Library C modeltech examples work id Module C modeltech examples counter v Module C modeltech examples tcounter v Library MODEL_TECH vital2000 Library MODEL_TECH ieee Library MODEL_TECH modelsim_lib Library MODEL_TECH std Library MODEL_TECH
14. to the Wave window e Use a when statement to identify when clk transitions to 1 e Examine the value of count at those transitions and add a bookmark if itis a certain value Save the script with the name add_bkmrk do Save it into the directory you created in Lesson 2 Basic simulation 2 Load the test_counter design unit a b Start ModelSim Select File gt Change Directory and change to the directory you saved the DO file to in step 1c above In the Library tab of the Main window expand the work library and double click the test_counter design unit 3 Execute the DO file and run the design a b c Type do add_bkmrk do at the VSIM gt prompt Type run 1500 ns at the VSIM gt prompt The simulation runs and the DO file creates two bookmarks If the Wave window is docked in the Main window click somewhere in the Wave window and select View gt Wave gt Bookmarks gt bm1 If the window is undocked select View gt Bookmarks gt bm1 in the Wave window Watch the Wave window zoom on and scroll to the time when count is 00100111 Try the bm2 bookmark as well Using Tcl with ModelSim T 167 ModelSim Tutorial T 168 Lesson 14 Automating ModelSim Lesson Wrap up This concludes this lesson 1 Select File gt Quit to close ModelSim ModelSim Tutorial Index A add wave command 52 B break icon 24 breakpoints setting 25 stepping 26 C command line mode 77 compile order chang
15. 0000000000000000011 255 00000000000000000000000000000100 256 00000000000000000000000000000101 257 00000000000000000000000000000110 258 00000000000000000000000000000111 253 00000000000000000000000000001000 ncn NNNNNNNNNNNNNNNNNNNNNNNNNNNNANNA Lhd ModelSim Tutorial Interactive debugging commands T 111 nte ractive deb u g g i n g comman d S Figure 91 Original memory contents amp ram_tb dpram1 mem x The memory panes can also be used interactively for a variety of debugging G0000002 7 ib purposes The features described in this section are useful for this purpose po0o0006 te IF 00000008 20 21 00000002 22723 ias 0000000c 24 25 1 Open a memory instance and change its display characteristics 0000000e 26 27 Double click instance ram_tb dpraml mem in the Memories tab a b Right click in the memory contents pane and select Properties c Change the Data Radix to Hexadecimal 7 J gt J d Select Words per line and enter 2 rram_6v mem e Click OK Figure 92 Changing memory contents for a range of addresses 2 Initialize a range of memory addresses from a fill pattern Instance Name a Right click in the data column of ram_tb dpraml mem contents pane co tien and select Change to open the Change Memory dialog Figure 92 Address Range oo A b Click the Addresses radio button and enter the start
16. 011 36 01001100 37 01001101 roo o1oo1lio 9 3g 01001111 01010000 01010001 01010010 fa ak ata oe Figure 85 Find in searching for data value i fram_tb sprami mem l ml E x 92 10000100 al 93 1ooonini P 94 100c fRA ELLE CURE E TE 95 100 36 100 3 i on Find data 11111010 Find Next 38 100 te O fee ee Replace with eplace 100 100 Replace AI 101 100 102 1000 J Find backwards 103 100 Example Find Patterns 124 100 1234 101 O11 05 hfa38 Cose zl mem mem 1 ram 18 v ModelSim Tutorial T 108 Lesson 9 Viewing and initializing memories Saving memory contents to a file Figure 86 Save Memory dialog box x You can save memory contents to a file that can be loaded at some later point in FA t zl simulation m Instance Name ram_tb spram mem 1 Save a memory pattern from the ram_tb spraml mem instance to a file a Make sure ram_tb spraml mem is open and selected in the MDI frame m Address Range b Select File gt Save to bring up the Save Memory dialog box Figure 86 Al c For the Address Radix select Decimal Addresses in decimal d For the Data Radix select Binary Start 0 End 4095 e Type data_mem mem into the Filename field f Click OK m File Format You can view the saved file in any editor C Verilog Hex T No addresses C an Memory pattern files can be saved as relocatable f
17. 2 Load a format file a b In the Main window select View gt Debug Windows gt Wave Undock the window All signals and cursor s that you had set are gone In the Wave window select File gt Load Select wave do and click Open ModelSim restores the window to its previous state Close the Wave window when you are finished by selecting File gt Close Saving the window format 1 75 ModelSim Tutorial T 76 Lesson 6 Viewing simulations in the Wave window Lesson wrap up This concludes this lesson Before continuing we need to end the current simulation 1 Select Simulate gt End Simulation Click Yes ModelSim Tutorial Lesson 9 Viewing and initializing memories Topics The following topics are covered in this lesson Introduction Related reading Compiling and loading the design Viewing a memory Navigating within the memory Saving memory contents to a file Initializing a memory Interactive debugging commands Lesson Wrap up T 102 T 102 T 103 T 104 T 106 T 108 T 109 T 111 T 113 T 101 ModelSim Tutorial T 102 Lesson 9 Viewing and initializing memories Introduction In this lesson you will learn how to view and initialize memories in ModelSim ModelSim defines and lists as memories any of the following e reg wire and std_logic arrays e Integer arrays e Single dimensional arrays of VHDL enumerated types other than std_logi
18. 3 Chapter 4 VHDL simulation UM 61 ModelSim Command Reference vlib CR 211 vmap CR 221 vlog CR 212 vcom CR 174 and view CR 187 commands ModelSim Tutorial Creating the working design library Before you can simulate a design you must first create a library and compile the source code into that library 1 Create a new directory and copy the tutorial files into it Start by creating a new directory for this exercise in case other users will be working with these lessons Verilog Copy counter v and tcounter v files from lt install_dir gt examples to the new directory VHDL Copy counter vhd and tcounter vhd files from lt install_dir gt examples to the new directory 2 Start ModelSim if necessary a Type vsim at a UNIX shell prompt or use the ModelSim icon in Windows Upon opening ModelSim for the first time you will see the Welcome to ModelSim dialog Figure 1 Click Close b Select File gt Change Directory and change to the directory you created in step 1 3 Create the working library a Select File gt New gt Library This opens a dialog where you specify physical and logical names for the library Figure 2 You can create a new library or map to an existing library We ll be doing the former b Type work in the Library Name field if it isn t entered automatically Creating the working design library T 19 Figure 1 The Welcome to ModelSim dialog M IMPORTANT Information
19. GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL INDIRECT SPECIAL OR CONSEQUENTIAL DAMAGES WHATSOEVER INCLUDING BUT NOT LIMITED TO LOST PROFITS ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT EVEN IF MENTOR GRAPHICS CORPORATION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES RESTRICTED RIGHTS LEGEND 03 97 U S Government Restricted Rights The SOFTWARE and documentation have been developed entirely at private expense and are commercial computer software provided with restricted rights Use duplication or disclosure by the U S Government or a U S Government subcontractor is subject to the restrictions set forth in the license agreement provided with the software pursuant to DFARS 227 7202 3 a or as set forth in subparagraph c 1 and 2 of the Commercial Computer Software Restricted Rights clause at FAR 52 227 19 as applicable TRADEMARKS The trademarks logos and servicemarks Marks used herein are the property of Mentor Graphics Corporation or other third parties No one is permitted to use these Marks without the prior written consent of Mentor Graphics or the respective third party owner The use herein of a third party Mark is not an attempt to indicate Mentor Graphics as a source of a product but is intended
20. NNQT OT 1 JO f Select View gt Zoom gt Zoom Full E 102 ns to 240 ns Now 400 ns Delta 2 ModelSim Tutorial T 72 Lesson 6 Viewing simulations in the Wave window Usi ng cursors in the Wave window Figure 51 Working with a single cursor in the Wave window ul wave default i 10 x File Edit View Insert Format Tools Window Cursors mark simulation time in the Wave window When ModelSim first draws the Wave window it places one cursor at time zero Clicking anywhere in the waveform pane brings that cursor to the mouse location You can also add additional cursors name lock and delete cursors use cursors to measure time intervals and use cursors to find transitions 4 test_counter clk 4 test_counter reset Working with a single cursor E4 Aest_counter count 1 Position the cursor by clicking and dragging a Click the Select Mode icon on the Wave window toolbar b Click anywhere in the waveform pane Cursor 1 A cursor is inserted at the time where you clicked Figure 51 aul Ons to 420 ns Now 400 ns Delta 2 c Drag the cursor and observe the value pane The signal values change as you move the cursor This is perhaps the easiest way to examine the value of a signal at a particular time d Inthe waveform pane drag the cursor to the right of a transition with the mouse positioned over a waveform The cursor snaps to the transition Cursors snap
21. Sim Advanced Verification and Debugging Altera Tutorial Version 6 0c Published January 21 2005 oe r Py M F NA 1 f e r gi 00 00 1 0 0 10 l 0 0 0 09 we Fi es K Om D AY T h a Ari F _ Pa om OS I 7 x y i P 17 E A x 7 rni Copyright Mentor Graphics Corporation 2005 All rights reserved This document contains information that is proprietary to Mentor Graphics Corporation The original recipient of this document may duplicate this document in whole or in part for internal business purposes only provided that this entire notice appears in all copies In duplicating any part of this document the recipient agrees to make every reasonable effort to prevent the unauthorized use and distribution of the proprietary information This document is for information and instruction purposes Mentor Graphics reserves the right to make changes in specifications and other information contained in this publication without prior notice and the reader should in all cases consult Mentor Graphics to determine whether any changes have been made The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in written agreements between Mentor Graphics and its customers No representation or other affirmation of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor Graphics whatsoever MENTOR
22. X XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX HARAR Aa l Sn a a a a a a a cs Simulate the design a Click the run all icon in the Main window b Click the mem tab of the MDI frame to bring the ram_tb spraml mem instance to the foreground Figure 80 VHDL In the Transcript pane you will see NUMERIC_STD warnings that can be ignored and an assertion failure that is functioning to stop the simulation The simulation itself has not failed Let s change the address radix and the number of words per line for instance ram_tb spraml mem a Right click anywhere in the Memory Contents pane and select Properties The Properties dialog box opens Figure 81 b For the Address Radix select Decimal This changes the radix for the addresses only c Select Words per line and type 1 in the field d Click OK You can see the results of the settings in Figure 82 If the figure doesn t match what you have in your ModelSim session check to make sure you set the Address Radix rather than the Data Radix Data Radix should still be set to Symbolic the default Viewing a memory T 105 Figure 80 Memory display updates with simulation 00000000 00000006 0000000c 00000012 00000018 0000001e 00000024 00000022 00000030 00000036 0000003c 00000042 00000048 manana 4 mem mem 1 ram 18 v m1 mem 00101000 00101110 00110100 00111010 01000000
23. ZA Top level modules 4 counter Library ModelSim gt lt No Design Loaded gt lt No Context gt ModelSim Tutorial T 22 Lesson 2 Basic simulation Loading the design into the simulator 1 Load the fest_ counter module into the simulator a Double click test_ counter in the Main window Workspace to load the design You can also load the design by selecting Simulate gt Start Simulation in the menu bar This opens the Start Simulation dialog With the Design tab selected click the sign next to the work library to see the counter and test_counter modules Select the test_counter module and click OK Figure 6 When the design is loaded you will see a new tab named sim that displays the hierarchical structure of the design Figure 7 You can navigate within the hierarchy by clicking on any line with a expand or contract icon You will also see a tab named Files that displays all files included in the design ModelSim Tutorial Figure 6 Loading the design with the Start Simulation dialog x Design VHDL Verilog Libraries SDF Others Library Module Module Library Library _ Library Library std_developerskit Library MAD simancne Libram C 6 0 Tutorial examples work C 46 0 Tutorial examples counter v C 46 0 Tutorial examples tcounter v MODEL_TECH vital2000 MODEL_TECH ieee MODEL_TECH modelsim_lib MODEL_TECH std MODEL
24. _TECH std_developerskit NDEI TECH Jomoanene Design Unit s Resolution ee carr default xj Optimization F Enable optimization Optimization Options OK Cancel_ Figure 7 Workspace tab showing a Verilog design jy Modelsim File Edit View Format Compile Simulate Add Tools Window Help Workspace M dut counter instance _ Designunit_ Design unit type EM test_counter test_counter Module IMPLICI test_counter Process HIMPLICI test_counter Process HINITIAL test_counter Process FINITIAL test_counter Process HINITIAL test counter Process X Library sim Files VSIM 19 gt af 16 0 Beta Compiler 2004 06 Jun 4 2004 Compiling module counter Compiling module test_counter Module Top level modules test_counter ModelSim gt vsim work test_counter vsim work test_counter Loading work test_counter Loading work counter Now Ons Delta 0 sim test_counter Running the simulation Now you will run the simulation 1 Set the graphic user interface to view all debugging windows a Select View gt Debug Windows gt All Windows This opens all ModelSim windows giving you different views of your design data and a variety of debugging tools Most windows will open as panes within the Main window The Dataflow and List windows will open as separate windows You may need to move or resi
25. address as d f 5 ante 0x00000006 and the end address as 0x00000009 The Ox hex notation z F Ne ees Increment is optional Start Ox00000006 End Oxo0000003 Pte Random 2c c Select Random as the Fill Type d Enter 0 as the Fill Data setting the seed for the Random pattern Du i fo ESA 0 word s e Click OK cae The data in the specified range are replaced with a generated random fill ox oa aw pattern Figure 93 Figure 93 Random contents of a range of addresses E ram_tb dpram1 mem 00000000 06 03 zo 00000002 7a 1b 00000004 1c 1d 00000006 52 40 00000008 04 31 00000002 0000000 24 25 0000000e 26 27 Al eS I Set oer nn ModelSim Tutorial T 112 Lesson 9 Viewing and initializing memories 3 Change contents by highlighting Figure 94 Changing contents by highlighting You can also change data by highlighting them in the Address Data pane amp ram_tb dpram1 mem 00000000 a Highlight the data for the addresses 0x0000000c 0x0000000e as shown 00000002 00000004 in Figure 94 00000006 00000008 b Right click the highlighted data and select Change 0000000a 0000000 lt 000000 e This brings up the Change dialog box Figure 95 Note that the Addresses field is already populated with the range you highlighted Select Value as the Fill Type d Enter the data values into the Fill Data field as follow 34 35 36 e Click OK Fl pram Ey mer
26. again Permanently mapping resource libraries T 51 ModelSim Tutorial T 52 Lesson 4 Working with multiple libraries Lesson wrap up This concludes this lesson Before continuing we need to end the current simulation and close the project 1 Select Simulate gt End Simulation Click Yes 2 Select the Project tab of the Main window Workspace 3 Select File gt Close Click OK ModelSim Tutorial Lesson 6 Viewing simulations in the Wave window Topics The following topics are covered in this lesson Introduction Related reading Loading a design Adding objects to the Wave window Using cursors in the Wave window Working with a single cursor Working with multiple cursors Saving the window format Lesson wrap up T 68 T 68 T 69 T 70 T 72 T 72 T 73 T 75 T 76 T 67 ModelSim Tutorial T 68 Lesson 6 Viewing simulations in the Wave window Introduction The Wave window allows you to view the results of your simulation as HDL waveforms and their values The Wave window is divided into a number of window panes Figure 47 All window panes in the Wave window can be resized by clicking and dragging the bar between any two panes Related reading ModelSim GUI Reference Wave window GR 217 ModelSim User s Manual Chapter 8 WLF files datasets and virtuals UM 225 ModelSim Tutorial Figure 47 The Wave window and its many panes pathname value waveform Ted w
27. ave default File Edit View Insert Format Tools Window sa e x meal Rx Ier aa ee Ex s y 2 B test_ringbuf ring_INST block test_ringbuf ring_INST block test_ringbuf ring_INST bloc 0000100 test_ringbuf ring_INST bloc 4test_ringbuf ring_INST block test_ringbuf ring_INST block test_ringbuf ring_INST block 10000100 ftest_ringbuf ring_INST block 0 test_tingbuf ring_INST block 10000100 test_ringbuf ring_INST block 0 ftest_ringbuf ring_INST block 010110 0100 test_ringbuf ring_INST block 00000 62300 463000 ns IE Ei es 461988 ns to 463241 ns Now 500 us Delta 2 cursor name cursor value cursor Loading a design For the examples in this lesson we have used the design simulated in Lesson 2 Basic simulation 1 Ifyou just finished the previous lesson ModelSim should already be running If not start ModelSim a Type vsim at a UNIX shell prompt or use the ModelSim icon in Windows If the Welcome to ModelSim dialog appears click Close 2 Load the design a Select File gt Change Directory and open the directory you created in Lesson 2 The work library should already exist b Click the icon next to the work library and double click test_counter ModelSim loads the design and adds sim and Files tabs to the Workspace
28. b spram3 mem 00000000000000000000000000101000 00000000000000000000000000101001 00000000000000000000000000101010 00000000000000000000000000101011 00000000000000000000000000101100 00000000000000000000000000101101 00000000000000000000000000101110 00000000000000000000000000101111 00000000000000000000000000110000 3 00000000000000000000000000110001 10 00000000000000000000000000110010 11 00000000000000000000000000110011 12 00000000000000000000000000110100 oO 1 2 3 4 5 6 7 8 il mem mem 1 ram_tb v _mem 2 El y ModelSim Tutorial T 110 Lesson 9 Viewing and initializing memories In this next step you will experiment with loading from both a file and a fill Figure 89 Loading a relocatable memory file pattern You will initialize spram3 with the 250 addresses of data you saved xi previously into the relocatable file reloc mem You will also initialize 50 Instance Name additional address entries with a fill pattern fram_tb spram3 mem ie mr Load Type Address Range 3 Load the ram_tb spram3 mem instance with a relocatable memory pattern ere FA reloc mem and a fill pattern poe ony Addresses in decimal a Right click in the data column of the mem 2 tab and select Load to Both File and Data Start 0 End 300 bring up the Load Memory dialog box Figure 89 3d g m File Load b For Load Type select Both File and Data File Format c For Address Range select Address
29. c Design files for this lesson The ModelSim installation comes with Verilog and VHDL versions of the example design The files are located in the following directories Verilog lt install_dir gt modeltech examples memory verilog VHDL lt install_dir gt modeltech examples memory vhdl This lesson uses the Verilog version for the exercises If you have a VHDL license use the VHDL version instead Related reading ModelSim GUI Reference Memory windows GR 175 ModelSim Command Reference mem display CR 198 mem load CR 201 mem save CR 204 radix CR 243 commands ModelSim Tutorial Compiling and loading the design 1 Create a new directory and copy the tutorial files into it Start by creating a new directory for this exercise in case other users will be working with these lessons Create the directory and copy all files from lt install_dir gt examples memory verilog to the new directory If you have a VHDL license copy the files in lt install_dir gt examples memory vhdl instead Start ModelSim and change to the exercise directory If you just finished the previous lesson ModelSim should already be running If not start ModelSim a Type vsim at a UNIX shell prompt or use the ModelSim icon in Windows If the Welcome to ModelSim dialog appears click Close b Select File gt Change Directory and change to the directory you created in step 1 Create the working library and compile the de
30. creates a new tab in the MDI frame called mem 1 that contains the addresses and data for the spram2 instance Each time you double click a new memory instance in the Workspace a new tab is created for that instance in the MDI frame ModelSim Tutorial Figure 78 Viewing the memories tab in the Main window workspace Workspace M ram_tb sprami mem 4095 M ftam_tb spram2 mem 0 2047 M ram_tb spram3 mem 0 65535 E M ram_tb spramd mem 0 3 M ram_tb dprami mem 0 15 4096 2048 65536 4 16 EE Memories e Figure 79 The mem tab in the MDI pane shows instance ram_tb spram1 mem ram_tb spram1 mem 00000000 00000006 0000000c 00000012 00000018 0000001e 00000024 00000022 00000030 00000036 0000003c 00000042 00000048 XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXX
31. e library Creating the project Linking to the resource library Permanently mapping resource libraries Lesson wrap up T 44 T 44 T 45 T 47 T 48 T 51 T 52 T 43 ModelSim Tutorial T 44 Lesson 4 Working with multiple libraries Introduction In this lesson you will practice working with multiple libraries As discussed in Lesson 1 ModelSim conceptual overview you might have multiple libraries to organize your design to access IP from a third party source or to share common parts between simulations You will start the lesson by creating a resource library that contains the counter design unit Next you will create a project and compile the testbench into it Finally you will link to the library containing the counter and then run the simulation Design files for this lesson The sample design for this lesson is a simple 8 bit binary up counter with an associated testbench The pathnames are as follows Verilog lt install_dir gt modeltech examples counter v and tcounter v VHDL lt install_dir gt modeltech examples counter vhd and tcounter vhd This lesson uses the Verilog files tcounter v and counter v in the examples If you have a VHDL license use tcounter vhd and counter vhd instead Related reading ModelSim User s Manual 3 Design libraries UM 57 ModelSim Tutorial Creating the resource library 1 Create a directory for the resource library Create a new directory called re
32. e to find files specify the file type specify which folder to add the file to and identify whether to leave the file in its current location or to copy it to the project directory b Click Browse c Open the examples directory in your ModelSim installation tree d Verilog Select counter v hold the lt Ctrl gt key down and then select tcounter v VHDL Select counter vhd hold the lt Ctrl gt key down and then select tcounter vhd e Click Open and then OK f Click Close to dismiss the Add items to the Project dialog ModelSim Tutorial Figure 15 Adding new items to a project ModelSim File Edit View Format Compile Simulate Add Tools Window Help EL E 22 ob pg a Ep Add items to the Project x Hene m Click on the icon to add items of that type _ N TE Create New File C ModelSim gt M Create Simulation Add Existing File Create New Folder Project test lt No Design Loaded gt lt No Context gt Figure 16 The Add file to Project dialog Tu add file to Project Fle Nate corsa nec evan Wo NE RI OOO 1b counter vfcounter v Browse Add file as type Folder defaut Verilog fies yi Reference from curent location Copy to project directory You should now see two files listed in the Project tab of the Workspace pane Figure 17 Question mark icons in the Status c
33. eltech examples tecl MODEL_TECH vital200 MODEL_TECH ieee MODEL_TECH modelsil MODEL_TECH std a HIMPLICIT WIRE res d HIMPLICITWIRE cIk HINITISLH17 HINITIALH23 INITIALH30 Module Module Process Process Process Process Process counter test_counter test_counter test_counter test_counter test_counter Organizing projects with folders If you have a lot of files to add to a project you may want to organize them in folders You can create folders either before or after adding your files If you create a folder before adding files you can specify in which folder you want a file placed at the time you add the file see Folder field in Figure 16 If you create a folder after adding files you edit the file properties to move it to that folder Adding folders As shown previously in Figure 15 the Add items to the Project dialog has an option for adding folders If you have already closed that dialog you can use a menu command to add a folder 1 Add a new folder a Select File gt Add to Project gt Folder b Type Design Files in the Folder Name field Figure 21 c Click OK You ll now see a folder in the Project tab Figure 22 2 Add a sub folder a Right click anywhere in the Project tab and select Add to Project gt Folder b Type HDL in the Folder Name field Figure 23 c Click the Folder Location drop down arrow and select Design Files d Click OK Organizin
34. es and enter 0 as the Start address and Verilog Hex 3e 300 as the End address fs aie Binary This means that you will be loading the file from 0 to 300 However the 3f reloc mem file contains only 251 addresses of data Addresses 251 to 300 will be loaded with the fill data you specify next Filename reloc mem Browse m Data Load d For File Load enter reloc mem in the Filename field Fill Type e For Data Load select a Fill Type of Increment Value Increment f Inthe Fill Data field set the seed value of 0 for the incrementing data C Decrement Skip 0 word s g Click OK Random s h View the data near address 250 by double clicking on any address in the OK co Address column and entering 250 ne You can see the specified range of addresses overwritten with the new data Also Figure 90 Overwritten values in memory instance you can see the incrementing data beginning at address 251 Figure 90 Now before you leave this section go ahead and clear the instances already being E ram_tb spram3 mem viewed 246 00000000000000000010010000011110 247 00000000000000000010010000011111 248 00000000000000000010010000100000 4 Right click somewhere in the mem 2 pane and select Close All 249 00000000000000000010010000100001 250 00000000000000000010010000100010 251 00000000000000000000000000000000 252 00000000000000000000000000000001 253 00000000000000000000000000000010 254 0000000000000
35. g projects with folders T 39 Figure 21 Adding a new folder to the project fu Add Folder x Folder Name z Files 1b Folder Location E Level x OK Cancel Figure 22 A folder in a project Workspace Name Status Type Order Modiied counter vy Verilog 1 06 03 04 07 36 00 PM tcounter S Verilog 0 06 03 04 07 36 26 PM M Design Files Folder Project Library Figure 23 Creating a subfolder add Folder xj m Folder Name HDL m Folder Location Design Files ro Top Level m incel 2c ModelSim Tutorial T 40 Lesson 3 ModelSim projects Yov ll now see a icon next to the Design Files folder in the Project tab Figure 24 e Click the icon to see the HDL sub folder Moving files to folders If you don t place files into a folder when you first add the files to the project you can move them into a folder using the properties dialog 1 Move tcounter v and counter v to the HDL folder a Select counter v hold the lt Ctrl gt key down and then select tcounter v b Right click either file and select Properties This opens the Project Compiler Settings dialog Figure 25 which lets you set a variety of options on your design files c Click the Place In Folder drop down arrow and select HDL d Click OK The two files are moved into the HDL folder Click the icons on the folders to see the files The files are now marked with a
36. iew Topics The following topics are covered in this chapter Introduction Basic simulation flow TE Creating the working library Compiling your design Running the simulation Debugging your results Project flow Multiple library flow Debugging tools T 14 T 15 T 15 T 15 T 15 T 16 T 17 T 18 T 19 ModelSim Tutorial T 14 Lesson 1 ModelSim conceptual overview Introduction ModelSim is a simulation and debugging tool for VHDL Verilog and mixed language designs This lesson provides a brief conceptual overview of the ModelSim simulation environment It is divided into four topics which you will learn more about in subsequent lessons Topic Additional information and practice Basic simulation flow Lesson 2 Basic simulation Project flow Lesson 3 ModelSim projects Multiple library flow Lesson 4 Working with multiple libraries Debugging tools Remaining lessons ModelSim Tutorial Basic simulation flow T 15 Basic simulation flow The following diagram shows the basic steps for simulating a design in ModelSim Creating the working library In ModelSim all designs be they VHDL Verilog or some combination thereof are compiled into a library You typically start a new simulation in ModelSim by creating a working library called work Work is the library name used by the compiler as the default destination for compiled design units Compiling your design After
37. ifically close them ModelSim Tutorial T 18 Lesson 1 ModelSim conceptual overview Multiple library flow ModelSim uses libraries in two ways 1 as a local working library that contains the compiled version of your design 2 as a resource library The contents of your working library will change as you update your design and recompile A resource library is typically static and serves as a parts source for your design You can create your own resource libraries or they may be supplied by another design team or a third party e g a silicon vendor You specify which resource libraries will be used when the design is compiled and there are rules to specify in which order they are searched A common example of using both a working library and a resource library is one where your gate level design and testbench are compiled into the working library and the design references gate level models in a separate resource library The diagram below shows the basic steps for simulating with multiple libraries You can also link to resource libraries from within a project If you are using a project you would replace the first step above with these two steps create the project and add the testbench to the project ModelSim Tutorial Debugging tools T 19 Debugging tools ModelSim offers numerous tools for debugging and analyzing your design Several of these tools are covered in subsequent lessons including e Setting breakpoints and ste
38. iles simply by leaving out the ne Compress address information Relocatable memory files can be loaded anywhere in a MTI memory because no addresses are specified M Address Radix Data Radix C p pe 2 Save a relocatable memory pattern file from the ram_tb spram2 mem een ee instance Decimal Binary a Select the mem 1 tab in the MDI pane to see the data for the ram_tb s DE spram2 mem instance 1c td Decimal b Right click on the memory contents to open a popup menu and select Unsigned Properties Hexadecimal c Inthe Properties dialog set the Address Radix to Decimal and the Data Radix to Binary Click OK to accept the changes and close the dialog File S d Select File gt Save to bring up the Save Memory dialog box is e Specify a Start address of 0 and End address of 250 eee Em Browse f For Address Radix select Decimal and for Data Radix select Binary ok Ea g Click No addresses to create a memory pattern that you can use to relocate somewhere else in the memory or in another memory Te h Enter the file name as reloc mem then click OK to save the memory contents and close the dialog ModelSim Tutorial You will use this file for initialization in the next section Initializing a memory In ModelSim it is possible to initialize a memory using one of three methods from a saved memory file from a fill pattern or from both First let s initialize a memory from a file onl
39. im in command line mode We use the term command line mode to refer to simulations that are run from a DOS UNIX prompt without invoking the GUI Several ModelSim commands e g vsim vlib vlog etc are actually stand alone executables that can be invoked at the system command prompt Additionally you can create a DO file that contains other ModelSim commands and specify that file when you invoke the simulator 1 Create a new directory and copy the tutorial files into it Start by creating a new directory for this exercise Create the directory and copy these files into it lt install_dir gt modeltech examples counter v e lt install_dir gt modeltech examples stim do We have used the Verilog file counter v in this example If you have a VHDL license use counter vhd instead 2 Create a new design library and compile the source file Again enter these commands at a DOS UNIX prompt in the new directory you created in step 1 a Type vlib work at the DOS UNIX prompt b For Verilog type vlog counter v at the DOS UNIX prompt For VHDL type vcom counter vhd Running ModelSim in command line mode T 163 ModelSim Tutorial T 164 3 Lesson 14 Automating ModelSim Create a DO file a b Open a text editor Type the following lines into a new file list all signals in decimal format add list decimal read in stimulus do stim do output results write list counter lst quit the simulati
40. ing 33 compiling your design 11 21 cursors Wave window 54 D design library working type 14 DO files 73 documentation 7 E error messages more information 44 external libraries linking to 44 F folders in projects 35 format saving for Wave window 57 L libraries design library types 14 linking to external libraries 44 mapping to permanently 47 resource libraries 14 working libraries 14 working creating 19 linking to external libraries 44 M macros 73 manuals 7 mapping libraries permanently 47 memories changing values 69 initializing 67 viewing 59 memory contents saving to a file 66 Memory window 59 N NumericStd warnings disabling 61 O options simulation 37 ModelSim Tutorial T 84 Index P projects 29 adding items to 32 creating 31 flow overview 13 organizing with folders 35 simulation configurations 37 Q quit command 44 R radix command 62 run all 24 run command 23 S saving simulation options 37 simulation basic flow overview 11 restarting 25 running 23 simulation configurations 37 stepping after a breakpoint 26 T Tcl using in ModelSim 80 time measuring in Wave window 54 V ModelSim Tutorial vcom command 61 verror command 44 vlib command 61 vlog command 61 vsim command 19 W Wave window 49 adding items to 52 cursors 54 measuring time with cursors 54 saving format 57 zooming 53 working library creating 11 19 Z zooming Wa
41. ing Tcl with ModelSim Lesson Wrap up T 160 T 160 T 161 T 163 T 166 T 168 T 159 ModelSim Tutorial T 160 Lesson 14 Automating ModelSim Introduction Aside from executing a couple of pre existing DO files the previous lessons focused on using ModelSim in interactive mode executing single commands one after another via the GUI menus or Main window command line In situations where you have repetitive tasks to complete you can increase your productivity with DO files DO files are scripts that allow you to execute many commands at once The scripts can be as simple as a series of ModelSim commands with associated arguments or they can be full blown Tcl programs with variables conditional execution and so forth You can execute DO files from within the GUI or you can run them from the system command prompt without ever invoking the GUI A Important This lesson assumes that you have added the lt install_dir gt modeltech lt platform gt directory to your PATH If you did not you will need to specify full paths to the tools i e vlib vmap vlog vcom and vsim that are used in the lesson Related reading ModelSim User s Manual 20 Tcl and macros DO files UM 225 Practical Programming in Tcl and Tk Brent B Welch Copyright 1997 ModelSim Tutorial Creating a simple DO file Creating DO files is as simple as typing the commands in a text file Alternatively you can save the Main window
42. le modelsim ini URL vital uuu ModelSim gt wm title ModelSim Librar vlib work When you pressed OK in step c above several lines were printed to the Main modek ib Ti vmap work work window Transcript pane Copying C Modeltech 6 0 win32 mo PE std Library delsim ini to modelsim ini vlib work std_developerskit Library Modifying modelsim ini Hil synopsys Library Warming Copied C Modeltech 6 0 w vmap work work k piel ite Phere in32 modelsim ini to modelsim ini Copying C modeltech win32 modelsim ini to modelsim ini ke di fo eee Updated modelsim ini Modifying modelsim ini Warning Copied C modeltech win32 modelsim ini to Library ModelSim gt modelsim ini bu Updated modelsim ini lt No Design Loaded gt The first two lines are the command line equivalent of the menu commands you invoked Many menu driven functions will echo their command line equivalents in this fashion The other lines notify you that the mapping has been recorded in a local ModelSim initialization file ModelSim Tutorial Compiling the design With the working library created you are ready to compile your source files You can compile by using the menus and dialogs of the graphic interface as in the Verilog example below or by entering a command at the ModelSim gt prompt 1 Compile counter v and fcounter v a Select Compile gt Compile This opens the Compile Source Fi
43. les dialog Figure 4 If the Compile menu option is not available you probably have a project open If so close the project by selecting File gt Close when the Workspace pane is selected b Select counter v hold the lt Ctrl gt key down and then select tcounter v c With the two files selected click Compile The files are compiled into the work library d Click Done 2 View the compiled design units a On the Library tab click the icon next to the work library and you will see two design units Figure 5 You can also see their types Modules Entities etc and the path to the underlying source files scroll to the right if necessary Compiling the design T 21 Figure 4 The Compile HDL Source Files dialog Library pok Look in O tutorial e ce e counter tcounter File name tcounter yv counter v Files of type HDL Files Cv vhd vhdl vho hdl v Done Default Options Edit Source Figure 5 Verilog modules compiled into the work library jy Modelsim File Edit View Format Compile Simulate Add Tools Window Help Top level modules test_counter vlog reportprogress 300 work work C 6 0 Tutorial examples counter w Model Technology ModelSim SE vlog 6 0 Beta Compiler 2004 06 Jun 4 2004 Compiling module counter Library iEn counter Module i test_counter Module ieee Library modelsim_lib Library std Library
44. mpile the files a Right click anywhere in the Project tab and select Compile gt Compile All from the pop up menu ModelSim compiles both files and changes the symbol in the Status column to a check mark A check mark means the compile succeeded If the compile had failed the symbol would be a red X and you would see an error message in the Transcript pane View the design units Click the Library tab in the workspace Click the icon next to the work library You should see two compiled design units their types modules in this case and the path to the underlying source files Figure 19 Load the test_counter design unit a Double click the test_counter design unit You should see a new tab named sim that displays the structure of the test_counter design unit Figure 20 A fourth tab named Files contains information about the underlying source files At this point you would generally run the simulation and analyze or debug your design like you did in the previous lesson For now you ll continue working with the project However first you need to end the simulation that started when you loaded test_counter 4 End the simulation a b Select Simulate gt End Simulation Click Yes ModelSim Tutorial Figure 19 The Library tab with an expanded library std Library Module Module Library Library Library Library C modeltech examples wol C modeltech examples coi C mod
45. nd select tcounter v Click Open and then OK Click Close to dismiss the Add items to the Project dialog The tcounter v file is listed in the Project tab of the Main window Compile the testbench a Right click tcounter v and select Compile gt Compile Selected Creating the project T 47 ModelSim Tutorial T 48 Lesson 4 Working with multiple libraries Linking to the resource library To wrap up this part of the lesson you will link to the parts_lib library you created earlier But first try simulating the testbench without the link and see what happens ModelSim responds differently for Verilog and VHDL in this situation Verilog 1 Simulate a Verilog design with a missing resource library a VHDL In the Library tab click the icon next to the work library and double click test_counter The Main window Transcript reports an error Figure 31 When you see a message that contains text like Error vsim 3033 you can view more detail by using the verror command Type verror 3033 at the ModelSim gt prompt The expanded error message tells you that a design unit could not be found for instantiation It also tells you that the original error message should list which libraries ModelSim searched In this case the original message says ModelSim searched only work 1 Simulate a VHDL design with a missing resource library a In the Library tab click the icon next to the work libra
46. new cursor and delete the text Type B and press Enter d Drag cursor B and watch the interval measurement change dynamically Figure 53 ni ModelSim Tutorial T 74 Lesson 6 Viewing simulations in the Wave window 2 Lock cursor B Figure 54 A locked cursor in the Wave window a Right click cursor B in the cursor pane and select Lock B Tiwave default p lolx File Edit View Insert Format Tools Window The cursor color changes to red and you can no longer drag the cursor Figure 54 SUSE seen rarer awiagams le Nasal taf Me Se am GF 4 test_counter clk a Right click cursor B and select Delete B 4 itest_counter teset 3 Delete cursor B SA eos sie EE TEE ee E z y f Ons to 420 ns Now 400 ns Delta 2 ModelSim Tutorial Saving the window format If you close the Wave window any configurations you made to the window e g signals added cursors set etc are discarded However you can use the Save Format command to capture the current Wave window display and signal preferences to a DO file You open the DO file later to recreate the Wave window as it appeared when the file was created Format files are design specific use them only with the design you were simulating when they were created 1 Save a format file a b c In the Wave window select File gt Save gt Format Leave the file name set to wave do and click OK Close the Wave window
47. nstance to the Wave window c Drag a signal from the Objects pane to the Wave window d Inthe Wave window select Edit gt Select All and then Edit gt Delete 4 Add objects using a command a Type add wave at the VSIM gt prompt ModelSim adds all objects from the current region b Run the simulation for awhile so you can see waveforms ModelSim Tutorial Zooming the waveform display T 71 Zooming the wavefo rm d isplay Figure 49 Zooming in with the mouse pointer wave default R 10 x Zooming lets you change the display range in the waveform pane There are File Edit View Insert Format Tools Window numerous methods for zooming the display 1 Zoom the display using various techniques test_counter clk dtest_counter reset test_counter count EL b In the waveform pane click and drag down and to the right a Click the Zoom Mode icon on the Wave window toolbar You should see blue vertical lines and numbers defining an area to zoom in Figure 49 c Select View gt Zoom gt Zoom Last The waveform pane returns to the previous display range mi d Click the Zoom In 2x icon a few times e In the waveform pane click and drag up and to the right You should see a blue line and numbers defining an area to zoom out Figure 50 4 jtest_counter clk 4 jtest_counter reset fe Es countercount fassas 00 0000011000000111 1000D ocra NNNATANT YANN NA
48. oal ModelSim Tutorial Technical support and updates T 9 Technical support and updates Support Model Technology online and email technical support options maintenance renewal and links to international support contacts www model com support default asp Mentor Graphics support www mentor com supportnet Updates Access to the most current version of ModelSim www model com downloads default asp Latest version email Place your name on our list for email notification of news and updates www model com products informant asp ModelSim Tutorial T 10 Introduction Before you begin Preparation for some of the lessons leaves certain details up to you You will decide the best way to create directories copy files and execute programs within your operating system When you are operating the simulator within ModelSim s GUL the interface is consistent for all platforms Example designs ModelSim comes with Verilog and VHDL versions of the designs used in these lessons This allows you to do the tutorial regardless of which license type you have Though we have tried to minimize the differences between the Verilog and VHDL versions we could not do so in all cases In cases where the designs differ e g line numbers or syntax you will find language specific instructions Follow the instructions that are appropriate for the language that you are using ModelSim Tutorial Lesson 1 ModelSim conceptual overv
49. olumn mean the file hasn t been compiled or the source file has changed since the last successful compile The other columns identify file type e g Verilog or VHDL compilation order and modified date Changing compile order VHDL Compilation order is important in VHDL designs Follow these steps to change compilation order within a project 1 Change the compile order a Select Compile gt Compile Order This opens the Compile Order dialog box Figure 18 b Click the Auto Generate button ModelSim determines the compile order by making multiple passes over the files It starts compiling from the top if a file fails to compile due to dependencies it moves that file to the bottom and then recompiles it after compiling the rest of the files It continues in this manner until all files compile successfully or until a file s can t be compiled for reasons other than dependency Alternatively you can select a file and use the Move Up and Move Down buttons to put the files in the correct order c Click OK to close the Compile Order dialog Creating a new project T 37 Figure 17 Newly added project files display a for status jv Modelsim File Edit View Format Compile Simulate Add Tools Window Help counter y Verilog 1 11 29 04 07 33 30 tcounter w Verilog O 11729704 07 33 30 move up down buttons ModelSim Tutorial T 38 Lesson 3 ModelSim projects Compiling and loading a design 1 Co
50. on quit f Save the file with the name sim do and place it in the current directory 4 Run the batch mode simulation 5 a Type vsim c do sim do counter wlf counter wlf at the DOS UNIX prompt The c argument instructs ModelSim not to invoke the GUI The wlf argument saves the simulation results in a WLF file This allows you to view the simulation results in the GUI for debugging purposes View the list output a Open counter st and view the simulation results ns counter count delta counter clk counter reset 0 0 x z L 0 0 z 50 0 O0 100 0 00 100 1 000 150 0 0 0 151 0 1 g 200 0 1 0 0 250 0 p ModelSim Tutorial This is the output produced by the Verilog version of the design It may appear slightly different if you used the VHDL version View the results in the GUL Since you saved the simulation results in counter wlf you can view them in the GUI by invoking VSIM with the view argument a Type vsim view counter wlf at the DOS UNIX prompt The GUI opens and a dataset tab named counter is displayed in the Workspace Figure 136 b Right click the counter instance and select Add gt Add to Wave The waveforms display in the Wave window When you finish viewing the results select File gt Quit to close ModelSim Running ModelSim in command line mode T 165 Figure 136 A dataset in the Main window Workspace M counter counter Module Eka rm amp counter
51. ounter File C 6 0 Tutorial testbench tcounter vhd VSIM 9 gt y The process for linking to a resource library differs between Verilog and VHDL If you are using Verilog follow the steps in Linking in Verilog T 49 If you are using VHDL follow the steps in Linking in VHDL T 50 one page later Linking in Verilog Linking in Verilog requires that you specify a search library when you invoke the simulator 1 Specify a search library during simulation a Click the Simulate icon on the Main window toolbar b Click the icon next to the work library and select rey test_counter c Click the Libraries tab d Click the Add button next to the Search Libraries field and browse to parts_lib in the first directory you created earlier in the lesson e Click OK The dialog should have parts_lib listed in the Search Libraries field Figure 33 f Click OK The design loads without errors Linking to the resource library T 49 Figure 33 Specifying a search library in the Simulate dialog eStart Simulation Design VHDL Verilog Libraries SDF Others m Search Libraries L C modeltech examples resource_library parts_lib Add Modify Delete m Search Libraries First LF _Add OK Cancel ModelSim Tutorial T 50 Lesson 4 Working with multiple libraries Linking in VHDL To link to a resource library in VHDL you have to crea
52. p with the value Figure 12 e highlight the count variable in the Source window right click it and select Examine from the pop up menu e use the examine command to output the value to the Main window Transcript i e examine count 5 Try out the step commands a Click the Step icon on the Main window toolbar This single steps the debugger Experiment on your own Set and clear breakpoints and use the Step Step Over and Continue Run commands until you feel comfortable with their operation ModelSim Tutorial Figure 12 Resting the mouse pointer on a variable in the Source view 31 32 33 34 35 E C 6 0 Tutorial examples counte 22 for i 4 bO carry 4 bl 46 i lt 7j i it 23 begin 24 increment i val i carry 25 carry val i amp carry 26 end 27 end 28 endfunction 29 30 always posedge clk or posedge reset if reset colant f ftpd reset to count 8 h00 else count renent count ftest_counter dut count i 1e XXXXXXXX JE EEE Figure 13 Values shown in the Objects window Objects count clk reset tpd_reset_to_count 3 tpd_clk_to_count 2 Parameter Internal Parameter Internal MERKRKR Reg Out sto Net stl Net Lesson wrap up T 27 Lesson wrap up This concludes this lesson Before continuing we need to end the current simulation 1 Select Simulate gt End Simulation 2 Click Yes when prompted to confirm that you wish to q
53. pping through the source code e Viewing waveforms and measuring time e Viewing and initializing memories ModelSim Tutorial T 20 Lesson 1 ModelSim conceptual overview ModelSim Tutorial Lesson 2 Basic simulation Topics The following topics are covered in this lesson Introduction Design files for this lesson Related reading Creating the working design library Compiling the design Loading the design into the simulator Running the simulation Setting breakpoints and stepping in the Source window Lesson wrap up T 18 T 18 T 18 T 19 T 21 T 22 T 23 T 25 T 27 T 17 ModelSim Tutorial T 18 Lesson 2 Basic simulation Introduction In this lesson you will go step by step through the basic simulation flow Design files for this lesson The sample design for this lesson is a simple 8 bit binary up counter with an associated testbench The pathnames are as follows Verilog lt install_dir gt modeltech examples counter v and tcounter v VHDL lt install_dir gt modeltech examples counter vhd and tcounter vhd This lesson uses the Verilog files counter v and tcounter v in the examples If you have a VHDL license use counter vhd and tcounter vhd instead Or if you have a mixed license feel free to use the Verilog testbench with the VHDL counter or vice versa Related reading ModelSim User s Manual Chapter 3 Design libraries UM 47 Chapter 5 Verilog simulation UM 9
54. ry and double click test_counter The Main window Transcript reports a warning Figure 32 When you see a message that contains text like Warning vsim 3473 you can view more detail by using the verror command Type verror 3473 at the ModelSim gt prompt The expanded error message tells you that a component dut in this case has not been explicitly bound and no default binding can be found Type quit sim to quit the simulation ModelSim Tutorial Figure 31 Verilog simulation error reported in the Main window Transcript Top level modules counter cd C 6 0 Tutorial testbench Loading project counter Compile of tcounter v was successful ModelSim gt vsim work test_counter vsim work test_counter Loading work test_counter Error vsim 3033 C 6 0 Tutorial testbench tcounter v 9 Instantiation of counter failed The design unit was not found Region test_counter Searched libraries work Error loading design ModelSim gt Figure 32 VHDL simulation warning reported in Main window Transcript cd C 6 0 Tutorial testbench Loading project counter Compile of tcounter vhd was successful ModelSim gt vsim work test_counter vsim work test_counter Loading C Modeltech 6 0 win32 std standard Loading work test_counter only Warning vsim 3473 Component dut is not bound Time Ons Iteration 0 Region test_c
55. sign a Type vlib work at the ModelSim gt prompt b Verilog Type vlog sp_syn_ram v dp_syn_ram v ram_tb v at the ModelSim gt prompt VHDL Type vcom 93 sp_syn_ram vhd dp_syn_ram vhd ram_tb vhd at the ModelSim gt prompt Load the design a On the Library tab of the Main window Workspace click the icon next to the work library b Double click the ram_tb design unit to load the design Compiling and loading the design T 103 ModelSim Tutorial T 104 Lesson 9 Viewing and initializing memories Viewing a memory Memories can be viewed via the ModelSim GUI 1 Open a Memory instance a Select View gt Debug Windows gt Memory The Memories tab opens in the Workspace pane Figure 78 and lists the memories in the current design context ram_tb with the range depth and width of each memory VHDL The radix for enumerated types is Symbolic To change the radix to binary for the purposes of this lesson type the following command at the vsim prompt VSIM gt radix bin Double click the ram_tb spraml mem instance in the memories list to view its contents A mem tab is created in the MDI frame to display the memory contents The data are all X 0 in VHDL since you have not yet simulated the design The first column blue hex characters lists the addresses Figure 79 and the remaining columns show the data values Double click instance ram_tb spram2 mem in the Memories tab of the Workspace This
56. source_library Copy counter v from lt install_dir gt modeltech examples to the new directory Create a directory for the testbench Create a new directory called testbench that will hold the testbench and project files Copy tcounter v from lt install_dir gt modeltech examples to the new directory You are creating two directories in this lesson to mimic the situation where you receive a resource library from a third party As noted earlier we will link to the resource library in the first directory later in the lesson Start ModelSim and change to the exercise directory If you just finished the previous lesson ModelSim should already be running If not start ModelSim a Type vsim at a UNIX shell prompt or use the ModelSim icon in Windows If the Welcome to ModelSim dialog appears click Close b Select File gt Change Directory and change to the resource_library directory you created in step 1 Create the resource library a Select File gt New gt Library b Type parts_lib in the Library Name field Figure 29 The Library Physical Name field is filled out automatically Once you click OK ModelSim creates a directory for the library lists it in the Library tab of the Workspace and modifies the modelsim ini file to record this new library for the future Creating the resource library T 45 Figure 29 Creating the new resource library Create a New Library E F Create C a map to an existing librar
57. t click anywhere in address column and select Goto Figure 83 4 00101100 5 00101101 The Goto dialog box opens in the data pane 6 00101110 7 00101111 b Type 30 in the dialog box 8 00110000 00110001 c Click OK 00110010 00110011 00110100 AMIIN The requested address appears in the top line of the window 4 mem mem 1 ram_tb v Figure 83 The Goto dialog box Z ram_tb spram mem 00101000 00101001 00101010 00101011 amine v Goto Memory x 00101101 Goto Address 00101110 00101111 00110000 00110001 00110010 00110011 00110100 JNF 40 J OM in amp GO NN k la ModelSim Tutorial Edit the address location directly To quickly move to a particular address do the following a Double click any address in the address column b Enter any desired address Figure 84 c Press lt Enter gt on your keyboard The pane scrolls to that address Now let s find a particular data entry a Right click anywhere in the data column and select Find The Find in dialog box opens Figure 85 b Type 11111010 in the Find data field and click Find Next The data scrolls to the first occurrence of that address Click Find Next a few more times to search through the list c Click Close to close the dialog box Viewing a memory T 107 Figure 84 Edit the address directly E ram_tb spram1 mem 30 01000110 31 01000111 32 01001000 33 01001001 34 01001010 35 01001
58. te a logical mapping to the physical library and then add LIBRARY and USE statements to the source file 1 Create a logical mapping to parts_lib a b c Select File gt New gt Library In the Create a New Library dialog select a map to an existing library Type parts_lib in the Library Name field Click Browse to open the Select Library dialog and browse to parts_lib in the resource_library directory you created earlier in the lesson Click OK to select the library and close the Select Library dialog The Create a New Library dialog should look similar to the one shown in Figure 34 Click OK to close the dialog 2 Add LIBRARY and USE statements to tcounter vhd a In the Library tab of the Main window click the icon next to the work library Right click test_counter in the work library and select Edit This opens the file in the Source window Right click in the Source window and uncheck Read Only Add these two lines to the top of the file LIBRARY parts_lib USE parts_lib ALL The testbench source code should now look similar to that shown in Figure 35 Select File gt Save 3 Recompile and simulate a In the Project tab of the Workspace right click tcounter vhd and select Compile gt Compile Selected In the Library tab double click test_counter to load the design The design loads without errors ModelSim Tutorial Figure 34 Mapping to the parts_lib library fu Create a Ne
59. to indicate a product from or associated with a particular third party A current list of Mentor Graphics trademarks may be viewed at www mentor com terms_conditions trademarks cfm ModelSim Tutorial Table of Contents OND fare peso eg toe ee ne a e de ha de ce 0 T 5 Lesson 1 ModelSim conceptual overview T 9 Lesson 2 Basic simulation 24 ees deu bb ee eee eee sd cee es es T 17 Lesson 3 ModelSim projects T 29 Lesson 4 Working with multiple libraries T 39 Lesson 5 Viewing simulations in the Wave window T 49 Lesson 6 Viewing and initializing memories T 59 Lesson 7 Automating ModelSim T 73 T 83 a T 89 T 3 ModelSim Tutorial T 4 ModelSim Tutorial Introduction Topics The following topics are covered in this chapter Assumptions Before you begin Example designs T 8 T 11 T 11 ModelSim Tutorial T 8 Introduction Assumptions We assume that you are familiar with the use of your operating system If you are not familiar with Microsoft Windows we recommend that you work through the tutorials provided with MS Windows before using ModelSim We also assume that you have a working knowledge of VHDL and or Verilog Although ModelSim is an excellent tool to use while learning HDL concepts and practices this document is not written to support that g
60. transcript as a DO file In this exercise you will use the transcript to create a DO file that adds signals to the Wave window provides stimulus to those signals and then advances the simulation 1 Load the test_counter design unit a b c If necessary start ModelSim Change to the directory you created in Lesson 2 Basic simulation In the Library tab of the Workspace pane double click the test_counter design unit to load it 2 Enter commands to add signals to the Wave window force signals and run the simulation a a Select File gt New gt Source gt Do to create a new DO file Enter the following commands into the source window add wave count add wave clk add wave reset force freeze clk 0 0 1 50 ns r 100 force reset 1 run 100 force reset 0 run 300 force reset 1 run 400 force reset 0 run 200 3 Save the file a b Select File gt Save As Type sim do in the File name field and save it to the current directory Creating a simple DO file T 161 ModelSim Tutorial T 162 Lesson 14 Automating ModelSim 4 Load the simulation again and use the DO file a Type quit sim at the VSIM gt prompt b Type vsim test_counter at the ModelSim gt prompt c Type do sim do at the VSIM gt prompt ModelSim executes the saved commands and draws the waves in the Wave window 5 When you are done with this exercise select File gt Quit to quit ModelSim ModelSim Tutorial Running ModelS
61. uit simulating ModelSim Tutorial T 28 Lesson 2 Basic simulation ModelSim Tutorial Lesson 3 ModelSim projects Topics The following topics are covered in this lesson Introduction Related reading Creating anew project Adding objects to the project Changing compile order VHDL Compiling and loading a design Organizing projects with folders Adding folders Moving files to folders Simulation Configurations Lesson wrap up T 34 T 34 T 35 T 36 T 37 T 38 T 39 T 39 T 40 T 41 T 42 T 33 ModelSim Tutorial T 34 Lesson 3 ModelSim projects Introduction In this lesson you will practice creating a project At a minimum projects have a work library and a session state that is stored in a mpf file A project may also consist of e HDL source files or references to source files e other files such as READMEs or other project documentation e local libraries e references to global libraries This lesson uses the Verilog files tcounter v and counter v in the examples If you have a VHDL license use tcounter vhd and counter vhd instead Related reading ModelSim User s Manual Chapter 2 Projects UM 37 ModelSim Tutorial Creating a new project 1 If you just finished the previous lesson ModelSim should already be running If not start ModelSim a Type vsim at a UNIX shell prompt or use the ModelSim icon in Windows Create a new project a Select
62. ve window 53
63. w Library Create anew library and a logical mapping to it a map to an existing library Library Name parts_lib Library Maps to x Tutorial resource_library parts_ yi Browse OK Cancel Figure 35 Adding LIBRARY and USE statements to the testbench H C modeltech examples testbench tcounter vhd 3 4 All Rights Reserved 5 penen 6 THIS WORK CONTAINS TRADE SECRET AND PROPRI 7 MENTOR GRAPHICS CORPORATION OR ITS LICENS 8 9 10 LIBRARY parts_lib 11 USE parts_lib ALL 12 13 entity test_counter is 14 PORT count BUFFER bit_vector 8 downt el eee H tcounter vhd Permanently mapping resource libraries If you reference particular resource libraries in every project or simulation you may want to permanently map the libraries Doing this requires that you edit the master modelsim ini file in the installation directory Though you won t actually practice it in this tutorial here are the steps for editing the file 1 Locate the modelsim ini file in the ModelSim installation directory lt install_dir gt modeltech nodelsim ini 2 IMPORTANT Make a backup copy of the file 3 Change the file attributes of modelsim ini so it is no longer read only 4 Open the file and enter your library mappings in the Library section For example parts_lib C libraries parts_lib 5 Save the file 6 Change the file attributes so the file is read only
64. y anew library and a logical mapping to it m Library Name parts_li m Library Physical Name parts_lib OK Cancel ModelSim Tutorial T 46 Lesson 4 Working with multiple libraries 5 Compile the counter into the resource library a Click the Compile icon on the Main window toolbar b Selectthe parts_lib library from the Library list Figure 30 c Double click counter v to compile it d Click Done You now have a resource library containing a compiled version of the counter design unit 6 Change to the testbench directory a Select File gt Change Directory and change to the testbench directory you created in step 2 ModelSim Tutorial Figure 30 Compiling into the resource library 2x Library parts ib 5b Look in CD resource_library e 0 ce File name counter v Files of type HDL Files v vl vhd vhdl vho hdl v Done Default Options Edit Source Creating the project Now you will create a project that contains fcounter v the counter s testbench 1 Create the project a b c d Select File gt New gt Project Type counter in the Project Name field Click OK If a dialog appears asking about which modelsim ini file to use click Use Default Ini Add the testbench to the project a b c d Click Add Existing File in the Add items to the Project dialog Click the Browse button a
65. y You will use one you saved previously data_mem mem 1 View instance ram_tb spram3 mem a Double click the ram_tb spram3 mem instance in the Memories tab This will open a new tab mem 2 in the MDI frame to display the contents of ram_tb spram3 mem Scan these contents so you can identify changes once the initialization is complete Right click and select Properties to bring up the Properties dialog Change the Address Radix to Decimal and Data Radix to Binary and click OK 2 Initialize spram3 from a file a b c Right click anywhere in the data column and select Load to bring up the Load Memory dialog box Figure 87 The default Load Type is File Only Type data_mem mem in the Filename field Click OK The addresses in instance ram_tb spram3 mem are updated with the data from data_mem mem Figure 88 Initializing a memory T 109 Figure 87 Load Memory dialog box jj Load Memory m Instance Name ram_tb spram3 mem m Load Type Address Range File Only All Data Only Addresses in decimal Both File and Data Start fo End 165535 File Load File Format C Verilog Hex Verilog Binary MTI Filename data_mem mem Browse m Data Load Fill Type Fill Data Value C Increment C Decrement Skip Random fo word s n Figure 88 Initialized memory from file and fill pat Caneel tern 2
66. ze the windows to your liking Panes within the Main window can be undocked to stand alone 2 Add signals to the Wave window a b c In the Workspace pane select the sim tab Right click test_counter to open a popup context menu Select Add gt Add to Wave Figure 8 Three signals are added to the Wave window 3 Run the simulation a Click the Run icon in the Main or Wave window toolbar The simulation runs for 100 ns the default simulation length El and waves are drawn in the Wave window Type run 500 at the VSIM gt prompt in the Main window The simulation advances another 500 ns for a total of 600 ns Figure 9 Running the simulation T 23 Figure 8 Adding signals to the Wave window fu Modelsim File Edit Yiew Format Compile Simulate Add Tools Window Help Objects A xX f Name Value ck T 4 A 5 a Add to Wave H A Xl Add to Dataflow pE wal Add to List LICIT WIR Wate H of x pal wave de M dut IMPLIC Instantiation fe gt I INITIALES Ls FINITIAL HINITIAL Copy Find View Declaration Create Wave Expand Selected i 4 5 Collapse Selected nN Library amp Epandal h tcounte _ Collapse All Transcript Loading work cout Save List view 4 test_counter clk test_counter reset EA test_counter count OO TA 4 ih tcounter v
Download Pdf Manuals
Related Search
Related Contents
WS8471 - FuturaShop ASSALE - AXLE Mod. 26.28M FR User Manual Frigidaire FAD301NWD Product Specifications Sheet LaVie Gシリーズをご購入いただいたお客様へ 仕様書(PDF:166KB) Samsung WT13S2P User Manual Copyright © All rights reserved.
Failed to retrieve file