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 симуляторов (преранняя версия)
Для оценки скорости запускается симуляция софт-процессора
[PicoRV32](https://github.com/YosysHQ/picorv32) с программой вычисления первых 50
[PicoRV32](https://github.com/YosysHQ/picorv32) с программой вычисления первых 200
знаков числа Пи.
В папке `source` находятся исходники RTL и программы. Верхний модуль - `testbench` с
@ -16,7 +16,7 @@
файл `results.txt`. Можно запустить бунчмарк на одном симуляторе, для чего в
параметрах скрипта `run.sh` нужно указать папку с бенчмарком.
## Результаты
## Результаты для 50 знаков Пи
- Xeon E5-2630v3 @ 2.40GHz
- Verilator 5.011 devel rev v5.010-98-g15f8ebc56
@ -29,3 +29,16 @@
test-modelsim: 25555
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
00001537
ff010113
c0050513
c0850513
00812423
00112623
00001437
149000ef
f7842783
151000ef
75042783
00400713
00178793
f6f42c23
74f42823
00e78a63
00c12083
00812403
01010113
00008067
00001537
c0450513
119000ef
c0c50513
121000ef
00c12083
f6042c23
74042823
00812403
01010113
00008067
00001537
fb010113
03200593
c0850513
0c800593
c1050513
03812423
04112623
04812423
@ -48,27 +48,29 @@ c0850513
03912223
03a12023
01b12e23
0bd000ef
0c5000ef
000017b7
cdc78c13
29cc0693
cdc78793
00200713
00e7a023
00001737
ce478c13
a6c70713
ce478793
00ec0733
00200693
00d7a023
00478793
fed79ce3
fee79ce3
00001bb7
03200a13
0c800a13
00012623
00000993
00001ab7
00001937
f74b8b93
74cb8b93
00900c93
00400b13
000b8d13
14d00493
0a700413
53500493
29b00413
00000d93
000d2683
000d8593
@ -103,11 +105,11 @@ fa0418e3
00a00793
0af50e63
00c12583
c00a8513
c08a8513
7dc000ef
f7892783
75092783
00178793
f6f92c23
74f92823
05678063
05304863
00812623
@ -115,71 +117,71 @@ f6f92c23
fffa0a13
f40a12e3
00c12583
c00a8513
c08a8513
7ac000ef
00001537
c3050513
c3850513
7a0000ef
010007b7
00100713
00e7a023
0000006f
000017b7
c0478513
c0c78513
784000ef
f6092c23
74092823
fb305ce3
00000493
00900593
c00a8513
c08a8513
76c000ef
f7892783
75092783
00148493
00178793
f6f92c23
74f92823
01678a63
ff3490e3
f8dff06f
00198993
f8dff06f
000017b7
c0478513
c0c78513
73c000ef
f6092c23
74092823
fd3490e3
f6dff06f
00c12783
c00a8513
c08a8513
00178593
720000ef
f7892783
75092783
00178793
f6f92c23
74f92823
05678a63
03305663
00000413
00000593
c00a8513
c08a8513
6fc000ef
f7892783
75092783
00140413
00178793
f6f92c23
74f92823
01678a63
ff3410e3
00012623
00000993
f1dff06f
000017b7
c0478513
c0c78513
6cc000ef
f6092c23
74092823
fd3410e3
fe1ff06f
000017b7
c0478513
c0c78513
6b4000ef
f6092c23
74092823
fa1ff06f
fe010113
00912a23
@ -399,7 +401,7 @@ ff877713
06d76e63
00001737
00269693
c3870713
c4070713
00e68733
00072703
00070067
@ -445,7 +447,7 @@ f49ff06f
0a088463
fcd51ae3
00001b37
cbcb0793
cc4b0793
00471713
16084a63
01c10693
@ -486,7 +488,7 @@ ce0402e3
dadff06f
0ad51463
00001b37
cbcb0793
cc4b0793
00471713
01c10693
00e787b3
@ -631,7 +633,7 @@ ffffffb7
00001e37
00001637
ffffcf13
3c400313
3cc00313
01010e93
81060613
800e0e13
@ -780,39 +782,39 @@ ffc78513
00000a49
4e4f440a
00000a45
0000086c
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
00000854
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
00000848
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
000006b4
00000860
00000874
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
0000085c
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
00000850
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
000006bc
00000868
33323130
37363534
42413938
@ -16380,5 +16382,3 @@ ffc78513
00000000
00000000
00000000
00000000
00000000

View File

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