-
Notifications
You must be signed in to change notification settings - Fork 50
Frequently Asked Questions
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.