Add CircleCI check and update Sodor config
This commit is contained in:
@@ -262,6 +262,11 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- prepare-rtl:
|
- prepare-rtl:
|
||||||
project-key: "chipyard-ariane"
|
project-key: "chipyard-ariane"
|
||||||
|
prepare-chipyard-sodor:
|
||||||
|
executor: main-env
|
||||||
|
steps:
|
||||||
|
- prepare-rtl:
|
||||||
|
project-key: "chipyard-sodor"
|
||||||
prepare-icenet:
|
prepare-icenet:
|
||||||
executor: main-env
|
executor: main-env
|
||||||
steps:
|
steps:
|
||||||
@@ -390,6 +395,12 @@ jobs:
|
|||||||
- run-tests:
|
- run-tests:
|
||||||
project-key: "chipyard-ariane"
|
project-key: "chipyard-ariane"
|
||||||
timeout: "30m"
|
timeout: "30m"
|
||||||
|
chipyard-sodor-run-tests:
|
||||||
|
executor: main-env
|
||||||
|
steps:
|
||||||
|
- run-tests:
|
||||||
|
project-key: "chipyard-sodor"
|
||||||
|
timeout: "20m"
|
||||||
chipyard-nvdla-run-tests:
|
chipyard-nvdla-run-tests:
|
||||||
executor: main-env
|
executor: main-env
|
||||||
steps:
|
steps:
|
||||||
@@ -511,6 +522,11 @@ workflows:
|
|||||||
- install-riscv-toolchain
|
- install-riscv-toolchain
|
||||||
- install-verilator
|
- install-verilator
|
||||||
|
|
||||||
|
- prepare-chipyard-sodor:
|
||||||
|
requires:
|
||||||
|
- install-riscv-toolchain
|
||||||
|
- install-verilator
|
||||||
|
|
||||||
- prepare-icenet:
|
- prepare-icenet:
|
||||||
requires:
|
requires:
|
||||||
- install-riscv-toolchain
|
- install-riscv-toolchain
|
||||||
@@ -616,6 +632,10 @@ workflows:
|
|||||||
requires:
|
requires:
|
||||||
- prepare-chipyard-ariane
|
- prepare-chipyard-ariane
|
||||||
|
|
||||||
|
- chipyard-sodor-run-tests:
|
||||||
|
requires:
|
||||||
|
- prepare-chipyard-sodor
|
||||||
|
|
||||||
- chipyard-nvdla-run-tests:
|
- chipyard-nvdla-run-tests:
|
||||||
requires:
|
requires:
|
||||||
- prepare-chipyard-nvdla
|
- prepare-chipyard-nvdla
|
||||||
|
|||||||
@@ -91,6 +91,9 @@ case $1 in
|
|||||||
chipyard-ariane)
|
chipyard-ariane)
|
||||||
make run-binary-fast -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv
|
make run-binary-fast -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv
|
||||||
;;
|
;;
|
||||||
|
chipyard-sodor)
|
||||||
|
run_asm ${mapping[$1]}
|
||||||
|
;;
|
||||||
chipyard-nvdla)
|
chipyard-nvdla)
|
||||||
make -C $LOCAL_CHIPYARD_DIR/tests
|
make -C $LOCAL_CHIPYARD_DIR/tests
|
||||||
make -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary
|
make -C $LOCAL_SIM_DIR ${mapping[$1]} BINARY=$LOCAL_CHIPYARD_DIR/tests/nvdla.riscv run-binary
|
||||||
|
|||||||
@@ -5,115 +5,43 @@ import chisel3._
|
|||||||
import freechips.rocketchip.config.{Config}
|
import freechips.rocketchip.config.{Config}
|
||||||
|
|
||||||
class Sodor1StageConfig extends Config(
|
class Sodor1StageConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage1Factory) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage1Factory) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|
||||||
class Sodor2StageConfig extends Config(
|
class Sodor2StageConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage2Factory) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage2Factory) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|
||||||
class Sodor3StageConfig extends Config(
|
class Sodor3StageConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage3Factory(ports = 2)) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage3Factory(ports = 2)) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|
||||||
class Sodor3StageSinglePortConfig extends Config(
|
class Sodor3StageSinglePortConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage3Factory(ports = 1)) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage3Factory(ports = 1)) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|
||||||
class Sodor5StageConfig extends Config(
|
class Sodor5StageConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage5Factory) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.Stage5Factory) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|
||||||
class SodorUCodeConfig extends Config(
|
class SodorUCodeConfig extends Config(
|
||||||
new chipyard.iobinders.WithUARTAdapter ++
|
|
||||||
new chipyard.iobinders.WithTieOffInterrupts ++
|
|
||||||
new chipyard.iobinders.WithTiedOffDebug ++
|
|
||||||
new chipyard.iobinders.WithSimSerial ++
|
|
||||||
new testchipip.WithTSI ++
|
|
||||||
new chipyard.config.WithBootROM ++
|
|
||||||
new chipyard.config.WithUART ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++ // remove offchip mem port
|
|
||||||
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMemPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoMMIOPort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithNoSlavePort ++
|
|
||||||
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
|
||||||
new freechips.rocketchip.subsystem.WithNExtTopInterrupts(0) ++
|
|
||||||
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.UCodeFactory) ++
|
new sodor.common.WithNSodorCores(1, internalTile = sodor.common.UCodeFactory) ++
|
||||||
new freechips.rocketchip.subsystem.WithCoherentBusTopology ++
|
new freechips.rocketchip.subsystem.WithScratchpadsOnly ++ // use rocket l1 scratchpad
|
||||||
new freechips.rocketchip.system.BaseConfig)
|
new freechips.rocketchip.subsystem.WithNMemoryChannels(0) ++
|
||||||
|
new freechips.rocketchip.subsystem.WithNBanks(0) ++
|
||||||
|
new chipyard.config.AbstractConfig)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ index 5d642c1..56f6fda 100644
|
|||||||
- sha3, // On separate line to allow for cleaner tutorial-setup patches
|
- sha3, // On separate line to allow for cleaner tutorial-setup patches
|
||||||
+// sha3, // On separate line to allow for cleaner tutorial-setup patches
|
+// sha3, // On separate line to allow for cleaner tutorial-setup patches
|
||||||
dsptools, `rocket-dsptools`,
|
dsptools, `rocket-dsptools`,
|
||||||
gemmini, icenet, tracegen, ariane, nvdla)
|
gemmini, icenet, tracegen, ariane, nvdla, sodor)
|
||||||
.settings(commonSettings)
|
.settings(commonSettings)
|
||||||
@@ -158,9 +158,9 @@ lazy val ariane = (project in file("generators/ariane"))
|
@@ -158,9 +158,9 @@ lazy val ariane = (project in file("generators/ariane"))
|
||||||
.dependsOn(rocketchip)
|
.dependsOn(rocketchip)
|
||||||
|
|||||||
Reference in New Issue
Block a user