Configs.scala (e524aeedab50586b2dbc86a2180380085c43a4cd) | Configs.scala (53bd4e1cb2bbe049a6887a8f3c75c296803c14b0) |
---|---|
1/*************************************************************************************** 2* Copyright (c) 2021-2025 Beijing Institute of Open Source Chip (BOSC) 3* Copyright (c) 2020-2025 Institute of Computing Technology, Chinese Academy of Sciences 4* Copyright (c) 2020-2021 Peng Cheng Laboratory 5* 6* XiangShan is licensed under Mulan PSL v2. 7* You can use this software according to the terms and conditions of the Mulan PSL v2. 8* You may obtain a copy of Mulan PSL v2 at: --- 269 unchanged lines hidden (view full) --- 278}) 279 280case class L2CacheConfig 281( 282 size: String, 283 ways: Int = 8, 284 inclusive: Boolean = true, 285 banks: Int = 1, | 1/*************************************************************************************** 2* Copyright (c) 2021-2025 Beijing Institute of Open Source Chip (BOSC) 3* Copyright (c) 2020-2025 Institute of Computing Technology, Chinese Academy of Sciences 4* Copyright (c) 2020-2021 Peng Cheng Laboratory 5* 6* XiangShan is licensed under Mulan PSL v2. 7* You can use this software according to the terms and conditions of the Mulan PSL v2. 8* You may obtain a copy of Mulan PSL v2 at: --- 269 unchanged lines hidden (view full) --- 278}) 279 280case class L2CacheConfig 281( 282 size: String, 283 ways: Int = 8, 284 inclusive: Boolean = true, 285 banks: Int = 1, |
286 tp: Boolean = true | 286 tp: Boolean = true, 287 enableFlush: Boolean = false |
287) extends Config((site, here, up) => { 288 case XSTileKey => 289 require(inclusive, "L2 must be inclusive") 290 val nKB = size.toUpperCase() match { 291 case s"${k}KB" => k.trim().toInt 292 case s"${m}MB" => (m.trim().toDouble * 1024).toInt 293 } 294 val upParams = up(XSTileKey) --- 17 unchanged lines hidden (view full) --- 312 dataECC = Some("secded"), 313 enableTagECC = true, 314 enableDataECC = true, 315 dataCheck = Some("oddparity"), 316 enablePoison = true, 317 prefetch = Seq(BOPParameters()) ++ 318 (if (tp) Seq(TPParameters()) else Nil) ++ 319 (if (p.prefetcher.nonEmpty) Seq(PrefetchReceiverParams()) else Nil), | 288) extends Config((site, here, up) => { 289 case XSTileKey => 290 require(inclusive, "L2 must be inclusive") 291 val nKB = size.toUpperCase() match { 292 case s"${k}KB" => k.trim().toInt 293 case s"${m}MB" => (m.trim().toDouble * 1024).toInt 294 } 295 val upParams = up(XSTileKey) --- 17 unchanged lines hidden (view full) --- 313 dataECC = Some("secded"), 314 enableTagECC = true, 315 enableDataECC = true, 316 dataCheck = Some("oddparity"), 317 enablePoison = true, 318 prefetch = Seq(BOPParameters()) ++ 319 (if (tp) Seq(TPParameters()) else Nil) ++ 320 (if (p.prefetcher.nonEmpty) Seq(PrefetchReceiverParams()) else Nil), |
321 enableL2Flush = enableFlush, |
|
320 enablePerf = !site(DebugOptionsKey).FPGAPlatform && site(DebugOptionsKey).EnablePerfDebug, 321 enableRollingDB = site(DebugOptionsKey).EnableRollingDB, 322 enableMonitor = site(DebugOptionsKey).AlwaysBasicDB, 323 elaboratedTopDown = !site(DebugOptionsKey).FPGAPlatform, 324 hasMbist = p.hasMbist, 325 hasSramCtl = p.hasSramCtl, 326 )), 327 L2NBanks = banks --- 237 unchanged lines hidden --- | 322 enablePerf = !site(DebugOptionsKey).FPGAPlatform && site(DebugOptionsKey).EnablePerfDebug, 323 enableRollingDB = site(DebugOptionsKey).EnableRollingDB, 324 enableMonitor = site(DebugOptionsKey).AlwaysBasicDB, 325 elaboratedTopDown = !site(DebugOptionsKey).FPGAPlatform, 326 hasMbist = p.hasMbist, 327 hasSramCtl = p.hasSramCtl, 328 )), 329 L2NBanks = banks --- 237 unchanged lines hidden --- |