Skip to content

Frequently Asked Questions

Chick Markley edited this page Dec 11, 2019 · 4 revisions

The FAQ


Q: I'm getting an error with poke(c.unsigned_32_bit_input, 0xfffffff)?

A: This is a Scala problem. The 0xffffffff is being converted to -1, before being coerced to a BigInt. The simple fix is to mark the input value as a long like this poke(c.unsigned_32_bit_input, 0xfffffffL), note the L at the end of the number. This same problem can occur when testing values with expect


Q: Where can I find the files that my test generates?

A: The default location of test artifacts is in test_run_dir/ for example test_run_dir/examples.FixedPointSpec1453756783. You can override this with the "--target-dir", "my_dir" options to Driver.execute. See src/test/scala/examples/GCDSpec.scala where there are several tests that override the default work directory.


Q: How can I get a VCD dump?

A: You must invoke your PeekPokeTester using the Driver.execute method. The Simplest method is as follows. Using the example from the Section Using the PeekPokeTester, instead using the following invocation

    chisel3.iotesters.Driver.execute(Array("--generate-vcd-output", "on"), () => new RealGCD2) { c =>
      new GCDPeekPokeTester(c)
    } should be(true)

The VCD file will be written in the target directory of your test, see: "where can I find my files" in FAQ, usually something like and will usually have the name <DutName.vcd> or sometimes dump.vcd. There are a number of programs that can display the VCD file, a decent free one is GtkWave


Q: How can I see other options?

A: The Driver.execute method takes an array of command line parameter style strings. To see all the available options add "--help" to the first argument array. There are a lot of options, some are for the testers many others are for chisel and firrtl the underlying backends.

Clone this wiki locally