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.

[SOLVED] Simulation time in simulation tools like ISIM/model sim

Status
Not open for further replies.

mjuneja

Advanced Member level 4
Joined
Aug 28, 2016
Messages
105
Helped
12
Reputation
24
Reaction score
10
Trophy points
18
Location
Bangalore, India
Activity points
674
Hi

I just want to understand one thing that do we have any limitations on the time length for which we can run the simulation in softwares like ISIM (Xilinx) or Model sim (Libero).
Does it depend only on the no. of signals we are tracing in the simulator or the PC RAM as well.

Please share some insights on this.

Thanks

mjuneja
 

There is no time limit on simulations. But how long it takes to run depends on your source code and what signals you are tracing in the wave window (plus also what licence you have as some simulators deliberately degrade performance for cheaper licences).

Ive seen simulations take several hours to run just 1ms of simulation time, and others that take a few minutes for 1s of simulation. It really depends on the design, testbench and other stuff you have going on.
 

Last edited:
Another thing affecting the speed is signals vs variables.
Variables only have immediate value, and so use far less ram and need much less processing, like a variable in C
Signals not only store their current value, but values that need to be set in the future, the time they are updated, plus all of the attributes that change during runtime associated with signals ('event, 'transaction, 'active etc) and so need huge amount of processing.

Wile the UUT should follow best practice and stick to signals, where possible it can be best to use variables and other programming styles (like sparse memory modelling, linked lists, pointers etc). These take a huge processing burden off the CPU. eg, with no UUT in place, I can transfer 16MB of data into and out of a RAM model over AXI4 in seconds (10ms simulation time) in a testbench, written purely in VHDL.
 
Another thing affecting the speed is signals vs variables.
Variables only have immediate value, and so use far less ram and need much less processing, like a variable in C
Signals not only store their current value, but values that need to be set in the future, the time they are updated, plus all of the attributes that change during runtime associated with signals ('event, 'transaction, 'active etc) and so need huge amount of processing.

Wile the UUT should follow best practice and stick to signals, where possible it can be best to use variables and other programming styles (like sparse memory modelling, linked lists, pointers etc). These take a huge processing burden off the CPU. eg, with no UUT in place, I can transfer 16MB of data into and out of a RAM model over AXI4 in seconds (10ms simulation time) in a testbench, written purely in VHDL.

Although I have tried at many places to use variables in place of signals in the test bench, but I am not sure about that whether we can replace the signals, connecting UUT to stimulus with variable or even shared variables.
 

If it is a simple testbench, then you're not going to notice any speed up using variables/signals. It is only going to make a difference in more complicated modelling areas.

If you posted an example, maybe we could help?
 

If it is a simple testbench, then you're not going to notice any speed up using variables/signals. It is only going to make a difference in more complicated modelling areas.

If you posted an example, maybe we could help?

Actually my problem got solved after using "ntrace stop;" and replacing certain signals with variables. In fact I saved lot of RAM while processing and my simulation completed the stipulated run time as well.

But out of curiosity I asked that whether we can replace the signals, connecting UUT to stimulus with variable or even shared variables.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top