add fenceiGenAsANop

This commit is contained in:
Dolu1990 2018-11-13 15:17:35 +01:00
parent 0d92a5e5cd
commit cc48fc7403
1 changed files with 6 additions and 1 deletions

View File

@ -52,7 +52,8 @@ trait PredictionInterface{
class BranchPlugin(earlyBranch : Boolean, class BranchPlugin(earlyBranch : Boolean,
catchAddressMisaligned : Boolean = false, catchAddressMisaligned : Boolean = false,
fenceiGenAsAJump : Boolean = false) extends Plugin[VexRiscv] with PredictionInterface{ fenceiGenAsAJump : Boolean = false,
fenceiGenAsANop : Boolean = false) extends Plugin[VexRiscv] with PredictionInterface{
def catchAddressMisalignedForReal = catchAddressMisaligned && !pipeline(RVC_GEN) def catchAddressMisalignedForReal = catchAddressMisaligned && !pipeline(RVC_GEN)
lazy val branchStage = if(earlyBranch) pipeline.execute else pipeline.memory lazy val branchStage = if(earlyBranch) pipeline.execute else pipeline.memory
@ -127,6 +128,10 @@ class BranchPlugin(earlyBranch : Boolean,
)) ))
} }
if(fenceiGenAsANop){
decoderService.add(List(FENCEI -> List()))
}
val pcManagerService = pipeline.service(classOf[JumpService]) val pcManagerService = pipeline.service(classOf[JumpService])
jumpInterface = pcManagerService.createJumpInterface(branchStage) jumpInterface = pcManagerService.createJumpInterface(branchStage)