scala - 从 Chisel 代码生成 Verilog 代码的最简单方法

标签 scala build verilog chisel

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

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

例如来自 独立 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
}

我有完整的已安装 Chisel3 工具链 在 ubuntu 16.4 下。

最佳答案

在此处查看答案: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在项目根目录的命令行上。

关于scala - 从 Chisel 代码生成 Verilog 代码的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815657/

相关文章:

scala - 将数据框转换为数据集会保留额外的列

scala - 在 Scala 中将 Map[String, String] 转换为 Map[String, Int]

c - 如何在 Alpine 上编译 time.c?

c++ - 使用 Android NDK 构建 mariadb 客户端

module - Verilog:引用模块的内部寄存器是否合理?

arrays - Json4s 将 JValue 添加到 JArray

c++ - 可以为他/她没有的设备预编译 opencl 内核吗?

algorithm - 用于创建 Verilog 框图的程序

verilog - 使用数组实例化接口(interface)时无法访问 Modport

scala - Scala的case class和class有什么区别?