Как изменить временную шкалу в 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