Added FFT Generator integration

This commit is contained in:
Animesh Agrawal
2021-12-24 05:07:17 -08:00
committed by Animesh Agrawal
parent 9adb1036a3
commit c0f5c77520
5 changed files with 17 additions and 1 deletions

3
.gitmodules vendored
View File

@@ -131,3 +131,6 @@
[submodule "generators/ibex"]
path = generators/ibex
url = https://github.com/ucb-bar/ibex-wrapper
[submodule "generators/FFTGenerator"]
path = generators/FFTGenerator
url = git@github.com:AnimeshAgrawal/FFTGenerator.git

View File

@@ -164,7 +164,12 @@ lazy val chipyard = (project in file("generators/chipyard"))
.dependsOn(testchipip, rocketchip, boom, hwacha, sifive_blocks, sifive_cache, iocell,
sha3, // On separate line to allow for cleaner tutorial-setup patches
dsptools, `rocket-dsp-utils`,
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex)
gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, FFTGenerator)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)
lazy val FFTGenerator = (project in file("generators/FFTGenerator"))
.dependsOn(rocketchip, `rocket-dsp-utils`)
.settings(libraryDependencies ++= rocketLibDeps.value)
.settings(commonSettings)

View File

@@ -32,6 +32,7 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with chipyard.example.CanHavePeripheryStreamingPassthrough // Enables optionally adding the DSPTools streaming-passthrough example widget
with nvidia.blocks.dla.CanHavePeripheryNVDLA // Enables optionally having an NVDLA
with chipyard.clocking.HasChipyardPRCI // Use Chipyard reset/clock distribution
with FFTGenerator.HasPeripheryFFT
{
override lazy val module = new DigitalTopModule(this)
}

View File

@@ -21,6 +21,12 @@ class TinyRocketConfig extends Config(
new freechips.rocketchip.subsystem.With1TinyCore ++ // single tiny rocket-core
new chipyard.config.AbstractConfig)
class RocketWithFFT extends Config(
new FFTGenerator.WithFFTNumPoints(8) ++
new FFTGenerator.WithFFTBaseAddr(0x2000) ++
new FFTGenerator.WithFFTGenerator ++
new RocketConfig)
class HwachaRocketConfig extends Config(
new chipyard.config.WithHwachaTest ++
new hwacha.DefaultHwachaConfig ++ // use Hwacha vector accelerator