diff --git a/build.sbt b/build.sbt index ae77dead3f..e252cfa912 100644 --- a/build.sbt +++ b/build.sbt @@ -7,14 +7,14 @@ lazy val chipyardRoot = RootProject(file(".")) lazy val commonSettings = Seq( organization := "edu.berkeley.cs", version := "1.0", - scalaVersion := "2.12.4", + scalaVersion := "2.12.10", traceLevel := 15, test in assembly := {}, assemblyMergeStrategy in assembly := { _ match { case PathList("META-INF", "MANIFEST.MF") => MergeStrategy.discard case _ => MergeStrategy.first}}, scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"), - libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.5" % "test", + libraryDependencies += "org.scalatest" %% "scalatest" % "3.0.8" % "test", libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.6.1", libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value, libraryDependencies += "com.github.scopt" %% "scopt" % "3.7.0", @@ -35,7 +35,7 @@ lazy val firesimAsLibrary = sys.env.get("FIRESIM_STANDALONE") == None lazy val firesimDir = if (firesimAsLibrary) { file("sims/firesim/sim/") } else { - file("../../") + file("../../sim") } // Checks for -DROCKET_USE_MAVEN. @@ -111,9 +111,12 @@ lazy val hardfloat = (project in rocketChipDir / "hardfloat") lazy val rocketMacros = (project in rocketChipDir / "macros") .settings(commonSettings) +lazy val rocketConfig = (project in rocketChipDir / "api-config-chipsalliance/build-rules/sbt") + .settings(commonSettings) + lazy val rocketchip = freshProject("rocketchip", rocketChipDir) .settings(commonSettings) - .dependsOn(chisel, hardfloat, rocketMacros) + .dependsOn(chisel, hardfloat, rocketMacros, rocketConfig) lazy val testchipip = (project in file("generators/testchipip")) .dependsOn(rocketchip) @@ -181,7 +184,7 @@ lazy val sifive_blocks = (project in file("generators/sifive-blocks")) lazy val sifive_cache = (project in file("generators/sifive-cache")).settings( commonSettings, - scalaSource in Compile := baseDirectory.value / "craft" + scalaSource in Compile := baseDirectory.value / "design/craft" ).dependsOn(rocketchip) // Library components of FireSim @@ -189,7 +192,7 @@ lazy val midas = ProjectRef(firesimDir, "midas") lazy val firesimLib = ProjectRef(firesimDir, "firesimLib") lazy val firechip = (project in file("generators/firechip")) - .dependsOn(example, icenet, testchipip, tracegen, midasTargetUtils, midas, firesimLib % "test->test;compile->compile") + .dependsOn(boom, hwacha, example, icenet, testchipip, sifive_blocks, sifive_cache, sha3, utilities, tracegen, midasTargetUtils, midas, firesimLib % "test->test;compile->compile") .settings( commonSettings, testGrouping in Test := isolateAllTests( (definedTests in Test).value ) diff --git a/generators/boom b/generators/boom index 397992d535..63b430bf35 160000 --- a/generators/boom +++ b/generators/boom @@ -1 +1 @@ -Subproject commit 397992d535d14d38658e8503a5ededa3430bb352 +Subproject commit 63b430bf350fd2c272ca6b42b0a797770205ad06 diff --git a/generators/example/src/main/scala/Generator.scala b/generators/example/src/main/scala/Generator.scala index 7c6b5168b1..9beb094c33 100644 --- a/generators/example/src/main/scala/Generator.scala +++ b/generators/example/src/main/scala/Generator.scala @@ -31,7 +31,7 @@ object Generator extends GeneratorApp { } // specify the name that the generator outputs files as - val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs + override lazy val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs // generate files generateFirrtl diff --git a/generators/example/src/main/scala/TestHarness.scala b/generators/example/src/main/scala/TestHarness.scala index 61807f2eab..292d1bd17d 100644 --- a/generators/example/src/main/scala/TestHarness.scala +++ b/generators/example/src/main/scala/TestHarness.scala @@ -30,7 +30,7 @@ class TestHarness(implicit val p: Parameters) extends Module { val dut = p(BuildTop)(clock, reset.toBool, p) - dut.debug := DontCare + dut.debug.foreach(_ := DontCare) dut.connectSimAXIMem() dut.connectSimAXIMMIO() dut.dontTouchPorts() @@ -65,7 +65,7 @@ class TestHarnessWithDTM(implicit p: Parameters) extends Module val dut = p(BuildTopWithDTM)(clock, reset.toBool, p) - dut.reset := reset.asBool | dut.debug.ndreset + dut.reset := reset.asBool | dut.debug.get.ndreset dut.connectSimAXIMem() dut.connectSimAXIMMIO() dut.dontTouchPorts() @@ -83,5 +83,5 @@ class TestHarnessWithDTM(implicit p: Parameters) extends Module } }) - Debug.connectDebug(dut.debug, clock, reset.asBool, io.success) + Debug.connectDebug(dut.debug, dut.psd, clock, reset.asBool, io.success) } diff --git a/generators/firechip/src/main/scala/BridgeBinders.scala b/generators/firechip/src/main/scala/BridgeBinders.scala index 95133561d7..c3a6ca80cd 100644 --- a/generators/firechip/src/main/scala/BridgeBinders.scala +++ b/generators/firechip/src/main/scala/BridgeBinders.scala @@ -21,13 +21,13 @@ import firesim.util.RegisterBridgeBinder import tracegen.HasTraceGenTilesModuleImp class WithTiedOffDebug extends RegisterBridgeBinder({ case target: HasPeripheryDebugModuleImp => - target.debug.clockeddmi.foreach({ cdmi => + target.debug.foreach(_.clockeddmi.foreach({ cdmi => cdmi.dmi.req.valid := false.B cdmi.dmi.req.bits := DontCare cdmi.dmi.resp.ready := false.B cdmi.dmiClock := false.B.asClock cdmi.dmiReset := false.B - }) + })) Seq() }) diff --git a/generators/firechip/src/main/scala/Generator.scala b/generators/firechip/src/main/scala/Generator.scala index ceeb328c6e..dd5b432dd6 100644 --- a/generators/firechip/src/main/scala/Generator.scala +++ b/generators/firechip/src/main/scala/Generator.scala @@ -4,7 +4,7 @@ package firesim.firesim import java.io.{File, FileWriter} -import chisel3.experimental.RawModule +import chisel3.RawModule import chisel3.internal.firrtl.{Circuit, Port} import freechips.rocketchip.diplomacy.{ValName, AutoBundle} @@ -58,7 +58,7 @@ trait IsFireSimGeneratorLike extends HasFireSimGeneratorUtilities with HasTestSu } object FireSimGenerator extends App with IsFireSimGeneratorLike { - val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs + override lazy val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs lazy val generatorArgs = GeneratorArgs(args) lazy val genDir = new File(names.targetDir) // The only reason this is not generateFirrtl; generateAnno is that we need to use a different @@ -70,7 +70,7 @@ object FireSimGenerator extends App with IsFireSimGeneratorLike { // For now, provide a separate generator app when not specifically building for FireSim object Generator extends freechips.rocketchip.util.GeneratorApp with HasTestSuites { - val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs + override lazy val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs generateFirrtl generateAnno generateTestSuiteMakefrags diff --git a/generators/firechip/src/main/scala/TargetConfigs.scala b/generators/firechip/src/main/scala/TargetConfigs.scala index 37df379965..4541578d40 100644 --- a/generators/firechip/src/main/scala/TargetConfigs.scala +++ b/generators/firechip/src/main/scala/TargetConfigs.scala @@ -10,7 +10,7 @@ import freechips.rocketchip.tilelink._ import freechips.rocketchip.rocket.DCacheParams import freechips.rocketchip.subsystem._ import freechips.rocketchip.devices.tilelink.BootROMParams -import freechips.rocketchip.devices.debug.DebugModuleParams +import freechips.rocketchip.devices.debug.{DebugModuleParams, DebugModuleKey} import boom.common.BoomTilesKey import testchipip.{BlockDeviceKey, BlockDeviceConfig} import sifive.blocks.devices.uart.{PeripheryUARTKey, UARTParams} @@ -77,7 +77,7 @@ class WithBoomL2TLBs(entries: Int) extends Config((site, here, up) => { // Disables clock-gating; doesn't play nice with our FAME-1 pass class WithoutClockGating extends Config((site, here, up) => { - case DebugModuleParams => up(DebugModuleParams, site).copy(clockGate = false) + case DebugModuleKey => up(DebugModuleKey, site).map(_.copy(clockGate = false)) }) // Testing configurations diff --git a/generators/hwacha b/generators/hwacha index ff4605f5d1..ef5e5196b6 160000 --- a/generators/hwacha +++ b/generators/hwacha @@ -1 +1 @@ -Subproject commit ff4605f5d10d91b7ae8c4a006b965d4706009a06 +Subproject commit ef5e5196b685536890396a08a9f5024eb8b7928e diff --git a/generators/icenet b/generators/icenet index baa40ed85d..77eb7eff2e 160000 --- a/generators/icenet +++ b/generators/icenet @@ -1 +1 @@ -Subproject commit baa40ed85d7425ef5ce206d52fb8b2759c6f6827 +Subproject commit 77eb7eff2e6f39aa971f53f3c3ffbb27cc9bab2d diff --git a/generators/rocket-chip b/generators/rocket-chip index 50de8a34c1..4f0cdea85c 160000 --- a/generators/rocket-chip +++ b/generators/rocket-chip @@ -1 +1 @@ -Subproject commit 50de8a34c19c12de5066cd7ada50ebb5f5b2ea26 +Subproject commit 4f0cdea85c8a2b849fd582ccc8497892001d06b0 diff --git a/generators/sha3 b/generators/sha3 index e27d808cf1..def77259c0 160000 --- a/generators/sha3 +++ b/generators/sha3 @@ -1 +1 @@ -Subproject commit e27d808cf1a637a8f2a80fc5dcde44c3d0a41c5c +Subproject commit def77259c0c78c05cd3d6104943f3e6d98da5bd2 diff --git a/generators/sifive-blocks b/generators/sifive-blocks index 24dd537894..1bc0ef18d6 160000 --- a/generators/sifive-blocks +++ b/generators/sifive-blocks @@ -1 +1 @@ -Subproject commit 24dd537894379dc160ed9e15d33444439822ab5b +Subproject commit 1bc0ef18d6653f1133cb9293e8ee8620f9417c78 diff --git a/generators/sifive-cache b/generators/sifive-cache index 13d0c2f178..f5a09e289b 160000 --- a/generators/sifive-cache +++ b/generators/sifive-cache @@ -1 +1 @@ -Subproject commit 13d0c2f17853a658ae86eae793718c71ac82dddf +Subproject commit f5a09e289b92e53039d74114140d0380032ad8b4 diff --git a/generators/testchipip b/generators/testchipip index aa13f6ccc1..64408599a0 160000 --- a/generators/testchipip +++ b/generators/testchipip @@ -1 +1 @@ -Subproject commit aa13f6ccc1a05a20e52a1600b6c8c796d306f1cd +Subproject commit 64408599a055f3f7cc6b2a90ae617e67b179b332 diff --git a/generators/tracegen/src/main/scala/TestHarness.scala b/generators/tracegen/src/main/scala/TestHarness.scala index 93da430b28..5e07909fa2 100644 --- a/generators/tracegen/src/main/scala/TestHarness.scala +++ b/generators/tracegen/src/main/scala/TestHarness.scala @@ -17,7 +17,7 @@ class TestHarness(implicit p: Parameters) extends Module { object Generator extends GeneratorApp { // specify the name that the generator outputs files as - val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs + override lazy val longName = names.topModuleProject + "." + names.topModuleClass + "." + names.configs // generate files generateFirrtl diff --git a/generators/utilities/src/main/scala/Subsystem.scala b/generators/utilities/src/main/scala/Subsystem.scala index 560caa4c64..d535494672 100644 --- a/generators/utilities/src/main/scala/Subsystem.scala +++ b/generators/utilities/src/main/scala/Subsystem.scala @@ -66,7 +66,7 @@ trait HasBoomAndRocketTiles extends HasTiles def treeNode: RocketTileLogicalTreeNode = new RocketTileLogicalTreeNode(rocketLogicalTree.getOMInterruptTargets) LogicalModuleTree.add(logicalTreeNode, rocketLogicalTree) - connectInterrupts(tile, Some(debug), clintOpt, plicOpt) + connectInterrupts(tile, debugOpt, clintOpt, plicOpt) tile } diff --git a/sims/firesim b/sims/firesim index cfeb0e67fe..d799550b42 160000 --- a/sims/firesim +++ b/sims/firesim @@ -1 +1 @@ -Subproject commit cfeb0e67fe58f896b95459e110802903fed5145a +Subproject commit d799550b42c4bf0a1030cf93dde3a27263bfcc95 diff --git a/tools/barstools b/tools/barstools index 3bba55ccc8..5198b3883c 160000 --- a/tools/barstools +++ b/tools/barstools @@ -1 +1 @@ -Subproject commit 3bba55ccc89518ddeb3ed78774dd6e68d938c07a +Subproject commit 5198b3883c8dfb744c24e7586eec5c9e80a8dd68 diff --git a/tools/chisel-testers b/tools/chisel-testers index 41f4eef0d8..f410c59316 160000 --- a/tools/chisel-testers +++ b/tools/chisel-testers @@ -1 +1 @@ -Subproject commit 41f4eef0d85b65fabd0d786efa8baa099513dcf0 +Subproject commit f410c59316e5c43bac96411889aba8c5ab9a8fc0 diff --git a/tools/chisel3 b/tools/chisel3 index e1aa5f3f5c..d1a6126263 160000 --- a/tools/chisel3 +++ b/tools/chisel3 @@ -1 +1 @@ -Subproject commit e1aa5f3f5c0cdeb204047c3ca50801d9f7ea25f1 +Subproject commit d1a61262630b5ea77ebe21a453df9645cb7e4185 diff --git a/tools/firrtl b/tools/firrtl index 84a1c7b1f7..f738fbe866 160000 --- a/tools/firrtl +++ b/tools/firrtl @@ -1 +1 @@ -Subproject commit 84a1c7b1f7311ce036cb7d3d5eb652466b87dce4 +Subproject commit f738fbe8667ed6b76ec00a15960b9c3a42b8654a diff --git a/variables.mk b/variables.mk index fca782fa64..a303eafe37 100644 --- a/variables.mk +++ b/variables.mk @@ -140,7 +140,7 @@ JAVA_ARGS ?= -Xmx$(JAVA_HEAP_SIZE) -Xss8M -XX:MaxPermSize=256M ######################################################################################### # default sbt launch command ######################################################################################### -SCALA_VERSION=2.12.4 +SCALA_VERSION=2.12.10 SCALA_VERSION_MAJOR=$(basename $(SCALA_VERSION)) SBT ?= java $(JAVA_ARGS) -jar $(ROCKETCHIP_DIR)/sbt-launch.jar ++$(SCALA_VERSION)