Skip to content

Commit f8fb484

Browse files
committed
style: add common config
1 parent e555250 commit f8fb484

File tree

3 files changed

+30
-24
lines changed

3 files changed

+30
-24
lines changed

rtl/tc_l2/src/main/scala/axi4/AXI4Bridge.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ class AXI4Bridge extends Module with AXI4Config {
2525
arbiter.io.rHdShk := io.axi.r.fire()
2626

2727
protected val wMask = arbiter.io.dxchg.wmask
28-
protected val bitCnt = wMask(7) + wMask(6) + wMask(5) + wMask(4) + wMask(3) + wMask(2) + wMask(1) + wMask(0)
28+
protected val byteSize = wMask(7) + wMask(6) + wMask(5) + wMask(4) + wMask(3) + wMask(2) + wMask(1) + wMask(0)
2929
protected val socARSize = arbiter.io.dxchg.rsize
3030
protected val socAWSize = MuxLookup(
31-
bitCnt,
31+
byteSize,
3232
0.U,
3333
Array(
3434
8.U -> 3.U,

rtl/tc_l2/src/main/scala/axi4/Crossbar.scala

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package treecorel2
33
import chisel3._
44
import chisel3.util._
55

6-
class Crossbar extends Module {
6+
import treecorel2.common.InstConfig
7+
8+
class Crossbar extends Module with InstConfig {
79
val io = IO(new Bundle {
810
val socEn = Input(Bool())
911
val runEn = Input(Bool())
@@ -26,34 +28,34 @@ class Crossbar extends Module {
2628
switch(stateReg) {
2729
is(eumInst) {
2830
when(io.runEn) {
29-
stateReg := eumMem
3031
globalEn := true.B
32+
stateReg := eumMem
3133
inst := rdInst
3234
}
3335
}
3436
is(eumMem) {
3537
when(io.runEn) {
36-
stateReg := eumInst
3738
globalEn := false.B
39+
stateReg := eumInst
3840
inst := 0x13.U
3941
}
4042
}
4143
}
4244

43-
protected val instSize = Mux(io.socEn, 2.U, 3.U)
4445
// because the difftest's logic addr is 0x000000
45-
protected val addrOffset = Mux(io.socEn, "h0000000000000000".U(64.W), "h0000000080000000".U(64.W))
46-
47-
protected val instAddr = io.core.fetch.addr - addrOffset
48-
protected val loadAddr = io.core.ld.addr - addrOffset
49-
protected val storeAddr = io.core.sd.addr - addrOffset
46+
protected val instSize = Mux(io.socEn, instSoCRSize, instDiffRSize)
47+
protected val baseAddr = Mux(io.socEn, socStartBaseAddr, socStartBaseAddr)
48+
protected val instAddr = io.core.fetch.addr - baseAddr
49+
protected val loadAddr = io.core.ld.addr - baseAddr
50+
protected val storeAddr = io.core.sd.addr - baseAddr
5051
protected val maEn = io.core.ld.en || io.core.sd.en
5152

53+
// prepare the data exchange io signals
5254
io.dxchg.ren := ((stateReg === eumInst) || (stateReg === eumMem && maEn))
5355
io.dxchg.raddr := Mux(stateReg === eumInst, instAddr, loadAddr)
5456
io.dxchg.rsize := Mux(stateReg === eumMem && io.core.ld.en, io.core.ld.size, instSize)
57+
io.dxchg.wen := stateReg === eumMem && io.core.sd.en
5558
io.dxchg.waddr := storeAddr
5659
io.dxchg.wdata := io.core.sd.data
5760
io.dxchg.wmask := io.core.sd.mask
58-
io.dxchg.wen := stateReg === eumMem && io.core.sd.en
5961
}

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

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ import chisel3._
44
import chisel3.util._
55

66
trait InstConfig {
7-
val SoCEna = false
7+
val SoCEna = false
8+
val XLen = 64
9+
val diffStartBaseAddr = "h0000000080000000".U(XLen.W)
10+
val socStartBaseAddr = "h0000000000000000".U(XLen.W)
11+
val difftestAddrMask = "hfffffffffffffff8".U(XLen.W)
12+
val socAddrMask = "hffffffffffffffff".U(XLen.W)
13+
val instSoCRSize = 2.U
14+
val instDiffRSize = 3.U
15+
val diffRWSize = 3.U
16+
val CacheEna = false
817

9-
val difftestAddrMask = "hfffffffffffffff8".U(64.W)
10-
val socAddrMask = "hffffffffffffffff".U(64.W)
11-
val diffRWSize = 3.U
12-
val CacheEna = false
13-
val XLen = 64
14-
val NWay = 4
15-
val NBank = 4
16-
val NSet = 32
17-
val CacheLineSize = 64 * NBank
18-
val ICacheSize = NWay * NSet * CacheLineSize
19-
val DCacheSize = NWay * NSet * CacheLineSize
18+
val NWay = 4
19+
val NBank = 4
20+
val NSet = 32
21+
val CacheLineSize = XLen * NBank
22+
val ICacheSize = NWay * NSet * CacheLineSize
23+
val DCacheSize = NWay * NSet * CacheLineSize
2024
}

0 commit comments

Comments
 (0)