I'm looking for reasons to use SVUnit in my projects. As a software engineer I used to write tests before the production code. However, I don't see so much adoption of this initiative. Why? Is it worth it?
2 Answers
Since you mention you used to be a software engineer, I guess you don't need to be lectured on why unit testing is good or why TDD makes sense. Since testbenches are very much akin to software, this means that a lot of software development best practices can be carried over to testbench development, unit testing being one of them.
The fact that it hasn't seen much adoption yet shouldn't be a reason not to use something.
I've written about SVUnit here: http://blog.verificationgentleman.com/2014/05/a-quick-look-at-svunit.html

- 7,453
- 1
- 24
- 53
-
Thanks for your answer! Do you recommend any good references to start with? The demo series in AgileSoc page is outdated and this make me feel a little suspicious about it. – antuirno Jun 24 '15 at 16:02
-
That's something that needs looking at for sure, but unfortunately there aren't many resources out there yet. I've got some code examples up on my site where I use unit testing, but I can't point you to any exact post unfortunately.You'll need to have a look at the repo yourself. Another thing I can think of is this page I wrote for one of our projects: https://github.com/Freecellera/freecellera-uvm/wiki/UVM-Bug-Blitz---bug-fix-example – Tudor Timi Jun 24 '15 at 17:14
-
Ok. Thank you Tudor! I'll give it a try but this lack of information is a big problem. :( – antuirno Jun 24 '15 at 19:53
-
If you've used other xUnit frameworks, you should be fine. – Tudor Timi Jun 25 '15 at 06:13
Any programming language can be interfaced to SystemVerilog by Direct Programming Interface.
By referring quote from Sectioin 35.2 of IEEE 1800 - 2012 it is possible but adopting to it to the environment is based on the programmers understanding of the calls and routines of the language.
DPI is an interface between SystemVerilog and a foreign programming language. It consists of two separate layers: the SystemVerilog layer and a foreign language layer. Both sides of DPI are fully isolated. Which programming language is actually used as the foreign language is transparent and irrelevant for the SystemVerilog side of this interface.

- 1,180
- 1
- 22
- 38
-
@Tudor Thanks for pointing, when I went through it, it seems like a framework which was similar to scoreboard framework – Emman Jun 24 '15 at 08:19