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 { trait UncoreConstants {
val NGLOBAL_XACTS = 8 val NGLOBAL_ACQ_XACTS = 8
val MASTER_XACT_ID_MAX_BITS = log2Up(NGLOBAL_XACTS) 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 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 implicit val lnConf = conf.ln
val co = conf.co val co = conf.co
val trackerList = (0 until conf.ln.nClients).map(new VoluntaryReleaseTracker(_, bankId)) ++ require(conf.ln.nClients < NGLOBAL_REL_XACTS) //TODO: handle in config
(conf.ln.nClients until conf.ln.nClients + NGLOBAL_XACTS).map(new AcquireTracker(_, bankId)) 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) trackerList.map(_.io.tile_incoherent := io.incoherent.toBits)