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:

http://bugs.intelligentdv.com

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!

7 Responses to “OVM Source Code Documentation with Doxygen Posted”

  1. neil whiting Says:

    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.

  2. Adam "Sherilog" Sherer Says:

    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

  3. Sean Says:

    @neil
    Doxygen is a great tool for documenting an OOP verification environment.

    @Adam
    Thanks. I’ll update the documentation page based on your feedback.

  4. Thomas Says:

    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!

  5. Jeff Says:

    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.

  6. Elmalaki Says:

    Great and solid work !!
    Hopefully you will have time to open it to the public soon ;)

  7. Ankit Says:

    It’s good document

Leave a Reply