【问题标题】:Simplest way to generate Verilog code from Chisel code从 Chisel 代码生成 Verilog 代码的最简单方法
【发布时间】:2017-01-23 21:08:56
【问题描述】:

从现有的 Chisel 代码生成 Verilog 代码的最简单方法是什么?

我是否必须创建自己的构建文件

例如来自 独立的 scala 文件 (AND.scala),如下所示..

import Chisel._

class AND extends Module {
  val io = IO(new Bundle {
    val a = Bool(INPUT)
    val b = Bool(INPUT)
    val out = Bool(OUTPUT)
  })
  io.out := io.a & io.b
}

我在 ubuntu 16.4 下安装了完整的 Chisel3 工具链

【问题讨论】:

标签: scala build verilog chisel


【解决方案1】:

在此处查看答案:Is there a simple example of how to generate verilog from Chisel3 module?

简而言之,在项目的根目录下创建一个 build.sbt 文件,其中包含以下内容:

scalaVersion := "2.12.13"

resolvers ++= Seq(
  Resolver.sonatypeRepo("snapshots"),
  Resolver.sonatypeRepo("releases")
)

libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.4.4"

将此代码添加到 AND.scala

object ANDDriver extends App {
  (new chisel3.stage.ChiselStage).emitVerilog(new AND, args)
}

在项目根目录的命令行中键入 sbt run

【讨论】:

  • 非常感谢您的快速回答!猜猜我监督了另一个线程。我刚试了一下,效果很好。注意:必须安装 jdk8 和 sbt 才能工作! (jdk9 不适合我)
  • 无论如何生成verilog到“目标文件夹”而不是build.sbt的同一个地方?
  • 是的! Chisel 和 FIRRTL 具有命令行选项。注意我们如何将args 传递给chisel3.Driver.execute?我们正在将发送到ANDDriver 的命令行参数传播到 Chisel。你可以像这样传递参数:sbt "run --help"。 “目标文件夹”的具体一个是--target-dir-td,即。 sbt "run -td my_target_dir
  • 谢谢!为您的回答 +1。
  • chisel3.Driver 已弃用。你能更新这个答案吗?
猜你喜欢
  • 2014-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 1970-01-01
  • 1970-01-01
  • 2013-07-30
相关资源
最近更新 更多