implement DMA unit
This commit is contained in:
@ -14,10 +14,12 @@ class WithGroundTest extends Config(
|
||||
coherencePolicy = new MESICoherence(site(L2DirectoryRepresentation)),
|
||||
nManagers = site(NBanksPerMemoryChannel)*site(NMemoryChannels),
|
||||
nCachingClients = site(NTiles),
|
||||
nCachelessClients = site(NTiles) + 1,
|
||||
nCachelessClients = site(NTiles) + (if (site(UseDma)) 2 else 1),
|
||||
maxClientXacts = max(site(NMSHRs) + site(NIOMSHRs),
|
||||
site(GroundTestMaxXacts)),
|
||||
maxClientsPerPort = 1,
|
||||
max(site(GroundTestMaxXacts),
|
||||
if (site(UseDma)) 4 else 1)),
|
||||
maxClientsPerPort = max(if (site(BuildRoCC).isEmpty) 1 else 2,
|
||||
if (site(UseDma)) site(NDmaTransactors) else 1),
|
||||
maxManagerXacts = site(NAcquireTransactors) + 2,
|
||||
dataBits = site(CacheBlockBytes)*8)
|
||||
case BuildTiles => {
|
||||
@ -69,6 +71,22 @@ class WithCacheRegressionTest extends Config(
|
||||
case GroundTestMaxXacts => 3
|
||||
})
|
||||
|
||||
class WithDmaTest extends Config(
|
||||
(pname, site, here) => pname match {
|
||||
case UseDma => true
|
||||
case BuildGroundTest =>
|
||||
(id: Int, p: Parameters) => Module(new DmaTest()(p))
|
||||
case DmaTestSet => DmaTestCases(
|
||||
(0x00001FF0, 0x00002FF4, 72),
|
||||
(0x00001FF4, 0x00002FF0, 72),
|
||||
(0x00001FF0, 0x00002FE0, 72),
|
||||
(0x00001FE0, 0x00002FF0, 72),
|
||||
(0x00884DA4, 0x008836C0, 40),
|
||||
(0x00800008, 0x00800008, 64))
|
||||
case DmaTestDataStart => 0x3012CC00
|
||||
case DmaTestDataStride => 8
|
||||
})
|
||||
|
||||
class GroundTestConfig extends Config(new WithGroundTest ++ new DefaultConfig)
|
||||
class MemtestConfig extends Config(new WithMemtest ++ new GroundTestConfig)
|
||||
class MemtestL2Config extends Config(
|
||||
@ -79,6 +97,7 @@ class BroadcastRegressionTestConfig extends Config(
|
||||
new WithBroadcastRegressionTest ++ new GroundTestConfig)
|
||||
class CacheRegressionTestConfig extends Config(
|
||||
new WithCacheRegressionTest ++ new WithL2Cache ++ new GroundTestConfig)
|
||||
class DmaTestConfig extends Config(new WithDmaTest ++ new WithL2Cache ++ new GroundTestConfig)
|
||||
|
||||
class FancyMemtestConfig extends Config(
|
||||
new With2Cores ++ new With2MemoryChannels ++ new With2BanksPerMemChannel ++
|
||||
|
Reference in New Issue
Block a user