EVENT based and CYCLE based

H

Hemanth

Guest
Would you please let me know what is the difference between EVENT based
and CYCLE based simualtions with an example?
 
Hemanth wrote:
Would you please let me know what is the difference between EVENT based
and CYCLE based simualtions with an example?
For definitions, please see wikipedia:

http://en.wikipedia.org/wiki/Logic_simulation

As an example, consider logic path between two flops, containing N
combinational stages.
On the rising edge of clock, event-driven simulator propagates logic
value from the first flop to the last one, and it requires N
computations to update the value for each one of combinational stages.

Cycle-based cimulator, on it's turn, computes value for the memory
elements (flops) only, once per clock cycle. So, it requires single
computation to compute new value for the last flop.

Regards,
-Alex
 
Excellent. Thank you very much Alex.

Alex wrote:
Hemanth wrote:
Would you please let me know what is the difference between EVENT based
and CYCLE based simualtions with an example?

For definitions, please see wikipedia:

http://en.wikipedia.org/wiki/Logic_simulation

As an example, consider logic path between two flops, containing N
combinational stages.
On the rising edge of clock, event-driven simulator propagates logic
value from the first flop to the last one, and it requires N
computations to update the value for each one of combinational stages.

Cycle-based cimulator, on it's turn, computes value for the memory
elements (flops) only, once per clock cycle. So, it requires single
computation to compute new value for the last flop.

Regards,
-Alex
 
Alex wrote:
As an example, consider logic path between two flops, containing N
combinational stages.
On the rising edge of clock, event-driven simulator propagates logic
value from the first flop to the last one, and it requires N
computations to update the value for each one of combinational stages.

Cycle-based cimulator, on it's turn, computes value for the memory
elements (flops) only, once per clock cycle. So, it requires single
computation to compute new value for the last flop.
This description is slanted toward making cycle simulation sound more
efficient. It implies that "N computations" take N times as long as
the "single computation". It ignores the fact that these computations
are not at all the same size. It is one big computation that has to
compute pretty much the same thing as the N smaller computations.

The major difference is that event simulation doesn't have to do all
the N computations. It only has to do the ones where the inputs have
changed. This allows it to do a subset of the computation, but at the
cost of keeping track of which ones have to be done. By contrast,
cycle simulation avoids this overhead, but at the cost of computing the
whole thing. This is a trade-off, and the results depend on how large
of a subset of the computation has to be done each time. When event
density is high, the subset is large, and cycle simulation can perform
better. But in real-world designs, event density is very low, so cycle
simulation has never lived up to its hype.

For a while, cycle simulation had another advantage. Implementing a
cycle simulator takes a fair amount of compiler analysis technology, so
the implementors were also experts in optimization. Implementing event
simulators did not require that kind of expertise, and many early event
simulators used interpreters. But once the same level of compiler
technology and expertise was applied to event simulators, that
advantage disappeared.
 
Check this out
http://digitalelectronics.blogspot.com/2006/08/event-simulation-versus-cycle.html

Joe

Hemanth wrote:
Would you please let me know what is the difference between EVENT based
and CYCLE based simualtions with an example?
 

Welcome to EDABoard.com

Sponsor

Back
Top