Как изменить временную шкалу в vcd, сгенерированном chisel3 iotester

Я уже задавал подобный вопрос для chisel2 в случае бэкэнда C++. Но сейчас я использую пример шаблона с iotester (peek и 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)
}

Если я запускаю testbench с помощью команды sbt:

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

Он запускает testbench и генерирует VCD-файл, который можно увидеть с помощью gtkwave в следующем каталоге:

test_run_dir/taptempo.TapTempoMain962904038/TapTempo.vcd

Но шкала времени в этом файле vcd:

$timescale 1ns $end

Как правильно изменить эту временную шкалу (кроме открытого файла vcd изменить его напрямую)?

1 ответ

Решение

Я считаю, что есть ограниченная поддержка для изменения флагов VCS, но я не думаю, что есть эквивалентная поддержка для бэкэнда Verilator. Вы можете обратиться за такой поддержкой по этому вопросу: https://github.com/freechipsproject/chisel-testers/issues/148

Другие вопросы по тегам