Skip to content

Commit 9d22b2b

Browse files
committed
refactor: move csr and clint const addr to instconfig
1 parent 57c99c0 commit 9d22b2b

File tree

5 files changed

+33
-34
lines changed

5 files changed

+33
-34
lines changed

rtl/tc_l2/src/main/scala/common/ConstVal.scala

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,4 @@ object ConstVal {
77
// addr width
88
val AddrLen = 64
99
val AddrAlignLen = log2Ceil(AddrLen / 8)
10-
11-
val CSRAddrLen = 12
12-
val CLINTAddrLen = 64
13-
// csr addr
14-
val mhartidAddr = 0xf14.U(CSRAddrLen.W)
15-
val mstatusAddr = 0x300.U(CSRAddrLen.W)
16-
val mieAddr = 0x304.U(CSRAddrLen.W)
17-
val mtvecAddr = 0x305.U(CSRAddrLen.W)
18-
val mscratchAddr = 0x340.U(CSRAddrLen.W)
19-
val mepcAddr = 0x341.U(CSRAddrLen.W)
20-
val mcauseAddr = 0x342.U(CSRAddrLen.W)
21-
val mipAddr = 0x344.U(CSRAddrLen.W)
22-
val mcycleAddr = 0xb00.U(CSRAddrLen.W)
23-
val medelegAddr = 0x302.U(CSRAddrLen.W)
24-
25-
val ClintBaseAddr = 0x02000000.U(CLINTAddrLen.W)
26-
val ClintBoundAddr = 0x0200bfff.U(CLINTAddrLen.W)
27-
val MSipOffset = 0x0.U(CLINTAddrLen.W)
28-
val MTimeOffset = 0xbff8.U(CLINTAddrLen.W)
29-
val MTimeCmpOffset = 0x4000.U(CLINTAddrLen.W)
3010
}

rtl/tc_l2/src/main/scala/common/InstConfig.scala

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,23 @@ trait InstConfig {
110110
val CacheLineSize = XLen * NBank
111111
val ICacheSize = NWay * NSet * CacheLineSize
112112
val DCacheSize = NWay * NSet * CacheLineSize
113+
114+
// clint
115+
val ClintBaseAddr = 0x02000000.U(XLen.W)
116+
val ClintBoundAddr = 0x0200bfff.U(XLen.W)
117+
val MSipOffset = 0x0.U(XLen.W)
118+
val MTimeOffset = 0xbff8.U(XLen.W)
119+
val MTimeCmpOffset = 0x4000.U(XLen.W)
120+
// csr addr
121+
val CSRAddrLen = 12
122+
val mhartidAddr = 0xf14.U(CSRAddrLen.W)
123+
val mstatusAddr = 0x300.U(CSRAddrLen.W)
124+
val mieAddr = 0x304.U(CSRAddrLen.W)
125+
val mtvecAddr = 0x305.U(CSRAddrLen.W)
126+
val mscratchAddr = 0x340.U(CSRAddrLen.W)
127+
val mepcAddr = 0x341.U(CSRAddrLen.W)
128+
val mcauseAddr = 0x342.U(CSRAddrLen.W)
129+
val mipAddr = 0x344.U(CSRAddrLen.W)
130+
val mcycleAddr = 0xb00.U(CSRAddrLen.W)
131+
val medelegAddr = 0x302.U(CSRAddrLen.W)
113132
}

rtl/tc_l2/src/main/scala/core/exec/CSRReg.scala

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,16 @@ class CSRReg extends Module with InstConfig {
4747
protected val medeleg = RegInit(0.U(XLen.W))
4848
protected val mhartid = RegInit(0.U(XLen.W))
4949

50-
protected val mhartidVis = addr === ConstVal.mhartidAddr
51-
protected val mstatusVis = addr === ConstVal.mstatusAddr
52-
protected val mieVis = addr === ConstVal.mieAddr
53-
protected val mtvecVis = addr === ConstVal.mtvecAddr
54-
protected val mscratchVis = addr === ConstVal.mscratchAddr
55-
protected val mepcVis = addr === ConstVal.mepcAddr
56-
protected val mcauseVis = addr === ConstVal.mcauseAddr
57-
protected val mipVis = addr === ConstVal.mipAddr
58-
protected val mcycleVis = addr === ConstVal.mcycleAddr
59-
protected val medelegVis = addr === ConstVal.medelegAddr
50+
protected val mhartidVis = addr === mhartidAddr
51+
protected val mstatusVis = addr === mstatusAddr
52+
protected val mieVis = addr === mieAddr
53+
protected val mtvecVis = addr === mtvecAddr
54+
protected val mscratchVis = addr === mscratchAddr
55+
protected val mepcVis = addr === mepcAddr
56+
protected val mcauseVis = addr === mcauseAddr
57+
protected val mipVis = addr === mipAddr
58+
protected val mcycleVis = addr === mcycleAddr
59+
protected val medelegVis = addr === medelegAddr
6060

6161
protected val mcycleVal = Mux(csrVis && mcycleVis, mcycle, 0.U)
6262
protected val mstatusVal = Mux(csrVis && mstatusVis, mstatus, 0.U)

rtl/tc_l2/src/main/scala/core/ma/CLINT.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ class CLINT extends Module with InstConfig {
1818

1919
protected val addr = Mux(io.cld.en, io.cld.addr(31, 0), 0.U) | Mux(io.csd.en, io.csd.addr(31, 0), 0.U)
2020
protected val wdata = io.csd.data
21-
protected val mtimeVis = addr === ConstVal.ClintBaseAddr + ConstVal.MTimeOffset
22-
protected val mtimecmpVis = addr === ConstVal.ClintBaseAddr + ConstVal.MTimeCmpOffset
21+
protected val mtimeVis = addr === ClintBaseAddr + MTimeOffset
22+
protected val mtimecmpVis = addr === ClintBaseAddr + MTimeCmpOffset
2323

2424
// check if a mmio access
2525
protected val cren = io.cld.en && (mtimecmpVis || mtimeVis) && io.valid

rtl/tc_l2/src/main/scala/core/wb/WBU.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ class WBU extends Module with InstConfig {
5757
if (!SoCEna) {
5858
val mmioEn = cvalid
5959
val csrVis = (isa === instCSRRW) || (isa === instCSRRS) || (isa === instCSRRC) || (isa === instCSRRWI) || (isa === instCSRRSI) || (isa === instCSRRCI)
60-
val mcycleVis = csrVis && (inst(31, 20) === ConstVal.mcycleAddr)
61-
val mipVis = csrVis && (inst(31, 20) === ConstVal.mipAddr)
60+
val mcycleVis = csrVis && (inst(31, 20) === mcycleAddr)
61+
val mipVis = csrVis && (inst(31, 20) === mipAddr)
6262
val timeIntrEnReg = RegEnable(timeIntrEn, false.B, io.globalEn)
6363
val diffValid = io.globalEn && (RegEnable(valid, false.B, io.globalEn) || timeIntrEnReg)
6464

0 commit comments

Comments
 (0)