MiniTB AMBA IP Version 1

Today, I released a first version APB master BFM with MiniTB. This is the first in a few steps I’m hoping we take in the development of MiniTB. I’d like to provide a user-friendly platform for developers building SoCs with AMBA interconnect. APB was the simplest place to get started. Depending on interest, we’d move on to AHB and/or AXI IP as well.

Neither the BFM nor platform are difficult to use. The BFM has simple write and read tasks for testing slave behaviour. A developer can generate a new MiniTB template, connect the BFM to a DUT within the template, write tests using the BFM accessibility tasks and finally run the entire suite of tests sequentially, within a single executable, for fast feedback. There’s no object oriented testbench with transaction-based constrained random stimulus or functional coverage required! Just the pieces that let you verify what needs to be verified :)!

If you download MiniTB, there’s a fully functioning APB slave example included to show you how everything works. Here’s some of the highlights.

The BFM is a SystemVerilog interface so connecting it to a DUT looks like this…

Screen Shot 2013-10-01 at 1.41.48 PM

The API is task-based so a test with a write-then-read sequence looks like this…

Screen Shot 2013-10-01 at 1.42.59 PM

I’ve included the ability to inject protocol exceptions on the write by allowing users to specify inactive states for psel and pwrite…

Screen Shot 2013-10-01 at 1.44.59 PM

There’s also an idle() method for driving the bus to an inactive state. In the example, you’ll see that being used in the smoketest_reset() like this…

Screen Shot 2013-10-01 at 1.45.55 PM

Of course, MiniTB is open source so you can download the platform and BFM and within about 5 minutes, you’ll see the value. Best place to start with MiniTB is the getting started page. If it’s useful, hopefully you use it. If there’s features you’d like to see added or next steps you’d like to see, let me know what they are!

…and I guess… if MiniTB and the AMBA library we’ve started isn’t useful, hopefully you’ll tell me that also. You don’t write an Agile Hardware blog for 5 years if you’re no good with criticism :).



Leave a Reply

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