Doxygen Filter for System Verilog 2.3.0 Released
Another filter release with some more bugfixes AND a new (experimental) feature.
I’ve added (optional experimental) support for SystemVerilog packages.
This release includes:
- bugfix: String in define with keywords breaks filter (#32)
- bugfix: no space between class name and #( opening is allowed (#33)
- bugfix: template class starting on next line (#34)
- bugfix: no details for the classes (#35)
- feature: added experimental support for package to namespace conversion
- feature: now strip DOS line endings (part of the #35 fix)
To use the package to namespace feature you need to include the –package_mode option when the script is called. The comments in the filter script header detail how to do this. The feature is not enabled by default. One important note: doxygen doesn’t like our common style of using `include inside of a package. And until I can figure out why – this will remain an optional experimental feature. (If you get this to work, please let me know!)
The original post (from the first release) explains how to use the filter. Here’s a link:
http://www.intelligentdv.com/blog/20/doxygen-filter-for-systemverilog-released/
You can pick up the release from the downloads page here:
http://intelligentdv.com/downloads/index.html#doxygentools
Or – you can grab it directly from the subversion repository with your svn client (or using the WebSVN site here).
TIP! These blog announcements (like this one) often lag the actual release by several weeks… so I recommend subscribing to the RSS feed for the Doxygen tags on the WebSVN site to keep up-to-date.
A Reminder: the doxygen filter is not a grammar — it, like the doxygen tool, is a lexical parser. So – you will find bugs. And when you do – please file them to the bug tracker here:
http://intelligentdv.com/bugs/
-experimental
June 3rd, 2009 at 12:12 pm
I just wanted to let you know about a change that I implemented in the (previous) filter script.
I wasn’t happy with the details of the documentation of the modules, so I changed the filter script to treat modules as classes. The script takes the port list from the module and creates a fake constructor so that the port list is still visible in the doxygen output.
Thought I’d let you know, and thanks for all the work on this.
June 11th, 2009 at 10:57 pm
@Nick
Thanks!
I can see how for RTL documentation that this would be useful – especially with the collaboration diagrams.
If you want to email me the change you made I should be able to include it as a command line option.
-Sean