@@ -15,20 +15,23 @@ module ibex_riscv_compliance (
15
15
input IO_RST_N
16
16
);
17
17
18
- parameter bit PMPEnable = 1'b0 ;
19
- parameter int unsigned PMPGranularity = 0 ;
20
- parameter int unsigned PMPNumRegions = 4 ;
21
- parameter bit RV32E = 1'b0 ;
22
- parameter ibex_pkg :: rv32m_e RV32M = ibex_pkg :: RV32MFast;
23
- parameter ibex_pkg :: rv32b_e RV32B = ibex_pkg :: RV32BNone;
24
- parameter ibex_pkg :: regfile_e RegFile = ibex_pkg :: RegFileFF;
25
- parameter bit BranchTargetALU = 1'b0 ;
26
- parameter bit WritebackStage = 1'b0 ;
27
- parameter bit ICache = 1'b0 ;
28
- parameter bit ICacheECC = 1'b0 ;
29
- parameter bit BranchPredictor = 1'b0 ;
30
- parameter bit SecureIbex = 1'b0 ;
31
- parameter bit ICacheScramble = 1'b0 ;
18
+ parameter bit PMPEnable = 1'b0 ;
19
+ parameter int unsigned PMPGranularity = 0 ;
20
+ parameter int unsigned PMPNumRegions = 4 ;
21
+ parameter int unsigned MHPMCounterNum = 0 ;
22
+ parameter int unsigned MHPMCounterWidth = 40 ;
23
+ parameter bit RV32E = 1'b0 ;
24
+ parameter ibex_pkg :: rv32m_e RV32M = ibex_pkg :: RV32MFast;
25
+ parameter ibex_pkg :: rv32b_e RV32B = ibex_pkg :: RV32BNone;
26
+ parameter ibex_pkg :: regfile_e RegFile = ibex_pkg :: RegFileFF;
27
+ parameter bit BranchTargetALU = 1'b0 ;
28
+ parameter bit WritebackStage = 1'b0 ;
29
+ parameter bit ICache = 1'b0 ;
30
+ parameter bit ICacheECC = 1'b0 ;
31
+ parameter bit BranchPredictor = 1'b0 ;
32
+ parameter bit SecureIbex = 1'b0 ;
33
+ parameter bit ICacheScramble = 1'b0 ;
34
+ parameter bit DbgTriggerEn = 1'b0 ;
32
35
33
36
logic clk_sys, rst_sys_n;
34
37
@@ -135,22 +138,25 @@ module ibex_riscv_compliance (
135
138
end
136
139
137
140
ibex_top_tracing # (
138
- .PMPEnable (PMPEnable ),
139
- .PMPGranularity (PMPGranularity ),
140
- .PMPNumRegions (PMPNumRegions ),
141
- .RV32E (RV32E ),
142
- .RV32M (RV32M ),
143
- .RV32B (RV32B ),
144
- .RegFile (RegFile ),
145
- .BranchTargetALU (BranchTargetALU ),
146
- .WritebackStage (WritebackStage ),
147
- .ICache (ICache ),
148
- .ICacheECC (ICacheECC ),
149
- .BranchPredictor (BranchPredictor ),
150
- .SecureIbex (SecureIbex ),
151
- .ICacheScramble (ICacheScramble ),
152
- .DmHaltAddr (32'h00000000 ),
153
- .DmExceptionAddr (32'h00000000 )
141
+ .PMPEnable (PMPEnable ),
142
+ .PMPGranularity (PMPGranularity ),
143
+ .PMPNumRegions (PMPNumRegions ),
144
+ .MHPMCounterNum (MHPMCounterNum ),
145
+ .MHPMCounterWidth (MHPMCounterWidth ),
146
+ .RV32E (RV32E ),
147
+ .RV32M (RV32M ),
148
+ .RV32B (RV32B ),
149
+ .RegFile (RegFile ),
150
+ .BranchTargetALU (BranchTargetALU ),
151
+ .WritebackStage (WritebackStage ),
152
+ .ICache (ICache ),
153
+ .ICacheECC (ICacheECC ),
154
+ .BranchPredictor (BranchPredictor ),
155
+ .DbgTriggerEn (DbgTriggerEn ),
156
+ .SecureIbex (SecureIbex ),
157
+ .ICacheScramble (ICacheScramble ),
158
+ .DmHaltAddr (32'h00000000 ),
159
+ .DmExceptionAddr (32'h00000000 )
154
160
) u_top (
155
161
.clk_i (clk_sys ),
156
162
.rst_ni (rst_sys_n ),
0 commit comments