make sure master_xact_id field is large enough for temporary extra release trackers
This commit is contained in:
parent
12d394811e
commit
fedc2753e4
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user