scala – 是否有一个如何从Chisel3模块生成verilog的简单示例?
发布时间:2020-12-16 09:25:40 所属栏目:安全 来源:网络整理
导读:我正在寻找一个简单的howto来转换Verilog中的简单Chisel3模块. 我在凿子的官方网页上给出了Gcd源代码. import chisel3._ class GCD extends Module { val io = IO(new Bundle { val a = Input(UInt.width(32)) val b = Input(UInt.width(32)) val e = Input(
我正在寻找一个简单的howto来转换Verilog中的简单Chisel3模块.
我在凿子的官方网页上给出了Gcd源代码. import chisel3._ class GCD extends Module { val io = IO(new Bundle { val a = Input(UInt.width(32)) val b = Input(UInt.width(32)) val e = Input(Bool()) val z = Output(UInt.width(32)) val v = Output(Bool()) }) val x = Reg(UInt.width( 32)) val y = Reg(UInt.width( 32)) when (x > y) { x := x -% y } .otherwise { y := y -% x } when (io.e) { x := io.a; y := io.b } io.z := x io.v := y === 0.U } 我找不到如何编写build.sbt和类实例化以在Verilog中转换它. 解决方法
感谢您对Chisel的兴趣!我们通常鼓励人们使用我们的凿子模板仓库作为Chisel3项目的起点:
https://github.com/ucb-bar/chisel-template
如果你想做最准确的事情.创建此build.sbt并将其放在项目的根目录中. scalaVersion := "2.11.12" resolvers ++= Seq( Resolver.sonatypeRepo("snapshots"),Resolver.sonatypeRepo("releases") ) libraryDependencies += "edu.berkeley.cs" %% "chisel3" % "3.0.+" 将上面的GCD源代码放在GCD.scala中,并将以下内容添加到文件中: object GCDDriver extends App { chisel3.Driver.execute(args,() => new GCD) } 然后,您可以通过运行:sbt“runMain GCDDriver”生成Verilog.默认输出目录是当前目录> 您可以通过运行sbt“runMain GCDDriver –help”来查看可用的命令行选项.例如–target-dir将允许您更改目标目录 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |