Through the hardware industry’s continuing infatuation with leading verification technologies – constrained-random verification, functional coverage, numerous fancy methodologies, intelligent testbenches and a host of others – the needs of designers have been thoroughly ignored. That changes with MiniTB.
What is MiniTB?
MiniTB is an open-source Verilog framework designers use to smoke test their code.
MiniTB is easy to use. After instantiating and connecting a module-under-test, a designer can write and run any number of smoke tests to verify their code’s sanity. Smoke tests are compiled into a single executable which means little time lost to compilation and fast turnaround. Test status is determined by simple assertions and MiniTB exits with an overall PASS/FAIL summary status. MiniTB supports Cadence Incisive, Mentor Graphics Questa and Synopsys VCS.
Getting Started with MiniTB
MiniTB comes with a packaged example to help get you started. In the APB slave example, you’ll see tests in apb_slave_minTB.sv that look like this:
When you run the smoke tests in the MiniTB example, you’ll get a log that looks like this:
That’s 4 passing tests that how our example module-under-test is sane and ready for exhaustive testing.
The complete 2-step instructions for running the example are can be found in the ‘examples/module/apb_slave/README’.
Full MiniTB Support for Early Adopters
If you’re a designer interested in using MiniTB, we want to give you a hand. We’ll maintain a short first-come, first-served list of early adopters that will get our full attention as they get going with MiniTB. Being an early adopter also gives you the opportunity to shape future releases of MiniTB.
To become a MiniTB early adopter, email us at: neil.johnson@agilesoc.com.
-neil
I’m getting a 502: Failure when I try to download it. Is it the raging hoards all clicking at once to try and download the awesomeness 🙂
Yes. that’s probably it. All the people downloading minitb has probably crashed github servers! I just tried it directly on the site and get the same thing so I’m assuming there’s some server maintenance or something going on and we’re in a state of limbo. wait a bit and try again 🙂
Dumb question: what’s the distinction between MiniTB and SVunit?
—mike
c’mon, mike! no such thing as a dumb question 🙂
MiniTB is simpler. The concepts of testsuites and multiple uut’s doesn’t really exist like they do in SVUnit. It’s more for 1 person smoke testing their module/subsystem, just as a lot of designers do now. It also has a simpler command line interface, 1 command to build a miniTB template and another to run it. I think it’s a good tool for designers to get their feet wet with a lightweight yet structured test framework. And if people want to take a serious crack at TDD and module-by-module unit testing, the transition to SVUnit would be an easy one. The way tests are written and run is identical between MiniTB and SVUnit.
-neil