SVUnit Scripting Proposal

I’ve gone through an overhaul of the SVUnit scripting. Specifically, the makefiles are out and a simpler build/run script is in. Most of what’s under the hood is the same (i.e. the construction of the systemverilog code framework). In short, create_svunit.pl + makefiles are out; runSVUnit is in.

Here’s a dump of the runSVUnit usage. Still subject to change so if you see something you don’t like or you don’t see something you would like, now is the time to bring it up :).

Screen Shot 2014-03-06 at 8.36.47 AM

Some additional notes… Continue reading

Upcoming Changes to SVUnit

After some back-and-forth with SVUnit users over the last several months, I reckon it’s finally time to get rid of the make user interface. Turns out, the incremental construction of the framework that make helped with isn’t all that necessary. It also seems some hardware developers get a little nervous around makefiles (admittedly, they make me nervous at times). In response, I’ll be putting together a simpler build/run script in place of what’s there now.

If you’re in favour of a new scripting interface and would like to help out by critiquing a first release, please let me know at neil.johnson@agilesoc.com.

I have unit tests for the scripting to rely on for quality so what I end up with should be pretty solid. Still, it’d be nice for me to get a few opinions before I release it.

-neil

AgileSoC.com Has It’s Own EDA Playground

Thanks to a new embeddable version of EDA Playground, you can now test-drive SVUnit right here on AgileSoC.com!

Below, you’ll find the SVUnit example I explained back in December in a post called Demo SVUnit on EDAPlayground.com. Code editing is the same, running a sim is the same. The only difference (because of our wordpress stylesheet) is that the frame is a little narrower. Other than that, this is our own EDAPlayground right here on AgileSoC.com.

This example is an easy introduction to SVUnit. Start with the instructions in the left pane (you can adjust the pane size to make it easier to read and edit). Then you can bounce over to the design pane. To simulate the example, look for the Screen Shot 2014-02-15 at 11.52.47 AM button in the top right. Click that and you’ll see the run button.

[iframe src=”http://embed.edaplayground.com/embed/x/7Q?from=http://www.agilesoc.com&button=run&panes=2″ name=”EDAPlayground” width=”100%” height=”700″ frameborder=”0″]

Good luck! Please use the comments to let us know what you think!

-neil

SVUnit a Game Changer for this FPGA Team

Received a very nice endorsement for SVUnit today from a new user doing FGPA development and running Modelsim…

Our company focuses on FPGAs.  SVUnit is a GAME CHANGER for FPGAs.  FPGAs are different from ASICs, in that bugs can be fixed while the product is in the field.  SVUnit is a lot less cumbersome than traditional verification.  This allows R&D to push a design into test sooner with similar confidence.

SVUnit advantages:

  • quick to setup
  • does not require expensive licenses
  • easy to test individual modules and therefore pin point bugs earlier in development, making the bugs less expensive

(Here’s something cool.  I am using the altera starter edition of modelsim under linux.  There is a lot of validation people can do without needing a license.)

Nice to hear comments like this. SVUnit is supposed to be clean and user friendly so it’s nice to add another happy user. If you’re ready for a game changing experience, the SVUnit Getting Started page is a good place to start.

-neil

PS: Out-of-the-box, SVUnit now supports Modelsim in addition to VCS, Incisive and Questa.

Unit Testing on Youtube, Cadence.com and DVCon

Started my day with some encouraging observations that I wanted to share…

First, Victor Lyuboslavsky has posted a couple of youtube videos where he covers some of the basics of unit testing and SVUnit. These are good beginner videos that show how easy it is to get started with SVUnit by kicking the tires on www.edaplayground.com. You can find the videos on youtube. When you’re done with the videos, you can carry on with this online SVUnit tutorial.

Next, an interesting bit of news for fans of unit testing that use Specman, in Victor’s introductory video he mentions Cadence has added unit test capabilities to Specman appropriately named eUnit. You can see more in their Testing the Testbench webinar that was posted last week. I haven’t seen the video yet (having problems logging into the site) so I’ve seen none of the details. Regardless, it’s encouraging to see one of the big 3 pushing unit testing with a new test framework. (I’ll post a follow-up once I’ve seen the webinar).

Lastly… and yes, it may be a little early for this but I’ll throw it out there anyway… on the DVCon2014 program site I see a paper entitled Applying Test-Driven Development Methods To Design Verification Software In UVM-e from Doug Gibson and Michael Kontz of HP. If you’re planning to take in DVCon, be sure to add that talk to your list.

Happy Monday ;).

