diff --git a/.github/scripts/defaults.sh b/.github/scripts/defaults.sh index 08637428..ed8cd7be 100755 --- a/.github/scripts/defaults.sh +++ b/.github/scripts/defaults.sh @@ -30,7 +30,7 @@ REMOTE_COURSIER_CACHE=$REMOTE_WORK_DIR/.coursier-cache declare -A grouping grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-hetero chipyard-boom chipyard-sodor chipyard-digitaltop chipyard-multiclock-rocket chipyard-nomem-scratchpad chipyard-spike chipyard-clone chipyard-prefetchers chipyard-shuttle" grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered" -grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla" +grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla chipyard-aes256ecb" grouping["group-constellation"]="chipyard-constellation" grouping["group-tracegen"]="tracegen tracegen-boom" grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar" @@ -67,6 +67,7 @@ mapping["chipyard-shuttle"]=" CONFIG=ShuttleConfig" mapping["chipyard-multiclock-rocket"]=" CONFIG=MulticlockRocketConfig" mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig" mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig" +mapping["chipyard-aes256ecb"]=" CONFIG=AES256ECBRocketConfig verilog" mapping["constellation"]=" SUB_PROJECT=constellation" mapping["firesim"]="SCALA_TEST=firesim.firesim.RocketNICF1Tests" diff --git a/.gitmodules b/.gitmodules index d74f7e4d..622c5f68 100644 --- a/.gitmodules +++ b/.gitmodules @@ -133,3 +133,9 @@ [submodule "generators/hardfloat"] path = generators/hardfloat url = https://github.com/ucb-bar/berkeley-hardfloat.git +[submodule "generators/caliptra-aes-acc"] + path = generators/caliptra-aes-acc + url = https://github.com/ucb-bar/caliptra-aes-acc +[submodule "generators/rocc-acc-utils"] + path = generators/rocc-acc-utils + url = https://github.com/ucb-bar/rocc-acc-utils diff --git a/build.sbt b/build.sbt index 76147789..287b9abe 100644 --- a/build.sbt +++ b/build.sbt @@ -150,7 +150,7 @@ lazy val chipyard = (project in file("generators/chipyard")) sha3, // On separate line to allow for cleaner tutorial-setup patches dsptools, rocket_dsp_utils, gemmini, icenet, tracegen, cva6, nvdla, sodor, ibex, fft_generator, - constellation, mempress, barf, shuttle) + constellation, mempress, barf, shuttle, caliptra_aes) .settings(libraryDependencies ++= rocketLibDeps.value) .settings( libraryDependencies ++= Seq( @@ -234,6 +234,16 @@ lazy val nvdla = (project in file("generators/nvdla")) .settings(libraryDependencies ++= rocketLibDeps.value) .settings(commonSettings) +lazy val caliptra_aes = (project in file("generators/caliptra-aes-acc")) + .dependsOn(rocketchip, rocc-acc-utils, midasTargetUtils) + .settings(libraryDependencies ++= rocketLibDeps.value) + .settings(commonSettings) + +llazy val rocc_acc_utils = (project in file("generators/rocc-acc-utils")) + .dependsOn(rocketchip) + .settings(libraryDependencies ++= rocketLibDeps.value) + .settings(commonSettings) + lazy val iocell = Project(id = "iocell", base = file("./tools/barstools/") / "iocell") .settings(chiselSettings) .settings(commonSettings) diff --git a/generators/caliptra-aes-acc b/generators/caliptra-aes-acc new file mode 160000 index 00000000..d667a7a0 --- /dev/null +++ b/generators/caliptra-aes-acc @@ -0,0 +1 @@ +Subproject commit d667a7a0fd1f37acb3d4df7acb2024a27e151217 diff --git a/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala b/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala index 4077fcbd..0813b059 100644 --- a/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala +++ b/generators/chipyard/src/main/scala/config/RoCCAcceleratorConfigs.scala @@ -56,3 +56,9 @@ class HwachaLargeBoomConfig extends Config( new boom.common.WithNLargeBooms(1) ++ new chipyard.config.WithSystemBusWidth(128) ++ new chipyard.config.AbstractConfig) + +class AES256ECBRocketConfig extends Config( + new aes.WithAES256ECBAccel ++ // use Caliptra AES 256 ECB accelerator + new freechips.rocketchip.subsystem.WithNBigCores(1) ++ + new chipyard.config.WithSystemBusWidth(128) ++ + new chipyard.config.AbstractConfig) diff --git a/generators/rocc-acc-utils b/generators/rocc-acc-utils new file mode 160000 index 00000000..fa4e29af --- /dev/null +++ b/generators/rocc-acc-utils @@ -0,0 +1 @@ +Subproject commit fa4e29afcb7547e7951475febceb93cdfe46c76a