1
0

tilelink2 broadcast: make it controlled via Config

This commit is contained in:
Wesley W. Terpstra
2016-11-17 17:26:49 -08:00
parent f4ca5ea1f3
commit 179c93db42
8 changed files with 43 additions and 46 deletions

View File

@ -10,20 +10,9 @@ import uncore.util._
import util._
import rocket._
/** Should the broadcast hub have no buffers */
case object BufferlessBroadcast extends Field[Boolean]
trait BroadcastL2 extends BankedL2CoherenceManagers {
def l2ManagerFactory() = {
val bh = LazyModule(new TLBroadcast(l1tol2_lineBytes, nTrackersPerBank, p(BufferlessBroadcast)))
(bh.node, bh.node)
}
}
/////
class DefaultCoreplex(implicit p: Parameters) extends BaseCoreplex
with BroadcastL2
with CoreplexRISCVPlatform
with RocketPlex {
override lazy val module = new DefaultCoreplexModule(this, () => new DefaultCoreplexBundle(this))
@ -119,7 +108,6 @@ trait AsyncConnectionModule {
}
class MultiClockCoreplex(implicit p: Parameters) extends BaseCoreplex
with BroadcastL2
with AsyncConnection {
override lazy val module = new MultiClockCoreplexModule(this, () => new MultiClockCoreplexBundle(this))
}