rocket: link itim to its cpu
This commit is contained in:
@ -53,9 +53,9 @@ class FrontendIO(implicit p: Parameters) extends CoreBundle()(p) {
|
||||
val perf = new FrontendPerfEvents().asInput
|
||||
}
|
||||
|
||||
class Frontend(val icacheParams: ICacheParams, hartid: Int)(implicit p: Parameters) extends LazyModule {
|
||||
class Frontend(val icacheParams: ICacheParams, hartid: Int, owner: => Option[Device] = None)(implicit p: Parameters) extends LazyModule {
|
||||
lazy val module = new FrontendModule(this)
|
||||
val icache = LazyModule(new ICache(icacheParams, hartid))
|
||||
val icache = LazyModule(new ICache(icacheParams, hartid, owner))
|
||||
val masterNode = TLOutputNode()
|
||||
val slaveNode = TLInputNode()
|
||||
|
||||
@ -184,7 +184,8 @@ class FrontendModule(outer: Frontend) extends LazyModuleImp(outer)
|
||||
/** Mix-ins for constructing tiles that have an ICache-based pipeline frontend */
|
||||
trait HasICacheFrontend extends CanHavePTW with HasTileLinkMasterPort {
|
||||
val module: HasICacheFrontendModule
|
||||
val frontend = LazyModule(new Frontend(tileParams.icache.get, hartid: Int))
|
||||
def itimOwner : Option[Device] = None
|
||||
val frontend = LazyModule(new Frontend(tileParams.icache.get, hartid: Int, itimOwner))
|
||||
val hartid: Int
|
||||
tileBus.node := frontend.masterNode
|
||||
nPTWPorts += 1
|
||||
|
Reference in New Issue
Block a user