aboutsummaryrefslogtreecommitdiff
path: root/VexRiscv/src/test/scala/vexriscv/experimental/config.scala
blob: d6eca551181495aa7cdc9474c3cafeee58c99418 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package vexriscv.experimental

import spinal.core.SpinalVerilog
import vexriscv.ip.InstructionCacheConfig
import vexriscv.{VexRiscv, VexRiscvConfig, plugin}
import vexriscv.plugin._

import scala.collection.mutable.ArrayBuffer

object Presentation extends App{

  val config = VexRiscvConfig()

  config.plugins ++= List(
//    new IBusSimplePlugin(resetVector = 0x80000000l),
    new DBusSimplePlugin,
    new CsrPlugin(CsrPluginConfig.smallest),
    new DecoderSimplePlugin,
    new RegFilePlugin(regFileReadyKind = plugin.SYNC),
    new IntAluPlugin,
    new SrcPlugin,
    new MulDivIterativePlugin(
      mulUnrollFactor = 4,
      divUnrollFactor = 1
    ),
    new FullBarrelShifterPlugin,
    new HazardSimplePlugin,
    new BranchPlugin(
      earlyBranch = false
    ),
    new YamlPlugin("cpu0.yaml")
  )

  new VexRiscv(config)
}