Increase count of Pi digits to 200

This commit is contained in:
Nikolay Puzanov 2023-06-11 17:54:44 +03:00
parent 97bffac8f0
commit bdb88b358c
3 changed files with 97 additions and 84 deletions

View File

@ -1,7 +1,7 @@
# Простой бенчмарк HDL симуляторов (преранняя версия) # Простой бенчмарк HDL симуляторов (преранняя версия)
Для оценки скорости запускается симуляция софт-процессора Для оценки скорости запускается симуляция софт-процессора
[PicoRV32](https://github.com/YosysHQ/picorv32) с программой вычисления первых 50 [PicoRV32](https://github.com/YosysHQ/picorv32) с программой вычисления первых 200
знаков числа Пи. знаков числа Пи.
В папке `source` находятся исходники RTL и программы. Верхний модуль - `testbench` с В папке `source` находятся исходники RTL и программы. Верхний модуль - `testbench` с
@ -16,7 +16,7 @@
файл `results.txt`. Можно запустить бунчмарк на одном симуляторе, для чего в файл `results.txt`. Можно запустить бунчмарк на одном симуляторе, для чего в
параметрах скрипта `run.sh` нужно указать папку с бенчмарком. параметрах скрипта `run.sh` нужно указать папку с бенчмарком.
## Результаты ## Результаты для 50 знаков Пи
- Xeon E5-2630v3 @ 2.40GHz - Xeon E5-2630v3 @ 2.40GHz
- Verilator 5.011 devel rev v5.010-98-g15f8ebc56 - Verilator 5.011 devel rev v5.010-98-g15f8ebc56
@ -29,3 +29,16 @@
test-modelsim: 25555 test-modelsim: 25555
test-verilator: 1289 test-verilator: 1289
``` ```
## Результаты для 200 знаков Пи
Вычисление 200 знаков на Icarus Verilog занимает непозволительно много времени, по
этому перед запуском всех бенчмарков рекомендую переименовать папку `test-iverilog` в
`notest-iverilog`.
Результаты для 200 знаков на том же процессоре:
```
test-iverilog: TBD
test-modelsim: 382376
test-verilator: 20816
```

View File

@ -9,32 +9,32 @@ ffc10113
00050593 00050593
00001537 00001537
ff010113 ff010113
c0050513 c0850513
00812423 00812423
00112623 00112623
00001437 00001437
149000ef 151000ef
f7842783 75042783
00400713 00400713
00178793 00178793
f6f42c23 74f42823
00e78a63 00e78a63
00c12083 00c12083
00812403 00812403
01010113 01010113
00008067 00008067
00001537 00001537
c0450513 c0c50513
119000ef 121000ef
00c12083 00c12083
f6042c23 74042823
00812403 00812403
01010113 01010113
00008067 00008067
00001537 00001537
fb010113 fb010113
03200593 0c800593
c0850513 c1050513
03812423 03812423
04112623 04112623
04812423 04812423
@ -48,27 +48,29 @@ c0850513
03912223 03912223
03a12023 03a12023
01b12e23 01b12e23
0bd000ef 0c5000ef
000017b7 000017b7
cdc78c13 00001737
29cc0693 ce478c13
cdc78793 a6c70713
00200713 ce478793
00e7a023 00ec0733
00200693
00d7a023
00478793 00478793
fed79ce3 fee79ce3
00001bb7 00001bb7
03200a13 0c800a13
00012623 00012623
00000993 00000993
00001ab7 00001ab7
00001937 00001937
f74b8b93 74cb8b93
00900c93 00900c93
00400b13 00400b13
000b8d13 000b8d13
14d00493 53500493
0a700413 29b00413
00000d93 00000d93
000d2683 000d2683
000d8593 000d8593
@ -103,11 +105,11 @@ fa0418e3
00a00793 00a00793
0af50e63 0af50e63
00c12583 00c12583
c00a8513 c08a8513
7dc000ef 7dc000ef
f7892783 75092783
00178793 00178793
f6f92c23 74f92823
05678063 05678063
05304863 05304863
00812623 00812623
@ -115,71 +117,71 @@ f6f92c23
fffa0a13 fffa0a13
f40a12e3 f40a12e3
00c12583 00c12583
c00a8513 c08a8513
7ac000ef 7ac000ef
00001537 00001537
c3050513 c3850513
7a0000ef 7a0000ef
010007b7 010007b7
00100713 00100713
00e7a023 00e7a023
0000006f 0000006f
000017b7 000017b7
c0478513 c0c78513
784000ef 784000ef
f6092c23 74092823
fb305ce3 fb305ce3
00000493 00000493
00900593 00900593
c00a8513 c08a8513
76c000ef 76c000ef
f7892783 75092783
00148493 00148493
00178793 00178793
f6f92c23 74f92823
01678a63 01678a63
ff3490e3 ff3490e3
f8dff06f f8dff06f
00198993 00198993
f8dff06f f8dff06f
000017b7 000017b7
c0478513 c0c78513
73c000ef 73c000ef
f6092c23 74092823
fd3490e3 fd3490e3
f6dff06f f6dff06f
00c12783 00c12783
c00a8513 c08a8513
00178593 00178593
720000ef 720000ef
f7892783 75092783
00178793 00178793
f6f92c23 74f92823
05678a63 05678a63
03305663 03305663
00000413 00000413
00000593 00000593
c00a8513 c08a8513
6fc000ef 6fc000ef
f7892783 75092783
00140413 00140413
00178793 00178793
f6f92c23 74f92823
01678a63 01678a63
ff3410e3 ff3410e3
00012623 00012623
00000993 00000993
f1dff06f f1dff06f
000017b7 000017b7
c0478513 c0c78513
6cc000ef 6cc000ef
f6092c23 74092823
fd3410e3 fd3410e3
fe1ff06f fe1ff06f
000017b7 000017b7
c0478513 c0c78513
6b4000ef 6b4000ef
f6092c23 74092823
fa1ff06f fa1ff06f
fe010113 fe010113
00912a23 00912a23
@ -399,7 +401,7 @@ ff877713
06d76e63 06d76e63
00001737 00001737
00269693 00269693
c3870713 c4070713
00e68733 00e68733
00072703 00072703
00070067 00070067
@ -445,7 +447,7 @@ f49ff06f
0a088463 0a088463
fcd51ae3 fcd51ae3
00001b37 00001b37
cbcb0793 cc4b0793
00471713 00471713
16084a63 16084a63
01c10693 01c10693
@ -486,7 +488,7 @@ ce0402e3
dadff06f dadff06f
0ad51463 0ad51463
00001b37 00001b37
cbcb0793 cc4b0793
00471713 00471713
01c10693 01c10693
00e787b3 00e787b3
@ -631,7 +633,7 @@ ffffffb7
00001e37 00001e37
00001637 00001637
ffffcf13 ffffcf13
3c400313 3cc00313
01010e93 01010e93
81060613 81060613
800e0e13 800e0e13
@ -780,39 +782,39 @@ ffc78513
00000a49 00000a49
4e4f440a 4e4f440a
00000a45 00000a45
0000086c 00000874
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
00000854 0000085c
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
00000848 00000850
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
000006b4 000006bc
00000860 00000868
33323130 33323130
37363534 37363534
42413938 42413938
@ -16380,5 +16382,3 @@ ffc78513
00000000 00000000
00000000 00000000
00000000 00000000
00000000
00000000

View File

@ -8,7 +8,7 @@ void put_char(char c)
IO_REG_CONSOLE = c | IO_REG_CONSOLE_SEND; IO_REG_CONSOLE = c | IO_REG_CONSOLE_SEND;
} }
#define N 50 #define N 200
#define CHUNK 4 #define CHUNK 4
#define ARR_LEN (10 * N / 3 + 1) #define ARR_LEN (10 * N / 3 + 1)