Skip to content

Commit ff82266

Browse files
committed
feat: change axi rd id to 'a' and add mem loader flag var
1 parent bc025e9 commit ff82266

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

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

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,9 @@ class AXI4Bridge() extends Module with AXI4Config {
7171
})
7272

7373
// preposition
74-
protected val instAxiId = Fill(AxiIdLen, "b0".U(1.W))
75-
protected val memAxiId = Fill(AxiIdLen, "b1".U(1.W))
74+
protected val instAxiId = "b1010".U(4.W)
75+
protected val memAxiId = "b1111".U(4.W)
76+
protected val loaderReg: Bool = RegInit(false.B)
7677

7778
// only mem oper can write dram
7879
protected val wtTrans = WireDefault(io.mem.req === AxiReqWt.U)
@@ -299,11 +300,12 @@ class AXI4Bridge() extends Module with AXI4Config {
299300
protected val instAddrEnd = WireDefault(UInt(4.W), instAddrOpA + instAddrOpB)
300301
protected val instOverstep = WireDefault(instAddrEnd(3, ALIGNED_INST_WIDTH) =/= 0.U)
301302
protected val instAxiSize = AXI_INST_SIZE
302-
protected val instAxiAddr = Cat(io.inst.addr(AxiAddrWidth - 1, ALIGNED_INST_WIDTH), Fill(ALIGNED_INST_WIDTH, "b0".U(1.W)))
303+
protected val instAxiAddr = Wire(UInt(AxiAddrWidth.W))
303304
protected val instAlignedOffsetLow = Wire(UInt(OFFSET_INST_WIDTH.W))
304305
protected val instAlignedOffsetHig = Wire(UInt(OFFSET_INST_WIDTH.W))
305306
protected val instMask = Wire(UInt(MASK_INST_WIDTH.W))
306307

308+
instAxiAddr := Cat(io.inst.addr(AxiAddrWidth - 1, ALIGNED_INST_WIDTH), Fill(ALIGNED_INST_WIDTH, "b0".U(1.W)))
307309
instAxiLen := Mux(instTransAligned.asBool(), (TRANS_LEN - 1).U, Cat(Fill(7, "b0".U(1.W)), instOverstep))
308310
instAlignedOffsetLow := Cat(OFFSET_INST_WIDTH.U, io.inst.addr(ALIGNED_INST_WIDTH - 1, 0)) << 3
309311
instAlignedOffsetHig := AxiInstDataWidth.U - instAlignedOffsetLow
@@ -429,6 +431,10 @@ class AXI4Bridge() extends Module with AXI4Config {
429431
// printf(p"[axi4]io.mem.wdata << memAlignedOffsetLow = 0x${Hexadecimal(io.mem.wdata << memAlignedOffsetLow)}\n\n")
430432
// }
431433
}.otherwise {
434+
when(io.mem.req === AxiReqWt.U && io.mem.addr >= "h8000_0004".U && io.mem.addr <= "h8000_00FF".U) {
435+
loaderReg := true.B
436+
}
437+
432438
memTransAligned := io.mem.addr(ALIGNED_MEM_WIDTH - 1, 0) === 0.U
433439
memAddrOpA := Cat(0.U, io.mem.addr(ALIGNED_MEM_WIDTH - 1, 0))
434440
memOverstep := memAddrEnd(3, ALIGNED_MEM_WIDTH) =/= 0.U
@@ -447,7 +453,7 @@ class AXI4Bridge() extends Module with AXI4Config {
447453
memMaskHig := memMask(MASK_MEM_WIDTH - 1, AxiDataWidth)
448454
memStrbLow := memStrb << io.mem.addr(ALIGNED_MEM_WIDTH - 1, 0)
449455
memStrbHig := memStrb >> ((AxiDataWidth / 8).U - io.mem.addr(ALIGNED_MEM_WIDTH - 1, 0))
450-
// when(io.mem.wdata =/= 0.U) {
456+
// when(io.mem.wdata === "h00000413".U || io.mem.wdata === "h00100117".U) {
451457
// printf(p"[axi4] ram access\n")
452458
// printf(p"[axi4]memAlignedOffsetLow = 0x${Hexadecimal(memAlignedOffsetLow)}\n")
453459
// printf(p"[axi4]io.mem.addr = 0x${Hexadecimal(io.mem.addr)}\n")
@@ -607,14 +613,17 @@ class AXI4Bridge() extends Module with AXI4Config {
607613
}
608614
}.elsewhen(memTransLen === i.U) {
609615
memDataReadReg := axiRdDataLow
616+
// when(io.axi.r.bits.data(31, 0) == "h8000_0000".U) {
610617
// printf("mem rdata align!!!!!!!!!!!!!!!!!!!!!!!!!!!\n")
611618
// printf(p"[axi4]memAlignedOffsetLow = 0x${Hexadecimal(memAlignedOffsetLow)}\n")
612619
// printf(p"[axi4]memAlignedOffsetHig = 0x${Hexadecimal(memAlignedOffsetHig)}\n")
613620
// printf(p"[axi4]memMask = 0x${Hexadecimal(memMask)}\n")
614621
// printf(p"[axi4]memMaskLow = 0x${Hexadecimal(memMaskLow)}\n")
615622
// printf(p"[axi4]memMaskHig = 0x${Hexadecimal(memMaskHig)}\n")
623+
// printf(p"[axi4]io.axi.ar.bits.addr = 0x${Hexadecimal(io.axi.ar.bits.addr)}\n")
616624
// printf(p"[axi4]io.axi.r.bits.data = 0x${Hexadecimal(io.axi.r.bits.data)}\n")
617625
// printf(p"[axi4]axiRdDataLow = 0x${Hexadecimal(axiRdDataLow)}\n\n")
626+
// }
618627
}
619628
}
620629
}

0 commit comments

Comments
 (0)