Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.

Testing single compilation units #34

Open
grebe opened this issue Apr 19, 2019 · 1 comment
Open

Testing single compilation units #34

grebe opened this issue Apr 19, 2019 · 1 comment

Comments

@grebe
Copy link

grebe commented Apr 19, 2019

One long-standing issue with the workflow with chisel-testers was that we always re-ran the chisel generator. Ideally, you'd be able to re-run all your unit tests on your top level design. We had some workarounds for this (e.g. saving the peeks/expects and generating a verilog testbench that checked the original behavior was precisely reproduced), but they weren't great.

I think the fundamental issue is that we want to be able to introspect on the module. Is there a good way to retain scala objects used to produce a circuit so it can be reused after a compilation run?

@grebe
Copy link
Author

grebe commented Apr 19, 2019

Some use cases:

  1. You have a unit test that you want to run post-synthesis
  2. You have a unit that interacts with the outside world in some way (e.g. BoringUtils) that doesn't work without building the larger system. You want to test that unit but you need to build the whole system
  3. You have a unit that firrtl does things to when you insert it into the larger system, e.g. DCE or constprop. You want to test it in the form it appears when you tape it out (or get information that your test is poking something that firrtl has made constant or peeking something that was removed.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant