1val chiselVersion = "3.4.3" 2scalaVersion := "2.12.10" 3 4lazy val commonSettings = Seq( 5 scalacOptions ++= Seq("-deprecation","-unchecked","-Xsource:2.11"), 6 libraryDependencies ++= Seq("org.scala-lang" % "scala-reflect" % scalaVersion.value), 7 libraryDependencies ++= Seq("org.json4s" %% "json4s-jackson" % "3.6.1"), 8 libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "3.2.0" % "test"), 9 addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full), 10 resolvers ++= Seq( 11 Resolver.sonatypeRepo("snapshots"), 12 Resolver.sonatypeRepo("releases"), 13 Resolver.mavenLocal 14 ) 15) 16 17lazy val chiselSettings = Seq( 18 libraryDependencies ++= Seq("edu.berkeley.cs" %% "chisel3" % chiselVersion), 19 addCompilerPlugin("edu.berkeley.cs" % "chisel3-plugin" % chiselVersion cross CrossVersion.full) 20) 21 22lazy val `api-config-chipsalliance` = (project in file("api-config-chipsalliance/build-rules/sbt")) 23 .settings(commonSettings) 24 25lazy val hardfloat = (project in file("berkeley-hardfloat")) 26 .settings(commonSettings, chiselSettings) 27 28lazy val rocketMacros = (project in file("rocket-chip/macros")) 29 .settings(commonSettings) 30 31lazy val `rocket-chip` = (Project("rocket-chip", file("rocket-chip/src"))) 32 .settings(commonSettings, chiselSettings) 33 .settings( 34 scalaSource in Compile := baseDirectory.value / "main" / "scala", 35 resourceDirectory in Compile := baseDirectory.value / "main" / "resources" 36 ) 37 .dependsOn(rocketMacros) 38 .dependsOn(`api-config-chipsalliance`) 39 .dependsOn(hardfloat) 40 41lazy val `block-inclusive-cache` = (project in file("block-inclusivecache-sifive")) 42 .settings(commonSettings, chiselSettings) 43 .settings( 44 scalaSource in Compile := baseDirectory.value / "design" / "craft" / "inclusivecache", 45 ) 46 .dependsOn(`rocket-chip`) 47 48lazy val chiseltest = (project in file("chiseltest")) 49 .settings(commonSettings, chiselSettings) 50 51lazy val xiangshan = (Project("XiangShan", base = file("."))) 52 .settings(commonSettings, chiselSettings) 53 .dependsOn(`rocket-chip`, `block-inclusive-cache`, chiseltest)