在测试DUT时,我们将DUT作为Argument传递给Test:
class MAIN_TEST(c:inst1) extends PeekPokerTester(c){....}
Object Main extends App {
iotesters.Driver.execute(args,()=> new inst1()){
c=> new MAIN_TEST (c)
}
}
是否可以将多个实例传递给测试人员。
class Main_Test(c:inst1,d:inst2) extends PeekPokerTester(c,d){...}
答案 0 :(得分:0)
目前的答案几乎是:chisel3.iotesters.experimental中有一种不同的测试器方法可以让你写出这样的东西
import chisel3._
import chisel3.iotesters.experimental._
class PlusN(n: Int) extends Module {
val io = IO(new Bundle {
val in = Input(UInt(16.W))
val o1 = Output(UInt(16.W))
})
io.o1 := io.in + n.U
}
class ChickSpec extends FlatSpec with PokeTester {
test(new PlusN(3)) { (t, c) =>
test(new PlusN(4)) { (tt, cc) =>
t.poke(c.io.in, 4)
val o1 = t.peek(c.io.o1) // This is unsupported at the moment.
tt.poke(c.io.in, 3)
tt.expect(c.io.o1, o1)
}
}
}
这是你的想法吗?如果是这样,就可以获得执行此操作的分支。正在开发新一代凿子测试技术,这将使这更容易。