From e2a1b1ff41a7535dc1442313773a5816c5c12ff3 Mon Sep 17 00:00:00 2001 From: Dolu1990 Date: Mon, 23 Sep 2024 10:11:55 +0200 Subject: [PATCH] fix #27 tselect is now always implemented --- src/main/scala/vexiiriscv/misc/PrivilegedPlugin.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/scala/vexiiriscv/misc/PrivilegedPlugin.scala b/src/main/scala/vexiiriscv/misc/PrivilegedPlugin.scala index 4eb073f..856a46e 100644 --- a/src/main/scala/vexiiriscv/misc/PrivilegedPlugin.scala +++ b/src/main/scala/vexiiriscv/misc/PrivilegedPlugin.scala @@ -320,9 +320,12 @@ class PrivilegedPlugin(val p : PrivilegedParam, val hartIds : Seq[Int]) extends } val stoptime = out(RegNext(debugMode && dcsr.stoptime) init(False)) + val noTrigger = (p.debugTriggers == 0) generate new Area { + cap.allowCsr(CSR.TSELECT) + } val trigger = (p.debugTriggers > 0) generate new Area { val tselect = new Area { - val index = Reg(UInt(log2Up(p.debugTriggers) bits)) + val index = Reg(UInt(log2Up(p.debugTriggers) bits)) init(0) api.readWrite(index, CSR.TSELECT) val outOfRange = if (isPow2(p.debugTriggers)) False else index < p.debugTriggers