Open Martoni opened 4 years ago
I've heard of people playing with this for various protocols, but I'm not aware of any released or example/documentation-grade code. One potential issue with a testing library is that it needs a underlying common bundle definition. The Decoupled drivers are provided here because it's defined in chisel3 base, but wishbone, UART, and SPI aren't.
Here an example SPI (slave side) driver code I wrote as part of a FPGA project.
Writing testbench is the most time and resource consuming part of the development process. If we could get some basic bricks to ease and speed up development it would make Chisel3 even more attractive I think. Personnaly I use the CocoTB python library a lot because I find it easier than chisel tester even with Chisel designs.
I agree that this reusable library ultimately this is the dream and goal of chiseltest, but also realistically, there's a lot of groundwork in standardizing chisel libraries that are necessary before this can happen.
That being said, this issue thread might be a good starting point to think about what protocols (especially for Bundles defined in common, including community, libraries) could use drivers. In the short term, I think a more realistic approach would be supporting adding testdrivers to those libraries. (except for anything in chisel base, including chisel3.utils
, for which drivers should be provided in this repo)
This is probably a lot of work and good to start the discussion here. Having testing infrastructure, like common bus protocol transactions available, is actually a strong argument for UVM. That is what we are competing with, right?
Cheers, Martin
On 4 Jun, 2020, at 9:19, Richard Lin notifications@github.com wrote:
I agree that this reusable library ultimately this is the dream and goal of chiseltest, but also realistically, there's a lot of groundwork in standardizing chisel libraries that are necessary before this can happen.
That being said, this issue thread might be a good starting point to think about what protocols (especially for Bundles defined in common, including community, libraries) could use drivers. In the short term, I think a more realistic approach would be supporting adding testdrivers to those libraries. (except for anything in chisel base, including chisel3.utils, for which drivers should be provided in this repo)
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ucb-bar/chisel-testers2/issues/165#issuecomment-638654834, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAE63GCDP7M5WOGLPOQ34ODRU5DIZANCNFSM4NL4KZNA.
Is there some examples or standard libraries for testing components like wishbone, uart, spi, ... with chisel-testers2 ?