From a454edaaf72a0bcee73ddee0dfec1217fb479a12 Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Fri, 14 Apr 2017 15:12:17 -0700 Subject: [PATCH] Treat exceptions as steps for the purposes of single-stepping --- src/main/scala/rocket/CSR.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/rocket/CSR.scala b/src/main/scala/rocket/CSR.scala index a975a1ea..1ec4db24 100644 --- a/src/main/scala/rocket/CSR.scala +++ b/src/main/scala/rocket/CSR.scala @@ -503,7 +503,7 @@ class CSRFile(perfEventSets: EventSets = new EventSets(Seq()))(implicit p: Param when (pending_interrupts.orR || exception) { reg_wfi := false } assert(!reg_wfi || io.retire === UInt(0)) - when (io.retire(0)) { reg_singleStepped := true } + when (io.retire(0) || exception) { reg_singleStepped := true } when (!io.singleStep) { reg_singleStepped := false } assert(!io.singleStep || io.retire <= UInt(1)) assert(!reg_singleStepped || io.retire === UInt(0))