Subject: RE: DirectC C-Layer: open arrays and abstract access
From: Francoise Martinolle (fm@cadence.com)
Date: Tue Dec 17 2002 - 14:59:14 PST
At 05:30 PM 12/17/2002 -0500, Joao Geada wrote:
>Francoise
>
>the problem with the VPI approach is that VPI (as described in the standard)
>is a very indiscriminate interface: once you have VPI enabled you can do
>*anything, anywhere*. Sure, every vendor has come up with (mutually
>incompatible)
>approaches to reign in these capabilities but these approaches:
> a- require the user to unerringly specify the access they need for
> each and
> every instance/signal across an entire design
Not really. The user is only to required to specify the access they need if
this access is not obvious.
When using user-defined system task or functions, VPI or PLI access to the
arguments
must be provided by the simulator because the C code may access at least
the arguments.
A directC function should just be treated as a user-defined task in that
respect and if an abstract handle has to be passed because it is an open
array, that handle
should be a vpi handle. Access to the array types, dimensions, left and
right ranges and
values of the elements is fully defined in VPI.
>or
> b- rely on some "learning" mechanism for the simulator to attempt to
> identify
> what signals the user/application will access/modify
>One of the conveniences of DirectC is doing away with all those complex,
>fragile
>and vendor-specific approaches. Instead, the user just puts in the appropriate
>extern declaration and can then start using the function. No fuss, no
>complexity.
>Both the compiler and the user know straightaway what is needed/available with
>no room for error.
>
>As soon as VPI comes into the picture all that nicety goes straight out, and I
>do not believe anyone has made a compelling argument as to why we should
>discard
>the user-friendly properties that a DirectC-specific interface provides.
I like the directC access but for open arrays, I don't see any direct
access defined, I see
an abstract handle which you have to access with some API functions.
>Please note that I am not against judicious use of VPI (eg assertion API
>proposal
>I sent yesterday is now a VPI extension). I am just concerned that each
>interface
>preserves all its required properties.
Understood and I have the same opinion; that's way leave abstract access
with VPI and
direct access to DirectC.
>Joao
>==============================================================================
>Joao Geada, PhD Principal Engineer Verif Tech Group
>Synopsys, Inc TEL: (508) 263-8083
>344 Simarano Drive, Suite 300, FAX: (508) 263-8069
>Marlboro, MA 01752, USA
>==============================================================================
>
>
>-----Original Message-----
>From: owner-sv-cc@eda.org [mailto:owner-sv-cc@eda.org]On Behalf Of
>Francoise Martinolle
>Sent: Tuesday, December 17, 2002 4:49 PM
>To: Andrzej Litwiniuk; sv-cc@eda.org
>Subject: Re: DirectC C-Layer: open arrays and abstract access
>
>
>
>I would not want to create yet another abstract interface. We already have
>VPI and PLI.
>VPI access to multi-dimensional arrays is already defined in Verilog 1364
>2001 and with
>some modifications it can be enhanced to manage open arrays.
>VPI provides a nice interface to iterate over the elements of an array and
>to get
>the value of each element. VPI should be the abstract access interface.
>DirectC should be the interface to use for direct access.
>
>Francoise
> '
This archive was generated by hypermail 2b28 : Tue Dec 17 2002 - 14:59:50 PST