Skip to content

Commit

Permalink
Merge pull request #343 from riscv-boom/mapping-bypass-qor
Browse files Browse the repository at this point in the history
[ren] Maptable Bypass QoR
  • Loading branch information
bkorpan committed Jul 25, 2019
2 parents 783be01 + 3cade1c commit e672f92
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions src/main/scala/exu/rename/rename-maptable.scala
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,16 @@ class RenameMapTable(

// Read out mappings.
for (i <- 0 until plWidth) {
val remapped_col = remap_table(i)
io.map_resps(i).prs1 := remapped_col(io.map_reqs(i).lrs1)
io.map_resps(i).prs2 := remapped_col(io.map_reqs(i).lrs2)
if (float) io.map_resps(i).prs3 := remapped_col(io.map_reqs(i).lrs3) else io.map_resps(i).prs3 := 0.U(pregSz.W)
io.map_resps(i).stale_pdst := remapped_col(io.map_reqs(i).ldst)
io.map_resps(i).prs1 := (0 until i).foldLeft(map_table(io.map_reqs(i).lrs1)) ((p,k) =>
Mux(io.remap_reqs(k).valid && io.remap_reqs(k).ldst === io.map_reqs(i).lrs1, io.remap_reqs(k).pdst, p))
io.map_resps(i).prs2 := (0 until i).foldLeft(map_table(io.map_reqs(i).lrs2)) ((p,k) =>
Mux(io.remap_reqs(k).valid && io.remap_reqs(k).ldst === io.map_reqs(i).lrs2, io.remap_reqs(k).pdst, p))
io.map_resps(i).prs3 := (0 until i).foldLeft(map_table(io.map_reqs(i).lrs3)) ((p,k) =>
Mux(io.remap_reqs(k).valid && io.remap_reqs(k).ldst === io.map_reqs(i).lrs3, io.remap_reqs(k).pdst, p))
io.map_resps(i).stale_pdst := (0 until i).foldLeft(map_table(io.map_reqs(i).ldst)) ((p,k) =>
Mux(io.remap_reqs(k).valid && io.remap_reqs(k).ldst === io.map_reqs(i).ldst, io.remap_reqs(k).pdst, p))

if (!float) io.map_resps(i).prs3 := DontCare
}

// Don't flag the creation of duplicate 'p0' mappings during rollback.
Expand Down

0 comments on commit e672f92

Please sign in to comment.