1
0

make sure master_xact_id field is large enough for temporary extra release trackers

This commit is contained in:
Henry Cook 2013-04-30 11:00:23 -07:00
parent 12d394811e
commit fedc2753e4
2 changed files with 6 additions and 4 deletions

View File

@ -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
}

View File

@ -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)