Update IBusCachedPlugin parameters
This commit is contained in:
parent
3b54ecf303
commit
c8cec59f1d
|
@ -40,6 +40,7 @@ object TestsWorkspace {
|
|||
// compressedGen = true
|
||||
// ),
|
||||
new IBusCachedPlugin(
|
||||
resetVector = 0x80000000l,
|
||||
config = InstructionCacheConfig(
|
||||
cacheSize = 1024*16,
|
||||
bytePerLine = 32,
|
||||
|
|
|
@ -17,7 +17,7 @@ abstract class IBusFetcherImpl(val catchAccessFault : Boolean,
|
|||
val injectorReadyCutGen : Boolean,
|
||||
val relaxedPcCalculation : Boolean,
|
||||
val prediction : BranchPrediction,
|
||||
val catchAddressMisaligned : Boolean,
|
||||
val catchAddressMisaligned : Boolean, //Catch broken prediction ?
|
||||
val injectorStage : Boolean) extends Plugin[VexRiscv] with JumpService with IBusFetcher{
|
||||
var prefetchExceptionPort : Flow[ExceptionCause] = null
|
||||
|
||||
|
|
|
@ -9,17 +9,24 @@ import spinal.lib._
|
|||
// var iBus : InstructionCacheMemBus = null
|
||||
// override def build(pipeline: VexRiscv): Unit = ???
|
||||
//}
|
||||
class IBusCachedPlugin(config : InstructionCacheConfig, memoryTranslatorPortConfig : Any = null) extends IBusFetcherImpl(
|
||||
class IBusCachedPlugin(resetVector : BigInt = 0x80000000l,
|
||||
relaxedPcCalculation : Boolean = false,
|
||||
prediction : BranchPrediction = NONE,
|
||||
compressedGen : Boolean = false,
|
||||
keepPcPlus4 : Boolean = false,
|
||||
catchAddressMisaligned : Boolean = false,
|
||||
config : InstructionCacheConfig,
|
||||
memoryTranslatorPortConfig : Any = null) extends IBusFetcherImpl(
|
||||
catchAccessFault = config.catchAccessFault,
|
||||
resetVector = BigInt(0x80000000l),
|
||||
keepPcPlus4 = false,
|
||||
decodePcGen = true,
|
||||
compressedGen = true,
|
||||
resetVector = resetVector,
|
||||
keepPcPlus4 = keepPcPlus4,
|
||||
decodePcGen = compressedGen,
|
||||
compressedGen = compressedGen,
|
||||
cmdToRspStageCount = (if(config.twoCycleCache) 2 else 1),
|
||||
injectorReadyCutGen = false,
|
||||
relaxedPcCalculation = false,
|
||||
prediction = NONE,
|
||||
catchAddressMisaligned = false,
|
||||
relaxedPcCalculation = relaxedPcCalculation,
|
||||
prediction = prediction,
|
||||
catchAddressMisaligned = catchAddressMisaligned,
|
||||
injectorStage = !config.twoCycleCache){
|
||||
import config._
|
||||
|
||||
|
|
|
@ -104,10 +104,10 @@ case class IBusSimpleBus(interfaceKeepData : Boolean) extends Bundle with IMaste
|
|||
|
||||
|
||||
class IBusSimplePlugin(resetVector : BigInt,
|
||||
relaxedPcCalculation : Boolean,
|
||||
prediction : BranchPrediction,
|
||||
catchAccessFault : Boolean,
|
||||
catchAddressMisaligned : Boolean,
|
||||
catchAccessFault : Boolean = false,
|
||||
catchAddressMisaligned : Boolean = false,
|
||||
relaxedPcCalculation : Boolean = false,
|
||||
prediction : BranchPrediction = NONE,
|
||||
keepPcPlus4 : Boolean = false,
|
||||
compressedGen : Boolean = false,
|
||||
busLatencyMin : Int = 1,
|
||||
|
|
Loading…
Reference in New Issue