[logo] 
Home
News
Activity
About/Contact
 Major Tools
 .. BugVise
 .. Dinotrace
 .. Verilator
 .. Verilog-mode
 .. Verilog-Perl
 .. Vregs
 Other Tools
 .. Gspice
 .. IPC::Locker
 .. Schedule::Load
 .. SVN::S4
 .. Synopsys-modes
 .. SystemPerl
 .. Verilog-Pli
 .. Voneline
 General Info
 .. Book Tips
 .. Papers

Verilog Simulator Benchmarks

Summary

Below are the results from running small Verilog model through several standard simulators.

As with any benchmark mileage varies; this example's performance will not match your design's results. I am not responsible if this data is wrong!

Provisos

Verilator and VTOC are cycle based simulators, while the others are activity driven. If a design is only being clocked, Verilator will perform worse when compared, and vice versa. The example below is between the extremes.

Please run your own experiments! If, and only if, the source code of the benchmark is postable here, and you provide Verilator numbers too, I'll post them here. Otherwise I'll add it to the Other Users section below.

Results

Cycles/Sec OS Simulator
1,128,000 SuSE 9.1 (Free) Verilator 3.463; gcc 3.3.4 -O3 -m64
1,097,000 SuSE 9.1 (Free) Verilator 3.420; gcc 3.3.4 -O3 -m64
984,000 SuSE 9.1 (Free) Verilator 3.311; gcc 3.3.4 -O2
950,000 Redhat ES3 (Free) Verilator; gcc 3.2.3 -O2
794,000 SuSE 9.1 Cadence NC-Verilog 5.40-p008
778,000 Redhat ES3 Cadence NC-Verilog 5.40-p004
647,000 SuSE 9.1 Cadence NC-Verilog 5.30-s007
345,000 Redhat ES3 Synopsys VCS 7.1.2 +twostate
311,000 Redhat ES3 Synopsys VCS 7.1.2 +cli -I
57,800 Windows 2000 Veritak 2.20X
11,000 SuSE 9.1 (Free) Icarus Verilog 0.8
9,600 Windows 2000 MXE
7,300 SuSE 9.1 (Free) GPL CVer 2.11a

Software: SuSE 9.1, Kernel 2.6.5-7, GCC 3.3.3 (Note Synopsys does not formally support SuSE.) or, Redhat Enterprise 3, Kernel 2.4.21-20.EL

Hardware: AMD Athlon 64 3000 (2GHz clock), Asus A7V600 Motherboard

Veritak and MXE number were reported by www.sugawara-systems.com on a similar system.

Other Users

Again: As with any benchmark <b>mileage varies; this example's performance will probably not match your results.</b> I am not responsible if this data is wrong!

Other users have reported the following relative performance on their designs: (Note they seem contradictory, as they refer to differing designs.)

  • Verilator is 90x faster than Icarus Verilog.
  • Verilator is 10-40x faster than Modelsim SE.
  • Verilator is 3x faster than NC-Verilog.
  • Verilator is 1.5x faster than VCS.
  • VTOC is 4x faster than Verilator.
  • VTOC is 50x faster than NC-Verilog.
  • VCS is 3x faster than Verilator.
  • VCS is 3x faster than NC-Verilog.
  • VCS is 10x faster than NC-Verilog.
  • VCS is the same speed as NC-Verilog.
  • CVer is the same speed as Icarus Verilog.

Download

The example used for the above tests is a model of the Motorolla M68K processor from www.opencores.org, written by Shawn Tang. Minor changes were made to remove some unnecessary asynchronous paths.

This is not a nicely installed and runnable package; expect some hand edits to get the benchmark working in your environment. This is provided as-is; I'll take patches back, but may not be able to provide help in getting it working.

If anyone would like to add additional benchmarks, they'd be welcome.

verilog-sim-benchmarks-1.010.tgz (31KB, Apr 28 2006)

Also available in: HTML TXT