Merge remote-tracking branch 'origin/master' into tl2-tile
This commit is contained in:
		 Submodule riscv-tools updated: 886d8131db...40919ef94f
									
								
							| @@ -119,16 +119,51 @@ class BaseCoreplexConfig extends Config ( | |||||||
| class WithNCores(n: Int) extends Config( | class WithNCores(n: Int) extends Config( | ||||||
|   (pname,site,here) => pname match { |   (pname,site,here) => pname match { | ||||||
|     case NTiles => n |     case NTiles => n | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class WithNBanksPerMemChannel(n: Int) extends Config( | class WithNBanksPerMemChannel(n: Int) extends Config( | ||||||
|   (pname, site, here, up) => pname match { |   (pname, site, here, up) => pname match { | ||||||
|     case BankedL2Config => up(BankedL2Config).copy(nBanksPerChannel = n) |     case BankedL2Config => up(BankedL2Config).copy(nBanksPerChannel = n) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class WithNTrackersPerBank(n: Int) extends Config( | class WithNTrackersPerBank(n: Int) extends Config( | ||||||
|   (pname, site, here, up) => pname match { |   (pname, site, here, up) => pname match { | ||||||
|     case BroadcastConfig => up(BroadcastConfig).copy(nTrackers = n) |     case BroadcastConfig => up(BroadcastConfig).copy(nTrackers = n) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | // This is the number of sets **per way** | ||||||
|  | class WithL1ICacheSets(sets: Int) extends Config( | ||||||
|  |   (pname, site, here, up) => pname match { | ||||||
|  |     case CacheName("L1I") => up(CacheName("L1I")).copy(nSets = sets) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | // This is the number of sets **per way** | ||||||
|  | class WithL1DCacheSets(sets: Int) extends Config( | ||||||
|  |   (pname, site, here, up) => pname match { | ||||||
|  |     case CacheName("L1D") => up(CacheName("L1D")).copy(nSets = sets) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithL1ICacheWays(ways: Int) extends Config( | ||||||
|  |   (pname, site, here, up) => pname match { | ||||||
|  |     case CacheName("L1I") => up(CacheName("L1I")).copy(nWays = ways) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithL1DCacheWays(ways: Int) extends Config( | ||||||
|  |   (pname, site, here, up) => pname match { | ||||||
|  |     case CacheName("L1D") => up(CacheName("L1D")).copy(nWays = ways) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithCacheBlockBytes(linesize: Int) extends Config( | ||||||
|  |   (pname,site,here) => pname match { | ||||||
|  |     case CacheBlockBytes => linesize | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
| class WithDataScratchpad(n: Int) extends Config( | class WithDataScratchpad(n: Int) extends Config( | ||||||
| @@ -238,3 +273,33 @@ class WithRoccExample extends Config( | |||||||
|     case RoccMaxTaggedMemXacts => 1 |     case RoccMaxTaggedMemXacts => 1 | ||||||
|     case _ => throw new CDEMatchError |     case _ => throw new CDEMatchError | ||||||
|   }) |   }) | ||||||
|  |  | ||||||
|  | class WithDefaultBtb extends Config( | ||||||
|  |   (pname,site,here) => pname match { | ||||||
|  |     case BtbKey => BtbParameters() | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithFastMulDiv extends Config( | ||||||
|  |   (pname,site,here) => pname match { | ||||||
|  |     case MulDivKey => Some(MulDivConfig(mulUnroll = 8, mulEarlyOut = (site(XLen) > 32), divEarlyOut = true)) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithoutMulDiv extends Config( | ||||||
|  |   (pname, site, here) => pname match { | ||||||
|  |     case MulDivKey => None | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithoutFPU extends Config( | ||||||
|  |   (pname, site, here) => pname match { | ||||||
|  |     case FPUKey => None | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|  |  | ||||||
|  | class WithFPUWithoutDivSqrt extends Config ( | ||||||
|  |   (pname, site, here) => pname match { | ||||||
|  |     case FPUKey => Some(FPUConfig(divSqrt = false)) | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   }) | ||||||
|   | |||||||
| @@ -154,3 +154,17 @@ class WithoutTLMonitors extends Config ( | |||||||
|     case _ => throw new CDEMatchError |     case _ => throw new CDEMatchError | ||||||
|   } |   } | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | class WithNExtTopInterrupts(nExtInts: Int) extends Config( | ||||||
|  |   (pname, site, here) => pname match { | ||||||
|  |     case NExtTopInterrupts => nExtInts | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   } | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | class WithNBreakpoints(hwbp: Int) extends Config ( | ||||||
|  |   (pname,site,here) => pname match { | ||||||
|  |     case NBreakpoints => hwbp | ||||||
|  |     case _ => throw new CDEMatchError | ||||||
|  |   } | ||||||
|  | ) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user