make taking max of multiple integers in config a bit easier
This commit is contained in:
		| @@ -13,6 +13,13 @@ import scala.math.max | |||||||
| import DefaultTestSuites._ | import DefaultTestSuites._ | ||||||
| import cde.{Parameters, Config, Dump, Knob} | import cde.{Parameters, Config, Dump, Knob} | ||||||
|  |  | ||||||
|  | object ConfigUtils { | ||||||
|  |   def max_int(values: Int*): Int = { | ||||||
|  |     values.reduce((a, b) => max(a, b)) | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | import ConfigUtils._ | ||||||
|  |  | ||||||
| class DefaultConfig extends Config ( | class DefaultConfig extends Config ( | ||||||
|   topDefinitions = { (pname,site,here) =>  |   topDefinitions = { (pname,site,here) =>  | ||||||
|     type PF = PartialFunction[Any,Any] |     type PF = PartialFunction[Any,Any] | ||||||
| @@ -77,11 +84,10 @@ class DefaultConfig extends Config ( | |||||||
|                          // Bits added by NASTI interconnect |                          // Bits added by NASTI interconnect | ||||||
|                          max(log2Up(site(MaxBanksPerMemoryChannel)), |                          max(log2Up(site(MaxBanksPerMemoryChannel)), | ||||||
|                             (if (site(UseDma)) 3 else 2))) |                             (if (site(UseDma)) 3 else 2))) | ||||||
|       case MIFMasterTagBits => log2Up(max( |       case MIFMasterTagBits => log2Up(max_int( | ||||||
|                                   site(NTiles), |                                   site(NTiles), | ||||||
|                                   max( |  | ||||||
|                                   site(NAcquireTransactors)+2, |                                   site(NAcquireTransactors)+2, | ||||||
|                                     site(NDmaTransactors)))) |                                   site(NDmaTransactors))) | ||||||
|       case MIFDataBits => Dump("MIF_DATA_BITS", 64) |       case MIFDataBits => Dump("MIF_DATA_BITS", 64) | ||||||
|       case MIFAddrBits => Dump("MIF_ADDR_BITS", |       case MIFAddrBits => Dump("MIF_ADDR_BITS", | ||||||
|                                site(PAddrBits) - site(CacheBlockOffsetBits)) |                                site(PAddrBits) - site(CacheBlockOffsetBits)) | ||||||
| @@ -195,9 +201,9 @@ class DefaultConfig extends Config ( | |||||||
|                               site(NTiles) * |                               site(NTiles) * | ||||||
|                                 (1 + (if(site(BuildRoCC).isEmpty) 0 |                                 (1 + (if(site(BuildRoCC).isEmpty) 0 | ||||||
|                                       else site(RoccNMemChannels))), |                                       else site(RoccNMemChannels))), | ||||||
|           maxClientXacts = max(site(NMSHRs) + 1, |           maxClientXacts = max_int(site(NMSHRs) + 1, | ||||||
|                                max(if (site(BuildRoCC).isEmpty) 1 else site(RoccMaxTaggedMemXacts), |                               if (site(BuildRoCC).isEmpty) 1 else site(RoccMaxTaggedMemXacts), | ||||||
|                                    if (site(UseDma)) 4 else 1)), |                               if (site(UseDma)) 4 else 1), | ||||||
|           maxClientsPerPort = max(if (site(BuildRoCC).isEmpty) 1 else 2, |           maxClientsPerPort = max(if (site(BuildRoCC).isEmpty) 1 else 2, | ||||||
|                                   if (site(UseDma)) site(NDmaTransactors) + 1 else 1), |                                   if (site(UseDma)) site(NDmaTransactors) + 1 else 1), | ||||||
|           maxManagerXacts = site(NAcquireTransactors) + 2, |           maxManagerXacts = site(NAcquireTransactors) + 2, | ||||||
|   | |||||||
| @@ -8,6 +8,7 @@ import junctions._ | |||||||
| import scala.collection.mutable.LinkedHashSet | import scala.collection.mutable.LinkedHashSet | ||||||
| import cde.{Parameters, Config, Dump, Knob} | import cde.{Parameters, Config, Dump, Knob} | ||||||
| import scala.math.max | import scala.math.max | ||||||
|  | import ConfigUtils._ | ||||||
|  |  | ||||||
| class WithGroundTest extends Config( | class WithGroundTest extends Config( | ||||||
|   (pname, site, here) => pname match { |   (pname, site, here) => pname match { | ||||||
| @@ -17,9 +18,9 @@ class WithGroundTest extends Config( | |||||||
|         nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels) + 1, |         nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels) + 1, | ||||||
|         nCachingClients = site(NTiles), |         nCachingClients = site(NTiles), | ||||||
|         nCachelessClients = site(NTiles) + (if (site(UseDma)) 2 else 1), |         nCachelessClients = site(NTiles) + (if (site(UseDma)) 2 else 1), | ||||||
|         maxClientXacts = max(site(NMSHRs) + 1, |         maxClientXacts = max_int(site(NMSHRs) + 1, | ||||||
|                              max(site(GroundTestMaxXacts), |                             if (site(BuildRoCC).isEmpty) 1 else site(RoccMaxTaggedMemXacts), | ||||||
|                                  if (site(UseDma)) 4 else 1)), |                             if (site(UseDma)) 4 else 1), | ||||||
|         maxClientsPerPort = max(if (site(BuildRoCC).isEmpty) 1 else 2, |         maxClientsPerPort = max(if (site(BuildRoCC).isEmpty) 1 else 2, | ||||||
|                                 if (site(UseDma)) site(NDmaTransactors) + 1 else 1), |                                 if (site(UseDma)) site(NDmaTransactors) + 1 else 1), | ||||||
|         maxManagerXacts = site(NAcquireTransactors) + 2, |         maxManagerXacts = site(NAcquireTransactors) + 2, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user