-neil

Demo SVUnit on EDAPlayground.com

Time to introduce a great new development from an SVUnit early adopter: Victor Lyuboslavsky. Victor is a verification engineer at AMD in Austin that started with SVUnit back in February of 2012. He’s been using SVUnit on and off for almost 2 years now. His most recent work: he’s made it possible for people to build and run SVUnit testcases with no tools or library installation whatsoever. More about that in a second. First, an introduction to his browser-based development tool called EDA Playground.

For the past several months, Victor has been busy developing a browser based development environment called EDA Playground. EDA Playground is interesting because it lets people create a design and testbench, then run simulations with only a web browser. Taken directly from the EDA Playground Overview

Screen Shot 2013-12-11 at 4.25.25 PM

In addition to being able to run simulations in a web browser, EDA Playground offers support for various verification libraries. People can demo small designs built on libraries like UVM, OVM and SVUnit.

Wait… SVUnit? Really?

Yes. Really. To experience SVUnit, all you have to do is go to EDA Playground, load one of the many SVUnit examples, tinker around with the code and hit run! That’s it. No installation, scripting or anything to get started. Just a browser.

Even better is that Victor has loaded an SVUnit tutorial I put together for a verification IP called svunitOnSwitch. Here’s what that looks like…

Screen Shot 2013-12-11 at 3.36.05 PM

If you’ve been meaning to try SVUnit but you haven’t been able to find the time, svunitOnSwitch is for you. It’s the perfect little coding exercise you can develop entirely within EDAPlayground. And of course, you can immediately simulate the results to get a feel for the added rigor and productivity you’ll get with SVUnit. The instructions are there; the code is there; all you need is a browser. Just follow the link to svunitOnSwitch.

Thanks to Victor for the continued support for SVUnit and putting together a useful tool like EDA Playground.

-neil

Fast Sims Don’t Come From Fast Simulators

How many times have you sat through a conference talk or tutorial delivered by an AE from one of the big three EDA companies, the speaker announces a new version of their simulator, and the first follow-up question from the audience is how much faster is this version? 2x… 10x… 100x… how much faster?

Of course the response is always an increase in speed but it’s also always hard to quantify. It comes with caveats (i.e. “this is what we’ve seen… you may see different”) and no one is ever quite sure what kind of code is being used in the benchmarking. I’ve never had a simulation runtime improve from 10 seconds to 1 second with a new simulator version – maybe other people have seen that, but I haven’t – so I’ve never paid much attention to the speedup numbers. Call me skeptical. Continue reading

How UVM-1.1d Makes The Case for Unit Testing

The point of the open-source UVM-UTest project we’ve been working on is to demonstrate how unit tests can be used to lock down the functionality of legacy code. Being able to run the unit tests means that when you’re changing code you can verify existing features won’t break during maintenance. We think that’s valuable. A nice side benefit of the project is that we can also show unit testing as being effective for increasing the quality of code hardware engineers write. How can we say that? Because over a 5 week period we found 10 defects in the UVM 1.1d release. Continue reading

UVM Report Mock Update

Get the latest version of SVUnit from GitHub

[CSSBUTTON target=”https://github.com/nosnhojn/svunit-code/archive/master.zip” color=”000000″ textcolor=”ffffff” float=”left”

newwindow=”true”]Download SVUnit[/CSSBUTTON]

I’ve had some good feedback from a couple fellows using the report mock and today I released a new version to start incorporating it. SVUnit v1.4

includes a new UVM report mock.

Two significant changes… Continue reading