chisel - 未找到黑盒异常
问题描述
我正在尝试在我的凿子代码中包含一个黑盒模块。我使用了 addResource 构造并给出了 verilog 文件的正确路径。但我不确定为什么会收到此错误。
[错误] (run-main-0) firrtl.transforms.BlackBoxNotFoundException: BlackBox '../resources/MyBlackBox.v' 未找到。你拼错了吗?它在 src/{main,test}/resources 中吗?[错误] 空
这是我的代码片段
import chisel3._
import chisel3.util.{HasBlackBoxResource}
class MyBlackBox(p : Parameters) extends BlackBox with HasBlackBoxResource{
val io = IO(new Bundle(){
val in1 = Input(UInt(32.W))
val in2 = Input(UInt(32.W))
val out1 = Output(UInt(32.W))
val out2 = Output(UInt(32.W))
})
addResource("../resources/MyBlackBox.v")
}
这是verilog代码
module MyBlackBox(
input [31:0] in1,
input [31:0] in2,
output [31:0] out1,
output [31:0] out2
);
always@(*) begin
out1 <= in1 * in1;
out2 <= in2 * in2;
end
endmodule
这是我调用黑盒的类
class dummy extends Module{
val io = IO(new Bundle {
val in1 = Input(UInt(32.W))
val in2 = Input(UInt(32.W))
val out1 = Output(UInt(32.W))
val out2 = Output(UInt(32.W))
})
val bb = Module(new MyBlackBox)
bb.io.in1 := io.in1
bb.io.in2 := io.in2
io.out1 := bb.io.out1
io.out2 := bb.io.out2
}
并且测试台如下
import chisel3._
import chisel3.iotesters._
class dummy_Driver(dut : dummy) extends PeekPokeTester(dut){}
object dummy_Driver extends App{
chisel3.iotesters.Driver.execute(Array("--backend-name", "verilator", "--target-dir",
"test_run_dir/dummy", "--top-name", "dummy"),
() => new dummy)
{ c => new dummy_Driver(c)}
}
解决方案
推荐阅读
- java - 如何在最大堆上修复我的 remove(Comparable e) 方法?
- css - 使用 CSS 在设计布局上制作类似拱形曲线的问题
- vimeo-api - 可恢复的方法不返回视频 ID
- android - android:使用 FFMPEG 将两个音频文件合并为一个
- android - Android:错误:链接引用失败
- c# - 遍历树并计算特殊节点的总和
- java - 从构造函数调用重写的方法。改用什么?
- c++ - 对 QComboBox 中的项目使用 Qt::UserRole 和 Qt::DisplayRole
- java - 正则表达式确定字符串是否包含超过 4 个数字
- android - 如何在移动设备上修复“应用程序意外停止”。应用程序统一运行,但不在 android 手机中