@@ -40,6 +40,7 @@ module top import ibex_pkg::*; #(
4040 parameter bit SecureIbex = 1'b0 ,
4141 parameter bit WritebackStage = 1'b1 ,
4242 parameter bit RV32E = 1'b0 ,
43+ parameter rv32zc_e RV32ZC = RV32Zca,
4344 parameter int unsigned PMPNumRegions = 4
4445) (
4546 // Clock and Reset
@@ -131,6 +132,7 @@ ibex_top #(
131132 .SecureIbex (SecureIbex),
132133 .WritebackStage (WritebackStage),
133134 .RV32E (RV32E ),
135+ .RV32ZC (RV32ZC ),
134136 .BranchTargetALU (1'b1 ),
135137 .PMPEnable (1'b1 ),
136138 .PMPNumRegions (PMPNumRegions),
@@ -441,25 +443,35 @@ assign ex_is_checkable_csr = ~(
441443
442444logic [31 : 0 ] decompressed_instr;
443445logic decompressed_instr_illegal;
444- ibex_compressed_decoder decompression_assertion_decoder (
446+ ibex_compressed_decoder # (
447+ .RV32ZC (RV32ZC ),
448+ .ResetAll (SecureIbex)
449+ ) decompression_assertion_decoder (
445450 .clk_i,
446451 .rst_ni,
447452 .valid_i (1'b1 ),
453+ .id_in_ready_i (1'b1 ),
448454 .instr_i (ex_compressed_instr),
449455 .instr_o (decompressed_instr),
450456 .is_compressed_o (),
457+ .gets_expanded_o (),
451458 .illegal_instr_o (decompressed_instr_illegal)
452459);
453460
454461logic [31 : 0 ] decompressed_instr_2;
455462logic decompressed_instr_illegal_2;
456- ibex_compressed_decoder decompression_assertion_decoder_2 (
463+ ibex_compressed_decoder # (
464+ .RV32ZC (RV32ZC ),
465+ .ResetAll (SecureIbex)
466+ ) decompression_assertion_decoder_2 (
457467 .clk_i,
458468 .rst_ni,
459469 .valid_i (1'b1 ),
470+ .id_in_ready_i (1'b1 ),
460471 .instr_i (wbexc_instr),
461472 .instr_o (decompressed_instr_2),
462473 .is_compressed_o (wbexc_is_compressed),
474+ .gets_expanded_o (),
463475 .illegal_instr_o (decompressed_instr_illegal_2)
464476);
465477
0 commit comments