在测试仪中使用多个时钟

Using Multiple Clocks in Testers

我有一个带有多个时钟的模块,使用 withClockAndReset。编写测试平台时,如何在指定的时钟端口上提供时钟激励?

chisel-testers 做你想做的事情的能力非常有限。我认为在标准凿子堆栈中最好的选择是尝试使用新的 chisel-testers2. There is an example in the unit tests in that repo: ClockDividerTest.scala 和其他几个与时钟相关的测试。这是目前凿子开发的一个非常活跃的领域。如果你能尝试这个,团队非常有兴趣使这个工作。

我最终遵循了那个例子的精神,但不需要 chisel-testers2。

class MyModuleTestFixture(<params> extends Module {

  val dut = Module(new MyModule(<params>))

  val divClock = RegInit(true.B)
  divClock := ~divClock

  dut.io.explicit_clk := divClock.asClock()
  dut.io.all_other_ios <> io.all_other_ios
}

这是生成显式时钟的一种限制性方式,但符合我的目的。