Nikolay Puzanov 97bffac8f0 Fix reset
2023-06-11 16:57:06 +03:00
2023-06-11 16:15:40 +03:00
2023-06-11 16:57:06 +03:00
2023-06-11 16:15:40 +03:00
2023-06-11 16:15:40 +03:00
2023-06-11 16:15:40 +03:00
2023-06-11 16:15:40 +03:00
2023-06-11 16:15:24 +03:00
2023-06-11 16:15:40 +03:00

Простой бенчмарк HDL симуляторов (преранняя версия)

Для оценки скорости запускается симуляция софт-процессора PicoRV32 с программой вычисления первых 50 знаков числа Пи.

В папке source находятся исходники RTL и программы. Верхний модуль - testbench с единственным входным сигналом clock. Генерация клока во внешнем модуле сделана для совместимости с верилятором, который не позволяет генерировать клок в верилоге.

В папках test-* находятся скрипты для запуска бенчимарка на конкретном симуляторе. Скрипты называются __build.sh (для сборки проекта) и __run.sh (для запуска симуляции).

Скрипт run.sh запускает бенчмарк на всех симуляторах и сохраняет время исполнения в файл results.txt. Можно запустить бунчмарк на одном симуляторе, для чего в параметрах скрипта run.sh нужно указать папку с бенчмарком.

Результаты

  • Xeon E5-2630v3 @ 2.40GHz
  • Verilator 5.011 devel rev v5.010-98-g15f8ebc56
  • Icarus Verilog 13.0 (devel) (s20221226-127-gdeeac2edf)
  • ModelSim SE-64 2020.4 (Revision: 2020.10)

Время в миллисекундах:

    test-iverilog: 210540
    test-modelsim: 25555
    test-verilator: 1289
Description
Simple HDL simulators benchmark
Readme 142 KiB
Languages
Verilog 45.6%
Scheme 31.6%
C 9.2%
SystemVerilog 7.2%
Shell 3.1%
Other 3.2%