微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

未找到黑盒异常

如何解决未找到黑盒异常

我正在尝试在我的 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)}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。