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.
![[logo]](/img/veripool_small.gif)