59 lines
1.7 KiB
Scala
59 lines
1.7 KiB
Scala
//See LICENSE for license details.
|
|
package firesim.firesim
|
|
|
|
import freechips.rocketchip.config.{Parameters, Config, Field}
|
|
|
|
import midas.{EndpointKey}
|
|
import midas.widgets.{EndpointMap}
|
|
import midas.models._
|
|
|
|
import firesim.endpoints._
|
|
import firesim.configs._
|
|
|
|
/*******************************************************************************
|
|
* Full PLATFORM_CONFIG Configurations. These set simulator parameters.
|
|
*
|
|
* In general, if you're adding or removing features from any of these, you
|
|
* should CREATE A NEW ONE, WITH A NEW NAME. This is because the manager
|
|
* will store this name as part of the tags for the AGFI, so that later you can
|
|
* reconstruct what is in a particular AGFI. These tags are also used to
|
|
* determine which driver to build.
|
|
*******************************************************************************/
|
|
class FireSimConfig extends Config(
|
|
new WithSerialWidget ++
|
|
new WithUARTWidget ++
|
|
new WithSimpleNICWidget ++
|
|
new WithBlockDevWidget ++
|
|
new WithDefaultMemModel ++
|
|
new WithTracerVWidget ++
|
|
new BasePlatformConfig)
|
|
|
|
class FireSimClockDivConfig extends Config(
|
|
new WithDefaultMemModel(clockDivision = 2) ++
|
|
new FireSimConfig)
|
|
|
|
class FireSimDDR3Config extends Config(
|
|
new FCFS16GBQuadRank ++
|
|
new FireSimConfig)
|
|
|
|
class FireSimDDR3LLC4MBConfig extends Config(
|
|
new FCFS16GBQuadRankLLC4MB ++
|
|
new FireSimConfig)
|
|
|
|
class FireSimDDR3FRFCFSConfig extends Config(
|
|
new FRFCFS16GBQuadRank ++
|
|
new FireSimConfig)
|
|
|
|
class FireSimDDR3FRFCFSLLC4MBConfig extends Config(
|
|
new FRFCFS16GBQuadRankLLC4MB ++
|
|
new FireSimConfig)
|
|
|
|
class FireSimDDR3FRFCFSLLC4MB3ClockDivConfig extends Config(
|
|
new FRFCFS16GBQuadRankLLC4MB3Div ++
|
|
new FireSimConfig)
|
|
|
|
class Midas2Config extends Config(
|
|
new WithMultiCycleRamModels ++
|
|
new FireSimConfig)
|
|
|