Chisel 如何从bootcamp示例导入getVerilog()函数?

Chisel 如何从bootcamp示例导入getVerilog()函数?,chisel,Chisel,我不确定我是否了解如何使用getVerilog函数: 我确实导入了凿子3。\但这似乎还不够。getVerilog方法仅在引导营中定义。对于凿子3.2.0之前的凿子版本,有一种等效的方法称为Driver.emitVerilog。对于3.2.0之后的凿子版本,正确的方法是(新的凿子3.stage.凿子stage)。emitVerilog: import.3_ 导入凿子3.stage.givestage 类Foo扩展模块{ val io=io(新绑定{}) printf(“我是个傻瓜”) } /*对

我不确定我是否了解如何使用getVerilog函数:


我确实导入了凿子3。\但这似乎还不够。

getVerilog方法仅在引导营中定义。对于凿子3.2.0之前的凿子版本,有一种等效的方法称为
Driver.emitVerilog
。对于3.2.0之后的凿子版本,正确的方法是
(新的凿子3.stage.凿子stage)。emitVerilog

import.3_
导入凿子3.stage.givestage
类Foo扩展模块{
val io=io(新绑定{})
printf(“我是个傻瓜”)
}
/*对于凿子版本=3.2.0,请使用以下内容:*/
(新阶段).emitVerilog(新Foo)
作为补充参考,下面介绍了凿子训练营中
getVerilog
的具体实现。这看起来与Driver.emitVerilog所做的几乎相同。关于生成Verilog,有一个类似但略有不同的问题

通常,如果您想知道是否存在某个API,那么可以通过凿子3 API参考进行搜索。例如,有关将凿子编译为FIRRTL IR或Verilog的方法,您可以查阅
凿子阶段的文档

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

注意:
凿阶段.emitVerilog
允许您将命令行参数和注释传递给凿编译器,以便对生成的FIRRTL IR或Verilog进行更多控制

[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