fix(VSegmentUnit): adjust the fullva bit width of the tlb req (#4892)
EMU Test / Changes Detection (push) Waiting to run Details
EMU Test / Generate Verilog (push) Blocked by required conditions Details
EMU Test / EMU - Basics (push) Blocked by required conditions Details
EMU Test / EMU - CHI (push) Blocked by required conditions Details
EMU Test / Docker Build (push) Blocked by required conditions Details
EMU Test / EMU - Performance (push) Blocked by required conditions Details
EMU Test / EMU - MC (push) Blocked by required conditions Details
EMU Test / SIMV - Basics (push) Blocked by required conditions Details
EMU Test / Upload Artifacts (push) Blocked by required conditions Details
EMU Test / Check Submodules (push) Blocked by required conditions Details
EMU Test / Check Format (push) Blocked by required conditions Details
Release Jobs / build-xsdev-image (push) Waiting to run Details

This commit is contained in:
Anzo 2025-07-29 16:03:46 +08:00 committed by GitHub
parent 2cf64d6d43
commit 71802692d9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 6 deletions

View File

@ -428,12 +428,12 @@ class VSegmentUnit (implicit p: Parameters) extends VLSUModule
val vaddr = nextBaseVaddr + realSegmentOffset
val misalignLowVaddr = Cat(latchVaddr(latchVaddr.getWidth - 1, 3), 0.U(3.W))
val misalignLowVaddrDup = Cat(latchVaddrDup(latchVaddrDup.getWidth - 1, 3), 0.U(3.W))
val misalignHighVaddr = Cat(latchVaddr(latchVaddr.getWidth - 1, 3) + 1.U, 0.U(3.W))
val misalignHighVaddrDup = Cat(latchVaddrDup(latchVaddrDup.getWidth - 1, 3) + 1.U, 0.U(3.W))
val notCross16ByteVaddr = Cat(latchVaddr(latchVaddr.getWidth - 1, 4), 0.U(4.W))
val notCross16ByteVaddrDup = Cat(latchVaddrDup(latchVaddrDup.getWidth - 1, 4), 0.U(4.W))
val misalignLowVaddr = Cat(latchVaddr(VAddrBits - 1, 3), 0.U(3.W))
val misalignLowVaddrDup = Cat(latchVaddrDup(VAddrBits - 1, 3), 0.U(3.W))
val misalignHighVaddr = Cat(latchVaddr(VAddrBits - 1, 3) + 1.U, 0.U(3.W))
val misalignHighVaddrDup = Cat(latchVaddrDup(VAddrBits - 1, 3) + 1.U, 0.U(3.W))
val notCross16ByteVaddr = Cat(latchVaddr(VAddrBits - 1, 4), 0.U(4.W))
val notCross16ByteVaddrDup = Cat(latchVaddrDup(VAddrBits - 1, 4), 0.U(4.W))
// val misalignVaddr = Mux(notCross16ByteReg, notCross16ByteVaddr, Mux(isFirstSplit, misalignLowVaddr, misalignHighVaddr))
val misalignVaddr = Mux(isFirstSplit, misalignLowVaddr, misalignHighVaddr)
val misalignVaddrDup = Mux(isFirstSplit, misalignLowVaddrDup, misalignHighVaddrDup)