Skip to content

Commit c2794df

Browse files
authored
[CV32A6*X] Disable Zifencei across the verification infrastructure. (#2822)
This MR implements the non-RTL part of CVA6 project changes needed for #2734: * changes to scripts * changes to configuration files * turn off Zifencei support in RTL configuration.
1 parent dcee5b9 commit c2794df

31 files changed

+7892
-154
lines changed

.gitlab-ci/scripts/report_benchmark.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
# Keep it up-to-date with compiler version and core performance improvements
2020
# Will fail if the number of cycles is different from this one
2121
valid_cycles = {
22-
"dhrystone_dual": 21226,
23-
"dhrystone_single": 23624,
24-
"coremark_dual": 1194262,
25-
"coremark_single": 1291549,
22+
"dhrystone_dual": 21176,
23+
"dhrystone_single": 23524,
24+
"coremark_dual": 1194268,
25+
"coremark_single": 1291566,
2626
"dhrystone_cv32a65x": 35952,
2727
"dhrystone_cv32a60x": 38856,
2828
}

config/gen_from_riscv_config/cv32a60x/spike/spike.yaml

+9-4
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,18 @@ spike_param_tree:
88
generic_core_config: false
99
max_steps: 200000
1010
max_steps_enabled: false
11-
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs
11+
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs_xcvxif
1212
priv: M
1313
core_configs:
1414
-
15-
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs
16-
extensions: cv32a60x,cvxif
15+
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs_xcvxif
16+
extensions: cv32a60x
1717
boot_addr: 2147483648
1818
marchid_override_mask: 0xFFFFFFFF
1919
marchid_override_value: 0x3
2020
misa_write_mask: 0x0
21+
misa_override_mask: 0x00800000
22+
misa_override_value: 0x00000000
2123
pmp_granularity: 8
2224
pmpaddr0: 0
2325
pmpcfg0: 0
@@ -37,14 +39,16 @@ spike_param_tree:
3739
mip_override_mask: 0xfffff77f
3840
mip_override_value: 0x00000000
3941
mtval_write_mask: 0
40-
mtvec_write_mask: 0xFFFFFFFE
4142
tinfo_accessible: 0
4243
mscontext_accessible: 0
4344
mcontext_accessible: 0
4445
tdata1_accessible: 0
4546
tdata2_accessible: 0
4647
tdata3_accessible: 0
4748
tselect_accessible: 0
49+
mtvec_write_mask: 0xFFFFFFFC
50+
mtvec_override_mask: 0x00000003
51+
mtvec_override_value: 0x00000000
4852
mhartid: 0
4953
mvendorid_override_mask : 0xFFFFFFFF
5054
mvendorid_override_value: 1538
@@ -53,3 +57,4 @@ spike_param_tree:
5357
unified_traps: true
5458
mcycleh_implemented: false
5559
mhpmevent31_implemented: false
60+
cvxif_x_num_rs: 2

config/gen_from_riscv_config/cv32a65x/spike/spike.yaml

+10-13
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,23 @@ spike_param_tree:
88
generic_core_config: false
99
max_steps: 200000
1010
max_steps_enabled: false
11-
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs
11+
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs_xcvxif
1212
priv: M
1313
core_configs:
1414
-
15-
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs
16-
extensions: cv32a60x,cvxif
15+
isa: rv32imczicsr_zcb_zba_zbb_zbc_zbs_xcvxif
16+
extensions: cv32a60x
1717
boot_addr: 2147483648
1818
marchid_override_mask: 0xFFFFFFFF
1919
marchid_override_value: 0x3
2020
misa_write_mask: 0x0
21+
misa_override_mask: 0x00800000
22+
misa_override_value: 0x00000000
2123
pmp_granularity: 8
2224
pmpaddr0: 0
2325
pmpcfg0: 0
2426
pmpregions_max: 64
25-
pmpregions_writable: 8
27+
pmpregions_writable: 0
2628
priv: M
2729
status_fs_field_we: false
2830
status_fs_field_we_enable: false
@@ -44,15 +46,9 @@ spike_param_tree:
4446
tdata2_accessible: 0
4547
tdata3_accessible: 0
4648
tselect_accessible: 0
47-
pmpaddr0_write_mask: 0xFFFFFFFE
48-
pmpaddr1_write_mask: 0xFFFFFFFE
49-
pmpaddr2_write_mask: 0xFFFFFFFE
50-
pmpaddr3_write_mask: 0xFFFFFFFE
51-
pmpaddr4_write_mask: 0xFFFFFFFE
52-
pmpaddr5_write_mask: 0xFFFFFFFE
53-
pmpaddr6_write_mask: 0xFFFFFFFE
54-
pmpaddr7_write_mask: 0xFFFFFFFE
55-
mtvec_write_mask: 0xFFFFFFFE
49+
mtvec_write_mask: 0xFFFFFFFC
50+
mtvec_override_mask: 0x00000003
51+
mtvec_override_value: 0x00000000
5652
mhartid: 0
5753
mvendorid_override_mask : 0xFFFFFFFF
5854
mvendorid_override_value: 1538
@@ -61,3 +57,4 @@ spike_param_tree:
6157
unified_traps: true
6258
mcycleh_implemented: false
6359
mhpmevent31_implemented: false
60+
cvxif_x_num_rs: 2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Copyright 2024 Thales DIS France SAS
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
# Original Author: Zbigniew CHAMSKI - Thales
16+
17+
hart_ids: [0]
18+
hart0:
19+
icache:
20+
reset-val: 0x1
21+
rv64:
22+
accessible: false
23+
rv32:
24+
accessible: true
25+
icache:
26+
implemented: true
27+
type:
28+
rw: true
29+
description: bit for cache-enable of instruction cache
30+
msb: 0
31+
lsb: 0
32+
shadow:
33+
shadow_type:
34+
fields:
35+
- icache
36+
-
37+
-
38+
- 1
39+
- 31
40+
description: the register controls the operation of the i-cache unit.
41+
address: 0x7c0
42+
priv_mode: M
43+
dcache:
44+
reset-val: 0x1
45+
rv64:
46+
accessible: false
47+
rv32:
48+
accessible: true
49+
dcache:
50+
implemented: true
51+
type:
52+
rw: true
53+
description: bit for cache-enable of data cache
54+
shadow:
55+
shadow_type:
56+
msb: 0
57+
lsb: 0
58+
fields:
59+
- dcache
60+
-
61+
-
62+
- 1
63+
- 31
64+
description: the register controls the operation of the d-cache unit.
65+
address: 0x7c1
66+
priv_mode: M
67+

0 commit comments

Comments
 (0)