Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Question about the -novopt option for Modelsim

Status
Not open for further replies.

tenso

Advanced Member level 4
Joined
Feb 18, 2015
Messages
110
Helped
3
Reputation
6
Reaction score
2
Trophy points
1,298
Activity points
2,399
I am using modelsim for the first time and had a question about simulating Verilog files.

https://www.asic-world.com/verilog/first1.html#Counter_Design_Block

I was following the counter example in the link above. When I simulated the above counter testbench, no signals showed up in the Objects window. This simulation was done by checking the "enable optimization" box.

Repeating the simulation with the box unchecked or -novopt did produce the signals in the objects window and I could add them to the waveforms window.

My question was about optimization. What does it exactly do and when does one need it?
 

It makes simulations run faster, but gives you less signal visibility.

So use it when you need your sims to run quicker.
 

You should no longer be using -novopt in your simulations. This switch is being deprecated and will become an error in the next major release of ModelSim/Questa. "vopt" is an optimization step that was introduced over 10 years ago that gives you on average 3-10X performance improvement (with corner cases from nothing to 100X). At that time, those optimizations broke a lot of peoples simulation regression tests because they had race conditions in their design or testbench, so the switch preserved the ordering until you had a chance to fix your code. We should all be past that now, aren't we?

To get visibility for debug, you need to use the various vopt +acc= or vsim -voptargs "+acc= switches. Please see the User Manual for preserving visibility in your design.
 

You should no longer be using -novopt in your simulations. This switch is being deprecated and will become an error in the next major release of ModelSim/Questa. "vopt" is an optimization step that was introduced over 10 years ago that gives you on average 3-10X performance improvement (with corner cases from nothing to 100X). At that time, those optimizations broke a lot of peoples simulation regression tests because they had race conditions in their design or testbench, so the switch preserved the ordering until you had a chance to fix your code. We should all be past that now, aren't we?

To get visibility for debug, you need to use the various vopt +acc= or vsim -voptargs "+acc= switches. Please see the User Manual for preserving visibility in your design.

Thanks for the answer Dave. I left the optimization box checked and then selected optimization options and selected to leave objects visible under the Visibility tab.

As you can guess, I am using the GUI interface and Windows. Can I run Modelsim using powershell if I want to get better acquainted with the command line interface and all the switches?
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top