rocket: TIMs should never be cached
This commit is contained in:
parent
b64609bfe8
commit
66e4bfc2d9
@ -29,7 +29,7 @@ class GroundTestCoreplex(implicit p: Parameters) extends BaseCoreplex
|
|||||||
sbus.fromSyncTiles(BufferParams.default, TileMasterPortParams().adapterChain(this)) :=* _.node
|
sbus.fromSyncTiles(BufferParams.default, TileMasterPortParams().adapterChain(this)) :=* _.node
|
||||||
}
|
}
|
||||||
|
|
||||||
val pbusRAM = LazyModule(new TLRAM(AddressSet(testRamAddr, 0xffff), false, pbus.beatBytes))
|
val pbusRAM = LazyModule(new TLRAM(AddressSet(testRamAddr, 0xffff), true, false, pbus.beatBytes))
|
||||||
pbusRAM.node := pbus.toVariableWidthSlaves
|
pbusRAM.node := pbus.toVariableWidthSlaves
|
||||||
|
|
||||||
override lazy val module = new GroundTestCoreplexModule(this)
|
override lazy val module = new GroundTestCoreplexModule(this)
|
||||||
@ -47,7 +47,7 @@ class GroundTestCoreplexModule[+L <: GroundTestCoreplex](_outer: L) extends Base
|
|||||||
|
|
||||||
/** Adds a SRAM to the system for testing purposes. */
|
/** Adds a SRAM to the system for testing purposes. */
|
||||||
trait HasPeripheryTestRAMSlave extends HasPeripheryBus {
|
trait HasPeripheryTestRAMSlave extends HasPeripheryBus {
|
||||||
val testram = LazyModule(new TLRAM(AddressSet(0x52000000, 0xfff), true, pbus.beatBytes))
|
val testram = LazyModule(new TLRAM(AddressSet(0x52000000, 0xfff), true, true, pbus.beatBytes))
|
||||||
testram.node := pbus.toVariableWidthSlaves
|
testram.node := pbus.toVariableWidthSlaves
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@ class ICache(val icacheParams: ICacheParams, val hartid: Int)(implicit p: Parame
|
|||||||
Seq(TLManagerParameters(
|
Seq(TLManagerParameters(
|
||||||
address = Seq(AddressSet(itimAddr, size-1)),
|
address = Seq(AddressSet(itimAddr, size-1)),
|
||||||
resources = device.reg("mem"),
|
resources = device.reg("mem"),
|
||||||
regionType = RegionType.UNCACHED,
|
regionType = RegionType.UNCACHEABLE,
|
||||||
executable = true,
|
executable = true,
|
||||||
supportsPutFull = TransferSizes(1, wordBytes),
|
supportsPutFull = TransferSizes(1, wordBytes),
|
||||||
supportsPutPartial = TransferSizes(1, wordBytes),
|
supportsPutPartial = TransferSizes(1, wordBytes),
|
||||||
|
@ -18,7 +18,7 @@ class ScratchpadSlavePort(address: AddressSet, coreDataBytes: Int, usingAtomics:
|
|||||||
Seq(TLManagerParameters(
|
Seq(TLManagerParameters(
|
||||||
address = List(address),
|
address = List(address),
|
||||||
resources = device.reg("mem"),
|
resources = device.reg("mem"),
|
||||||
regionType = RegionType.UNCACHED,
|
regionType = RegionType.UNCACHEABLE,
|
||||||
executable = true,
|
executable = true,
|
||||||
supportsArithmetic = if (usingAtomics) TransferSizes(4, coreDataBytes) else TransferSizes.none,
|
supportsArithmetic = if (usingAtomics) TransferSizes(4, coreDataBytes) else TransferSizes.none,
|
||||||
supportsLogical = if (usingAtomics) TransferSizes(4, coreDataBytes) else TransferSizes.none,
|
supportsLogical = if (usingAtomics) TransferSizes(4, coreDataBytes) else TransferSizes.none,
|
||||||
|
@ -10,6 +10,7 @@ import freechips.rocketchip.util._
|
|||||||
|
|
||||||
class TLRAM(
|
class TLRAM(
|
||||||
address: AddressSet,
|
address: AddressSet,
|
||||||
|
cacheable: Boolean = true,
|
||||||
executable: Boolean = true,
|
executable: Boolean = true,
|
||||||
beatBytes: Int = 4,
|
beatBytes: Int = 4,
|
||||||
devName: Option[String] = None,
|
devName: Option[String] = None,
|
||||||
@ -20,7 +21,7 @@ class TLRAM(
|
|||||||
Seq(TLManagerParameters(
|
Seq(TLManagerParameters(
|
||||||
address = List(address) ++ errors,
|
address = List(address) ++ errors,
|
||||||
resources = resources,
|
resources = resources,
|
||||||
regionType = RegionType.UNCACHED,
|
regionType = if (cacheable) RegionType.UNCACHED else RegionType.UNCACHEABLE,
|
||||||
executable = executable,
|
executable = executable,
|
||||||
supportsGet = TransferSizes(1, beatBytes),
|
supportsGet = TransferSizes(1, beatBytes),
|
||||||
supportsPutPartial = TransferSizes(1, beatBytes),
|
supportsPutPartial = TransferSizes(1, beatBytes),
|
||||||
|
Loading…
Reference in New Issue
Block a user