Welcome to Embench-LiteX tester’s results!

This page presents the Embench-tester results. The data was obtained by simulating a LiteX based SoC design instantiating the tested core. All the cores where tested in LiteX’ standard configuration.

Table 1 Relative tests results: [%]

vexriscv

picorv32

minerva

cv32e40p

serv

lm32

mor1kx

microwatt

aha-mont64

73.0

14.0

7.0

31.0

0.0

47.0

51.0

119.0

crc32

74.0

15.0

8.0

28.0

1.0

68.0

72.0

36.0

cubic

27.0

8.0

6.0

17.0

0.0

20.0

27.0

53.0

edn

86.0

10.0

22.0

29.0

0.0

75.0

62.0

21.0

huffbench

103.0

28.0

14.0

33.0

3.0

98.0

90.0

45.0

matmult-int

81.0

13.0

26.0

29.0

0.0

59.0

62.0

17.0

minver

46.0

13.0

8.0

26.0

0.0

32.0

35.0

38.0

nbody

54.0

14.0

9.0

30.0

0.0

26.0

34.0

66.0

nettle-aes

58.0

17.0

6.0

28.0

1.0

58.0

67.0

42.0

nettle-sha256

51.0

15.0

5.0

25.0

2.0

41.0

34.0

55.0

nsichneu

31.0

30.0

18.0

33.0

3.0

36.0

36.0

19.0

picojpeg

69.0

16.0

10.0

27.0

2.0

65.0

73.0

33.0

qrduino

107.0

24.0

9.0

39.0

1.0

103.0

94.0

56.0

sglib-combined

89.0

28.0

18.0

35.0

2.0

75.0

77.0

42.0

slre

99.0

28.0

19.0

38.0

3.0

86.0

94.0

49.0

st

57.0

13.0

8.0

27.0

0.0

21.0

29.0

85.0

statemate

82.0

32.0

20.0

35.0

3.0

76.0

56.0

39.0

ud

54.0

14.0

13.0

26.0

1.0

34.0

50.0

26.0

wikisort

101.0

25.0

20.0

42.0

0.0

48.0

62.0

56.0

Notes:

  • This results present CPU performance compared to ARM Cortex M4

  • Higher values are better

Table 2 Benchmark statistics:

vexriscv

picorv32

minerva

cv32e40p

serv

lm32

mor1kx

microwatt

speed geometric mean

66.0

17.0

11.0

30.0

1.0

50.0

54.0

42.0

speed geometric standard deviation

1.46

1.48

1.65

1.21

3.58

1.63

1.48

1.61

Notes:

  • Benchmark consists of multiple invidual tests

  • Higher geometric mean is better

  • Lower standard deviation is better, more consistent results

Table 3 Absolute tests results: [ms]

vexriscv

picorv32

minerva

cv32e40p

serv

lm32

mor1kx

microwatt

aha-mont64

5468

29142

60117

12746

1201669

8438

7823

3369

crc32

5403

26656

49102

14464

367018

5928

5575

11027

cubic

14673

47643

61400

22527

3302039

19999

14613

7353

edn

4671

39668

18544

13601

4294967

5348

6436

18789

huffbench

4008

14785

29594

12406

162626

4190

4602

9115

matmult-int

4938

30685

15123

13647

2151027

6716

6450

22964

minver

8742

30971

47172

15284

4294967

12529

11331

10567

nbody

5232

19982

32245

9488

2448259

10833

8217

4273

nettle-aes

6885

23857

66303

14501

338046

6965

5975

9567

nettle-sha256

7848

27021

82610

15810

252651

9851

11822

7212

nsichneu

13018

13194

21905

12107

157985

11022

11125

21131

picojpeg

5858

25445

41957

15033

267163

6235

5516

12211

qrduino

3986

17601

47899

10906

303785

4117

4535

7547

sglib-combined

4486

14238

21994

11367

247771

5281

5172

9414

slre

4044

14147

20873

10689

152571

4689

4269

8210

st

7176

31470

49641

15002

3535898

19865

14092

4783

statemate

4859

12340

20259

11289

127387

5297

7202

10306

ud

7460

27969

30747

15494

572278

11597

7922

15551

wikisort

2755

11015

13911

6547

1095370

5772

4455

4926

Notes:

  • Lower value is better

Table 4 Benchmark statistics:

vexriscv

picorv32

minerva

cv32e40p

serv

lm32

mor1kx

microwatt

speed geometric mean

5862

22193

33750

12929

648763

7697

7162

9164

speed geometric standard deviation

1.49

1.51

1.69

1.28

3.45

1.6

1.47

1.67

Notes:

  • Benchmark consists of multiple invidual tests

  • Lower geometric mean is better

  • Lower standard deviation is better, more consistent results

Platform

Core

SHA1

vexriscv

2962f4af3ed6c28dadc95c9c477df8ef3af73afb

picorv32

8bdce32bf6db95df397ea8f9904e38ae9cae5641

minerva

2a69b7f3051df7a59d417b08bde963b9e6b8396b

cv32e40p

b8fe3c41bfe87eb382449bcbf0f7f0e061d45e08

serv

d6a5ebb7609f7047f2a461e028db8410a8347074

lm32

63440000de23714f602637f772559980c0f6678e

mor1kx

ff018922b07fd0e55d92f0d9ba58ee4d0e0d8a5d

microwatt

ba76652320e9dc23d9b2c64a62d0a752c870a215

Used tools:

Toolchains:

RISC-V

riscv64-unknown-elf-gcc (9.1.0) 9.1.0

LM32

lm32-elf-gcc (8.2.0) 8.2.0

OpenRISC

or1k-elf-gcc (9.1.0) 9.1.0

OpenPOWER

ppc64le-linux-musl-gcc (9.1.0) 9.1.0

Other tools:

verilator

Verilator 4.100 2020-09-07 rev UNKNOWN_REV

yosys

Yosys 0.9+3619 (git sha1 c403c98, gcc 7.5.0-3ubuntu1~18.04 -fPIC -Os)

ghdl

GHDL 1.0-dev () [Dunoon edition] Compiled with GNAT Version: 8.4.0 mcode code generator Written by Tristan Gingold.