From fedc2753e4c54476f34c4ff1b559c1b8baf40b46 Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Tue, 30 Apr 2013 11:00:23 -0700 Subject: [PATCH] make sure master_xact_id field is large enough for temporary extra release trackers --- uncore/src/consts.scala | 5 +++-- uncore/src/uncore.scala | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/uncore/src/consts.scala b/uncore/src/consts.scala index cde8d3b9..9d343b3f 100644 --- a/uncore/src/consts.scala +++ b/uncore/src/consts.scala @@ -10,8 +10,9 @@ abstract trait CoherenceConfigConstants { } trait UncoreConstants { - val NGLOBAL_XACTS = 8 - val MASTER_XACT_ID_MAX_BITS = log2Up(NGLOBAL_XACTS) + val NGLOBAL_ACQ_XACTS = 8 + val NGLOBAL_REL_XACTS = 4 + val MASTER_XACT_ID_MAX_BITS = log2Up(NGLOBAL_ACQ_XACTS+NGLOBAL_REL_XACTS) val CACHE_DATA_SIZE_IN_BYTES = 1 << 6 } diff --git a/uncore/src/uncore.scala b/uncore/src/uncore.scala index 5dcb192f..f0571d89 100644 --- a/uncore/src/uncore.scala +++ b/uncore/src/uncore.scala @@ -23,8 +23,9 @@ class L2CoherenceAgent(bankId: Int)(implicit conf: UncoreConfiguration) extends { implicit val lnConf = conf.ln val co = conf.co - val trackerList = (0 until conf.ln.nClients).map(new VoluntaryReleaseTracker(_, bankId)) ++ - (conf.ln.nClients until conf.ln.nClients + NGLOBAL_XACTS).map(new AcquireTracker(_, bankId)) + require(conf.ln.nClients < NGLOBAL_REL_XACTS) //TODO: handle in config + val trackerList = (0 until NGLOBAL_REL_XACTS).map(new VoluntaryReleaseTracker(_, bankId)) ++ + (NGLOBAL_REL_XACTS until NGLOBAL_REL_XACTS + NGLOBAL_ACQ_XACTS).map(new AcquireTracker(_, bankId)) trackerList.map(_.io.tile_incoherent := io.incoherent.toBits)