38 lines
963 B
Scala
38 lines
963 B
Scala
// See LICENSE for license details.
|
|
package sifive.freedom.everywhere.e300artydevkit
|
|
|
|
import config._
|
|
import coreplex._
|
|
import rocketchip._
|
|
|
|
|
|
class DefaultFreedomEConfig extends Config(
|
|
new WithStatelessBridge ++
|
|
new WithNBreakpoints(2) ++
|
|
new WithRV32 ++
|
|
new DefaultSmallConfig
|
|
)
|
|
|
|
class WithBootROMFile(bootROMFile: String) extends Config(
|
|
(pname, site, here) => pname match {
|
|
case BootROMFile => bootROMFile
|
|
case _ => throw new CDEMatchError
|
|
}
|
|
)
|
|
|
|
class E300ArtyDevKitConfig extends Config(
|
|
new WithBootROMFile("./bootrom/e300artydevkit.img") ++
|
|
new WithNExtTopInterrupts(0) ++
|
|
new WithJtagDTM ++
|
|
new WithL1ICacheSets(8192/32) ++ // 8 KiB **per set**
|
|
new WithCacheBlockBytes(32) ++
|
|
new WithL1ICacheWays(2) ++
|
|
new WithDefaultBtb ++
|
|
new WithFastMulDiv ++
|
|
new WithDataScratchpad(16384) ++
|
|
new WithNMemoryChannels(0) ++
|
|
new WithoutFPU ++
|
|
new WithTLMonitors ++
|
|
new DefaultFreedomEConfig
|
|
)
|