diff --git a/rtl/cve2_controller.sv b/rtl/cve2_controller.sv index 2e7234306c..5584e1c71c 100644 --- a/rtl/cve2_controller.sv +++ b/rtl/cve2_controller.sv @@ -343,7 +343,8 @@ module cve2_controller #( // - while in debug mode [Debug Spec v0.13.2, p.39], // - while in NMI mode (nested NMIs are not supported, NMI has highest priority and // cannot be interrupted by regular interrupts). - assign handle_irq = ~debug_mode_q & ~nmi_mode_q & + // - while single stepping. + assign handle_irq = ~debug_mode_q & ~debug_single_step_i & ~nmi_mode_q & (irq_nm_i | (irq_pending_i & csr_mstatus_mie_i)); // generate ID of fast interrupts, highest priority to lowest ID