mirror of
https://github.com/rdolbeau/NuBusFPGA.git
synced 2025-02-14 12:31:36 +00:00
forgotten to push Vex changes
This commit is contained in:
parent
c2f7c5f9e0
commit
4b53fc945a
@ -1,7 +1,10 @@
|
|||||||
package vexriscv.demo
|
package vexriscv.demo
|
||||||
|
|
||||||
// CG6 Plugin is:
|
// CG6Plugin is:
|
||||||
// ./gen_plugin -n CG6 -i data_bitmanip.txt -i data_bitmanip_ZbbOnly.txt -I SH2ADD -I MINU -I MAXU -I REV8 -I CMOV -I CMIX -I FSR -I SEXTdotB >| CG6.scala
|
// ./gen_plugin -n CG6 -i data_bitmanip.txt -i data_bitmanip_ZbbOnly.txt -I SH2ADD -I MINU -I MAXU -I REV8 -I CMOV -I CMIX -I FSR -I ZEXTdotH -I SEXTdotB >| CG6.scala
|
||||||
|
// Goblin Plugins are:
|
||||||
|
// ./gen_plugin -n Goblin -i data_Zpn.txt -I UKADD8 -I UKSUB8 >| Goblin.scala
|
||||||
|
// ./gen_plugin -n Goblin -i data_Zxrender_2cycles.txt -I UFMA8VxV >| Goblin2c.scala
|
||||||
|
|
||||||
import vexriscv.plugin._
|
import vexriscv.plugin._
|
||||||
import vexriscv.{VexRiscv, VexRiscvConfig, plugin}
|
import vexriscv.{VexRiscv, VexRiscvConfig, plugin}
|
||||||
@ -19,7 +22,8 @@ object GenGoblinAccel { // extends App {
|
|||||||
val config = VexRiscvConfig(
|
val config = VexRiscvConfig(
|
||||||
plugins = List(
|
plugins = List(
|
||||||
new IBusCachedPlugin(
|
new IBusCachedPlugin(
|
||||||
resetVector = 0xF0910000l, // beginning of ROM
|
resetVector = 0xF0910000l, // beginning of ROM (NuBus)
|
||||||
|
//resetVector = 0x00410000l, // beginning of ROM (SBus)
|
||||||
relaxedPcCalculation = false,
|
relaxedPcCalculation = false,
|
||||||
prediction = STATIC,
|
prediction = STATIC,
|
||||||
config = InstructionCacheConfig(
|
config = InstructionCacheConfig(
|
||||||
@ -60,10 +64,16 @@ object GenGoblinAccel { // extends App {
|
|||||||
),
|
),
|
||||||
new StaticMemoryTranslatorPlugin(
|
new StaticMemoryTranslatorPlugin(
|
||||||
// only cache the sdram memory
|
// only cache the sdram memory
|
||||||
|
// NuBus
|
||||||
ioRange = addr => ((addr(31 downto 28) =/= 0x8) & // SDRAM
|
ioRange = addr => ((addr(31 downto 28) =/= 0x8) & // SDRAM
|
||||||
(addr(31 downto 12) =/= 0xF0902) & // SRAM
|
(addr(31 downto 12) =/= 0xF0902) & // SRAM
|
||||||
(addr(31 downto 16) =/= 0xF091) // ROM
|
(addr(31 downto 16) =/= 0xF091) // ROM
|
||||||
)
|
)
|
||||||
|
// SBus
|
||||||
|
//ioRange = addr => ((addr(31 downto 28) =/= 0x8) & // SDRAM
|
||||||
|
// (addr(31 downto 16) =/= 0x0042) & // SRAM
|
||||||
|
// (addr(31 downto 16) =/= 0x0041) // ROM
|
||||||
|
// )
|
||||||
),
|
),
|
||||||
new DecoderSimplePlugin(
|
new DecoderSimplePlugin(
|
||||||
catchIllegalInstruction = false
|
catchIllegalInstruction = false
|
||||||
@ -80,10 +90,9 @@ object GenGoblinAccel { // extends App {
|
|||||||
//new LightShifterPlugin,
|
//new LightShifterPlugin,
|
||||||
new MulPlugin,
|
new MulPlugin,
|
||||||
new FullBarrelShifterPlugin,
|
new FullBarrelShifterPlugin,
|
||||||
//new BitManipZbaPlugin(earlyInjection = false), // sh.add
|
|
||||||
//new BitManipZbbPlugin(earlyInjection = false), // zero-ext, min/max, others
|
|
||||||
//new BitManipZbtPlugin(earlyInjection = false), // cmov, cmix, funnel
|
|
||||||
new CG6Plugin(earlyInjection = false), // full-custom list
|
new CG6Plugin(earlyInjection = false), // full-custom list
|
||||||
|
new GoblinPlugin(earlyInjection = false), // full-custom list
|
||||||
|
new Goblin2cPlugin(earlyInjection = false), // full-custom list
|
||||||
new HazardSimplePlugin(
|
new HazardSimplePlugin(
|
||||||
bypassExecute = true,
|
bypassExecute = true,
|
||||||
bypassMemory = true,
|
bypassMemory = true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user