Monday, February 9, 2009

When will SV Interface be really useful?

The idea of adding interface construct to SV language has proven to be a short sighted one with all its ugly ramifications for the RTL side (refer to good papers on this from Jonathan @Douolos if you need proof). Add to it the fact that not all RTL synthesis (+ FPGA), Linters, Equiv. checkers fully supporting it yet!

Atleast on Verification front it has been proving good. However a significant drop has been the lack of proper debug support for it. I wish EDA takes debug seriously. It affects productivity so much that any language level gain we get is nullified with lack or weak support for these new constructs.

For instance, look at SV Interface as a simple "wire bundle" - do we have debuggers handle it at that level of abstraction?

Luckily Verdi seems to be doing it (leading the way as ever before), see:

http://newsletter.springsoft.com/.docs/pg/10768

Happy debugging!

Ajeetha, CVC
www.noveldv.com

5 comments:

Anonymous said...

According to this, Jonathan Bromley and Gord Vreugdenhil (of Mentor) will be making a 2009 DVCon presentation on "Is There a Future for SystemVerilog Interfaces?". At the 2007 DVCon, Jonathan made this presentation about "Towards a Practical Design Methodology with SystemVerilog Interfaces and Modports".

Anonymous said...

Hi Ajeetha,

Actually, the Cadence Incisive debug environment -- SimVision -- has supported interfaces since 2005.

=Adam Sherer, Cadence

Ajeetha Kumari said...

Brad,
Thanks for those links, really handy to have them here.

Regards
Ajeetha

Ajeetha Kumari said...

Hi Adam,
Perhaps I wasn't very clear on what I liked with Verdi. Let me elaborate (actually I will have a detailed part-II on this soon). While almost every tool did dump the interface to waveform (via SHM/WLF/VPD/FSDB), the "intelligence" was/is missing in terms of:

1. Grouping the signals as per interface/modport.
2. Smartly annotate interface name to the signal(s)
3. Driver tracing across interface
4. Driver tracing/value annotation/follow up via virtual interface.
5. Command line utilities such as "describe, force/deposit" etc.

Since I haven't used SimVision for a while I am outdated with its features/capabilities on this area. If you can share some details on that, it will be useful

tuapiod-ge said...

tuapiod-ge Samantha Mondragon link
larneustatic