[sv-cc] Using DPI-C accessor functions in DPI-OO

From: Jim Vellenga <vellenga@cadence.com>
Date: Thu Sep 01 2011 - 07:23:41 PDT

Some of us in SV-CC have wanted DPI-OO to be a compatible extension of DPI-C, and in particular to be able to use the C-language argument accessor functions already defined for interacting with DPI-C.

I can understand wanting to do that, but that goes counter to one of the goals that Cadence sees for this proposal. That goal is for the intermediate layer operations to be usable among any combination of object-oriented languages, even when there is no SystemVerilog present. Presumably, the DPI-C accessor functions dynamically convert SystemVerilog internal representations (as of arrays of logic) into corresponding C types and structures. So if there is no SystemVerilog present, there will be no functions to do the conversion -- after all, there is no SystemVerilog internal representation present either.

What DPI-OO is defining is instead a native C++ intermediate format for representing classes, methods, and other data types. Rather than requiring other object-oriented languages to access special SystemVerilog accessors, we provide a format for passing class handles, method calls, etc., among two or more languages. The implementation by which language A accesses those elements, and the implementation by which language B references them, are separate and independent, so that language A can use its same implementation, unchanged, to interact with language C. In particular, this must work among languages that are not SystemVerilog without SystemVerilog being present.

Regards,
Jim Vellenga

Jim Vellenga | Member of Consulting Staff | Cadence

P: 978.262.6015 F: 978.262.6636 www.cadence.com<http://www.cadence.com>

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

image001.gif
Received on Thu Sep 1 07:24:19 2011

This archive was generated by hypermail 2.1.8 : Thu Sep 01 2011 - 07:24:21 PDT