Skip to content

Commit

Permalink
Merge pull request #3539 from chipsalliance/rocc-csr-fence
Browse files Browse the repository at this point in the history
Fence for RoCC on rocc-csr writes
  • Loading branch information
jerryz123 authored Feb 12, 2024
2 parents baa9f45 + dfaa357 commit c025c2e
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/main/scala/rocket/RocketCore.scala
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,8 @@ class Rocket(tile: RocketTile)(implicit p: Parameters) extends CoreModule()(p)
val id_rocc_busy = usingRoCC.B &&
(io.rocc.busy || ex_reg_valid && ex_ctrl.rocc ||
mem_reg_valid && mem_ctrl.rocc || wb_reg_valid && wb_ctrl.rocc)
val id_do_fence = WireDefault(id_rocc_busy && id_ctrl.fence ||
val id_csr_rocc_write = tile.roccCSRs.flatten.map(_.id.U === id_inst(0)(31,20)).orR && id_csr_en && !id_csr_ren
val id_do_fence = WireDefault(id_rocc_busy && (id_ctrl.fence || id_csr_rocc_write) ||
id_mem_busy && (id_ctrl.amo && id_amo_rl || id_ctrl.fence_i || id_reg_fence && (id_ctrl.mem || id_ctrl.rocc)))

val bpu = Module(new BreakpointUnit(nBreakpoints))
Expand Down

0 comments on commit c025c2e

Please sign in to comment.