gpt4 book ai didi

chisel - 如何从训练营示例导入 getVerilog() 函数?

转载 作者:行者123 更新时间:2023-12-02 11:51:56 25 4
gpt4 key购买 nike

我不确定我是否理解如何使用以下位置的 getVerilog 函数: https://github.com/freechipsproject/chisel-bootcamp/blob/master/2.1_first_module.ipynb

[error] passthrough_test.scala:18:11: not found: value getVerilog
[error] println(getVerilog(new PassThrough(10)))
[error] ^
[error] one error found
[error] (Test / compileIncremental) Compilation failed
[error] Total time: 1 s, completed Nov 21, 2018 1:53:02 PM

我确实导入了 chisel3._ 但这似乎还不够。

最佳答案

getVerilog 方法仅在 Bootcamp 中定义。 Chisel 3.2.0 之前的 Chisel 版本有一个等效方法,称为 Driver.emitVerilog。对于3.2.0之后的Chisel版本,正确的方法是(new chisel3.stage.ChiselStage).emitVerilog:

import chisel3._
import chisel3.stage.ChiselStage

class Foo extends Module {
val io = IO(new Bundle {})

printf("I'm a foo")
}

/* For Chisel versions <3.2.0 use the following: */
Driver.emitVerilog(new Foo)

/* For Chisel >=3.2.0 use the following: */
(new ChiselStage).emitVerilog(new Foo)

作为补充引用,Chisel Bootcamp 中 getVerilog 的具体实现为 here 。这看起来与 Driver.emitVerilog 所做的几乎相同 here 。关于生成 Verilog 有一个类似但略有不同的问题:brought up in a different SO question .

通常,如果您想知道是否存在某些 API,搜索 Chisel3 API 引用可能会很有用。例如,您可以查阅 ChiselStage 的文档,了解与将 Chisel 编译为 FIRRTL IR 或 Verilog 相关的方法:ChiselStage API .

为了更好地控制 Verilog 生成,如果使用凿子>=3.2.0。早期版本的 Chisel 应使用 Driver 对象的方法 Driver.execute(args: Array[String], dut: () => RawModule)

注意:ChiselStage.emitVerilog 允许您将命令行参数和注释传递给 Chisel 编译器,以便更好地控制生成的 FIRRTL IR 或 Verilog。

关于chisel - 如何从训练营示例导入 getVerilog() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53414115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com