1

对于 C++ 后端,我已经问过chisel2 的类似问题。但是现在我正在使用带有 iotester(peek and poke)和 chisel3 的模板示例。

使用以下代码(可以在我的 github 项目页面上找到):

class TapTempoUnitTester(t: TapTempo) extends PeekPokeTester(t) {
  private val tptmp = t

  def pushbutton(button: Bool) {
   poke(button, 0)
   step(1)
   poke(button, 1)
   step(10)
   poke(button, 0)
  }

  val tclk = 10
  val tus = 1000/tclk
  val tms = 1000*tus
  val ts = 1000*tms

  //0
  pushbutton(tptmp.io.button)
  step(2*tms)
  //1
  pushbutton(tptmp.io.button)
  step(1*tms)
  //2
  pushbutton(tptmp.io.button)
  step(1*tms)
}

如果我使用 sbt 以下命令运行测试台:

sbt 'test:runMain taptempo.TapTempoMain --backend-name verilator'

它正在启动测试平台并生成一个 VCD 文件,可以在以下目录中使用 gtkwave 看到该文件:

test_run_dir/taptempo.TapTempoMain962904038/TapTempo.vcd

但是这个 vcd 文件中的时间刻度是:

$timescale 1ns $end

更改此时间刻度的正确方法是什么(打开 vcd 文件直接更改它除外)?

4

1 回答 1

2

我相信对修改 VCS 标志的支持有限,但我认为 Verilator 后端没有同等支持。您可以在此问题上寻求此类支持:https ://github.com/freechipsproject/chisel-testers/issues/148

于 2018-04-05T17:43:08.120 回答