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
111
Helped
3
Reputation
6
Reaction score
2
Trophy points
18
Activity points
1,042
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?
 

jbeniston

Advanced Member level 1
Joined
May 5, 2005
Messages
462
Helped
105
Reputation
212
Reaction score
72
Trophy points
1,308
Activity points
3,364
It makes simulations run faster, but gives you less signal visibility.

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

dave_59

Advanced Member level 3
Joined
Dec 15, 2011
Messages
816
Helped
361
Reputation
726
Reaction score
354
Trophy points
1,353
Location
Fremont, CA, USA
Activity points
6,558
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.
 

tenso

Advanced Member level 4
Joined
Feb 18, 2015
Messages
111
Helped
3
Reputation
6
Reaction score
2
Trophy points
18
Activity points
1,042
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

Top