MiniTB: Finally… a Testbench Framework for Designers

Get the latest version of MiniTB

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:

Screen Shot 2013-05-22 at 4.12.29 PM

When you run the smoke tests in the MiniTB example, you’ll get a log that looks like this:

Screen Shot 2013-05-22 at 4.11.30 PM

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’.

Screen Shot 2013-05-22 at 4.08.03 PM

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

Share/Bookmark

About nosnhojn

I've been working in ASIC and FPGA development for more than 13 years at various IP and product development companies and now as a consultant with XtremeEDA Corp. In 2008 I took an interest in agile software development. I've found a massive amount of material out there related to agile development, all of it is interesting and most of it is applicable to hardware development in one form or another. So I'm here to find what agile concepts will work for hardware development and to help other developers use them successfully. I've been fortunate to have the chance to speak about agile hardware development at various conferences like Agile2011, Agile2012, Intel Lean/Agile Conference 2013 and SNUG. I also do lunch-n-learn talks for small groups and enjoy talking to anyone with an agile hardware story to tell! You can find me at neil.johnson@agilesoc.com.
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

4 Responses to MiniTB: Finally… a Testbench Framework for Designers

  1. Bryan says:

    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 :-)

    • nosnhojn says:

      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 :)

  2. Michael Thompson says:

    Dumb question: what’s the distinction between MiniTB and SVunit?

    —mike

    • nosnhojn says:

      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

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>