Skip to content

Commit fbed1be

Browse files
committed
feat: add inst and axi4 config trait
1 parent b4c1415 commit fbed1be

File tree

2 files changed

+57
-0
lines changed

2 files changed

+57
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package treecorel2
2+
3+
import chisel3._
4+
import chisel3.util._
5+
6+
trait AXI4Config extends IOConfig {
7+
val AxiProtLen = 3
8+
val AxiIdLen = 4
9+
val AxiUserLen = 1
10+
val AxiSizeLen = 3
11+
val AxiLen = 8
12+
val AxiStrb = 8
13+
val AxiBurstLen = 2
14+
val AxiCacheLen = 4
15+
val AxiQosLen = 4
16+
val AxiRegionLen = 4
17+
val AxiRespLen = 2
18+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package treecorel2
2+
3+
import chisel3._
4+
import chisel3.util._
5+
6+
trait IOConfig {
7+
val XLen = 64
8+
val InstLen = 32
9+
val RegfileLen = 5
10+
val RegfileNum = 1 << RegfileLen
11+
val ISALen = 6
12+
// branch prediction
13+
val GHRLen = 5
14+
val PHTSize = 1 << GHRLen
15+
val BTBIdxLen = 5
16+
val BTBPcLen = XLen - BTBIdxLen
17+
val BTBTgtLen = XLen
18+
val BTBSize = 1 << BTBIdxLen
19+
}
20+
21+
trait InstConfig extends IOConfig {
22+
val SoCEna = true
23+
val CacheEna = false
24+
25+
// cache
26+
val NWay = 4
27+
val NBank = 4
28+
val NSet = 32
29+
val CacheLineSize = XLen * NBank
30+
val ICacheSize = NWay * NSet * CacheLineSize
31+
val DCacheSize = NWay * NSet * CacheLineSize
32+
33+
// clint
34+
val ClintBaseAddr = 0x02000000.U(XLen.W)
35+
val ClintBoundAddr = 0x0200bfff.U(XLen.W)
36+
val MSipOffset = 0x0.U(XLen.W)
37+
val MTimeOffset = 0xbff8.U(XLen.W)
38+
val MTimeCmpOffset = 0x4000.U(XLen.W)
39+
}

0 commit comments

Comments
 (0)