如何设置emitVerilog的生成目录?
how to set generated directory of emitVerilog?
我刚开始使用凿子模板。
我根据 在 DecoupledGCD.scala 中添加了以下语句。
object DecoupledGcdDriver extends App {
(new ChiselStage)emitVerilog(new DecoupledGcd(16))
}
当我运行
sbt run
verilog 文件本身是在当前目录中生成的。
不过要么我运行
sbt "runMain gcd.DecoupledGcdDriver --help"
或
sbt "runMain gcd.DecoupledGcdDriver --target-dir <my dir>"
没有任何改变。
我的 build.sbt 来自最新模板:
ThisBuild / scalaVersion := "2.12.13"
ThisBuild / version := "0.1.0"
ThisBuild / organization := "com.github.riggy2013"
lazy val root = (project in file("."))
.settings(
name := "chisel-gcd",
libraryDependencies ++= Seq(
"edu.berkeley.cs" %% "chisel3" % "3.4.3",
"edu.berkeley.cs" %% "chiseltest" % "0.3.3" % "test"
我没有足够的“声望”,所以在这里开始一个新线程。
将参数设置为对 ChiselStage
的调用。下面是一个例子。这会将 Verilog 和 FIRRTL 放在输出目录中。如果不存在,将创建输出目录。
object MyAsyncResetModuleGen extends App {
val myverilog = (new ChiselStage).emitVerilog(
new MyAsyncResetModule,
//args
Array("--target-dir", "output/")
)
}
扩展 App 只是编写带有参数 args: Array[String]
的 main
函数的语法糖。如果您希望参数传播到 ChiseStage
,您需要传播它们:
object DecoupledGcdDriver extends App {
(new ChiselStage)emitVerilog(new DecoupledGcd(16), args)
}
您可以看到 ChiselStage.emitVerilog
在 Chisel API Docs 中接受 args
。
我刚开始使用凿子模板。
我根据
object DecoupledGcdDriver extends App {
(new ChiselStage)emitVerilog(new DecoupledGcd(16))
}
当我运行
sbt run
verilog 文件本身是在当前目录中生成的。
不过要么我运行
sbt "runMain gcd.DecoupledGcdDriver --help"
或
sbt "runMain gcd.DecoupledGcdDriver --target-dir <my dir>"
没有任何改变。
我的 build.sbt 来自最新模板:
ThisBuild / scalaVersion := "2.12.13"
ThisBuild / version := "0.1.0"
ThisBuild / organization := "com.github.riggy2013"
lazy val root = (project in file("."))
.settings(
name := "chisel-gcd",
libraryDependencies ++= Seq(
"edu.berkeley.cs" %% "chisel3" % "3.4.3",
"edu.berkeley.cs" %% "chiseltest" % "0.3.3" % "test"
我没有足够的“声望”,所以在这里开始一个新线程。
将参数设置为对 ChiselStage
的调用。下面是一个例子。这会将 Verilog 和 FIRRTL 放在输出目录中。如果不存在,将创建输出目录。
object MyAsyncResetModuleGen extends App {
val myverilog = (new ChiselStage).emitVerilog(
new MyAsyncResetModule,
//args
Array("--target-dir", "output/")
)
}
扩展 App 只是编写带有参数 args: Array[String]
的 main
函数的语法糖。如果您希望参数传播到 ChiseStage
,您需要传播它们:
object DecoupledGcdDriver extends App {
(new ChiselStage)emitVerilog(new DecoupledGcd(16), args)
}
您可以看到 ChiselStage.emitVerilog
在 Chisel API Docs 中接受 args
。