OVM Source Code Documentation with Doxygen Posted
So nobody has posted the OVM (Open Verification Methodology) with Doxygen - so I thought I would.
I’ve posted documentation for all of the released versions of the OVM library here:
http://www.intelligentdv.com/documents/index.html#ovmdox
And it wasn’t easy! Building a “simple” doxygen filter script turned into a lesson in heuristics! It started with a simple filter script that I wrote to generate documentation for some (forthcoming) tiny library components that I’m working on. I thought - hey, to really test my script, maybe I’ll run the OVM through it. A few months later (hey - I only get to hack on this in my spare time - so stuff takes time) I had a script. And now I’m much more comfortable with Perl. I even have some of the regular expressions memorized now.
My favorite is the inheritance diagram for ovm_object. It’s huge! Sort of beautiful. And the image is huge, so be patient. And if all of my readers download that image - well, my readership isn’t high enough to where it should matter. ;) (That said - I’m not going to link it directly from here.)
Now that I’ve got the doxygen documentation, maybe I’ll actually take the time to learn the OVM! I’d post the documentation for the library that I use, but its, um, not open source. Ahem! And my filter (currently) barfs on all of it’s freakin’ preprocessor macros. (Templates people! Templates!)
So this filter script is a work in progress (heuristic filter - not a grammar.) So if you find something is wrong with the documentation please, please file a bug:
Project: DoxygenFilterSV
(And if you find filing a bug too cumbersome - then at least drop a comment on this entry or send me an email.)
Enjoy!
June 9th, 2008 at 1:25 am
Looks very useful - I was just starting to wonder how to manage the complexity of a big testbench and this could be part of it. I haven’t used Doxygen before but it seems interesting too. I’d be interested in your filter.
June 9th, 2008 at 6:26 am
The OVM docs will definitely help OVM users. We plan to add a link from OVM world to them as part of our increasing set of reference material.
One thing I would add/correct on the OVM description is that the OVM is truly a balance of Mentor’s AVM and Cadence’s URM. Its that even combination that gives the OVM the scalability and plug-and-play reuse that VMM is trying to acheive. It would be great to see the description in the documentation index page reflect that balance.
=Adam “Sherilog” Sherer
June 9th, 2008 at 7:05 am
@neil
Doxygen is a great tool for documenting an OOP verification environment.
@Adam
Thanks. I’ll update the documentation page based on your feedback.
June 12th, 2008 at 5:52 am
This looks great. I was starting to think about setting up something like DoxyGen for documenting my test-environments.
It would be great if you would make your filter availlable to the public.
Anyway, thanks for the OVM documentation!
June 19th, 2008 at 1:45 pm
I love the site!
Do you plan to release the filter file? I have been looking for a SV filter file for a long time.
June 20th, 2008 at 3:59 pm
Great and solid work !!
Hopefully you will have time to open it to the public soon
September 8th, 2008 at 2:23 am
It’s good document