@@ -71,6 +71,7 @@ module cv32e40x_wrapper
71
71
parameter int PMA_NUM_REGIONS = 0 ,
72
72
parameter pma_cfg_t PMA_CFG [PMA_NUM_REGIONS - 1 : 0 ] = '{ default : PMA_R_DEFAULT } ,
73
73
parameter bit CORE_LOG_ENABLE = 1 ,
74
+ parameter int DEBUG = 1 ,
74
75
parameter logic [31 : 0 ] DM_REGION_START = 32'hF0000000 ,
75
76
parameter logic [31 : 0 ] DM_REGION_END = 32'hF0003FFF
76
77
)
@@ -191,7 +192,7 @@ module cv32e40x_wrapper
191
192
);
192
193
193
194
bind cv32e40x_wb_stage:
194
- core_i.wb_stage_i cv32e40x_wb_stage_sva wb_stage_sva
195
+ core_i.wb_stage_i cv32e40x_wb_stage_sva # (. DEBUG ( DEBUG )) wb_stage_sva
195
196
(
196
197
.*
197
198
);
@@ -223,6 +224,7 @@ module cv32e40x_wrapper
223
224
core_i.controller_i.controller_fsm_i
224
225
cv32e40x_controller_fsm_sva
225
226
# (.X_EXT (X_EXT ),
227
+ .DEBUG (DEBUG ),
226
228
.SMCLIC (SMCLIC ))
227
229
controller_fsm_sva (
228
230
.lsu_outstanding_cnt (core_i.load_store_unit_i.cnt_q),
@@ -246,14 +248,15 @@ module cv32e40x_wrapper
246
248
bind cv32e40x_cs_registers:
247
249
core_i.cs_registers_i
248
250
cv32e40x_cs_registers_sva
249
- # (.SMCLIC (SMCLIC ))
251
+ # (.SMCLIC (SMCLIC ),
252
+ .DEBUG (DEBUG ))
250
253
cs_registers_sva (.wb_valid_i (core_i.wb_valid ),
251
254
.ctrl_fsm_cs (core_i.controller_i.controller_fsm_i.ctrl_fsm_cs),
252
255
.* );
253
256
254
257
255
258
bind cv32e40x_load_store_unit:
256
- core_i.load_store_unit_i cv32e40x_load_store_unit_sva # (.DEPTH (DEPTH )) load_store_unit_sva (
259
+ core_i.load_store_unit_i cv32e40x_load_store_unit_sva # (.DEPTH (DEPTH ), . DEBUG ( DEBUG ) ) load_store_unit_sva (
257
260
// The SVA's monitor modport can't connect to a master modport, so it is connected to the interface instance directly:
258
261
.m_c_obi_data_if (core_i.m_c_obi_data_if),
259
262
.ex_wb_pipe_i (core_i.ex_wb_pipe),
@@ -319,6 +322,7 @@ module cv32e40x_wrapper
319
322
bind cv32e40x_core:
320
323
core_i cv32e40x_core_sva
321
324
# (.A_EXT (A_EXT ),
325
+ .DEBUG (DEBUG ),
322
326
.PMA_NUM_REGIONS (PMA_NUM_REGIONS ),
323
327
.SMCLIC (SMCLIC ))
324
328
core_sva (// probed cs_registers signals
@@ -395,6 +399,7 @@ endgenerate
395
399
.IS_INSTR_SIDE (1 ),
396
400
.CORE_RESP_TYPE (cv32e40x_pkg :: inst_resp_t),
397
401
.CORE_REQ_TYPE (cv32e40x_pkg :: obi_inst_req_t),
402
+ .DEBUG (DEBUG ),
398
403
.DM_REGION_START (DM_REGION_START ),
399
404
.DM_REGION_END (DM_REGION_END ))
400
405
mpu_if_sva (.pma_addr (pma_i.trans_addr_i),
@@ -420,6 +425,7 @@ endgenerate
420
425
.CORE_RESP_TYPE (cv32e40x_pkg :: data_resp_t),
421
426
.CORE_REQ_TYPE (cv32e40x_pkg :: obi_data_req_t),
422
427
.A_EXT (A_EXT ),
428
+ .DEBUG (DEBUG ),
423
429
.DM_REGION_START (DM_REGION_START ),
424
430
.DM_REGION_END (DM_REGION_END ))
425
431
mpu_lsu_sva (.pma_addr (pma_i.trans_addr_i),
@@ -463,7 +469,8 @@ endgenerate
463
469
bind cv32e40x_rvfi:
464
470
rvfi_i
465
471
cv32e40x_rvfi_sva
466
- # (.SMCLIC (SMCLIC ))
472
+ # (.SMCLIC (SMCLIC ),
473
+ .DEBUG (DEBUG ))
467
474
rvfi_sva (.irq_ack (core_i.irq_ack),
468
475
.dbg_ack (core_i.dbg_ack),
469
476
.ebreak_in_wb_i (core_i.controller_i.controller_fsm_i.ebreak_in_wb),
@@ -488,7 +495,8 @@ endgenerate
488
495
);
489
496
490
497
cv32e40x_rvfi
491
- # (.SMCLIC (SMCLIC ))
498
+ # (.SMCLIC (SMCLIC ),
499
+ .DEBUG (DEBUG ))
492
500
rvfi_i
493
501
(.clk_i ( clk_i ),
494
502
.rst_ni ( rst_ni ),
@@ -769,6 +777,7 @@ endgenerate
769
777
.SMCLIC ( SMCLIC ),
770
778
.SMCLIC_ID_WIDTH ( SMCLIC_ID_WIDTH ),
771
779
.SMCLIC_INTTHRESHBITS ( SMCLIC_INTTHRESHBITS ),
780
+ .DEBUG ( DEBUG ),
772
781
.DM_REGION_START ( DM_REGION_START ),
773
782
.DM_REGION_END ( DM_REGION_END ),
774
783
.DBG_NUM_TRIGGERS ( DBG_NUM_TRIGGERS ),
0 commit comments