0

我们在 Chisel 中实现了一个处理器,并且有许多非常棘手的测试用例。对于具有大量状态的元素,我们希望动态生成长序列的测试向量,并动态计算正确的响应。在 Chisel 3 中,这样做的唯一方法似乎是破解它,使用 Java 内省,将 scala 代码连接到 C++ 测试工具,并在 C++ 代码中生成激励向量和正确响应。

不是很干净。有没有办法留在 Scala 框架内并在 Scala 代码中编写动态测试?到目前为止,问题一直是将 Scala 连接到 Verilator 生成的 C++。是否有一种干净的方法可以使 Verilator 生成的 C++ 模拟器与 Scala/Chisel 测试工具代码进行交互,从而生成激励向量并即时测试响应?

谢谢

4

1 回答 1

0

查看凿子测试仪https://github.com/ucb-bar/chisel-testers。他们提供了一个 Verilator 后端,它将为您从 Scala 驱动 Verilator C++ 模拟器。Chisel 教程 ( https://github.com/ucb-bar/chisel-tutorial ) 使用 Chisel 测试器,因此可以提供一些简单的示例。

特别是,这AdvTester是凿子测试仪中最强大的方法。您可以在凿子测试仪的测试中看到一些用途:https ://github.com/ucb-bar/chisel-testers/blob/master/src/test/scala/examples/AdvTesterSpec.scala和https://github .com/ucb-bar/chisel-testers/blob/master/src/test/scala/examples/DecoupledAdvTester.scala

于 2017-01-16T17:49:17.287 回答