如何更改chisel3 iotester生成的vcd中的时间刻度

时间:2018-04-03 20:13:20

标签: chisel gtkwave

在C ++后端的情况下,我已经向similar question询问了chisel2。 但现在我使用带有iotester(peek和poke)的模板示例和chisel3。

使用以下代码(可在my github project page上找到):

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文件除了直接更改)?

1 个答案:

答案 0 :(得分:1)

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