RE: [sv-cc] Mantis item #1385 entered

From: Moorhouse, Abigail <abigailm_at_.....>
Date: Wed Mar 15 2006 - 15:05:49 PST
Hi Chuck
I thought that conceptually, the 1364 reg and reg array object model was
much better than the variables one (ignoring the awfulness of the
vpiMemory backwards compatibility on reg). I suppose I prefer to think
of these objects as an array, first, and then 'of what', second, and
that's the regarray/reg model. The 1364 variables object model reverses
this, first it's an integer, then it's an array, since integer is the
primary type, and array-ness is secondary. I accept that this makes it
look more like the source code, but it somehow doesn't sit right with
me.

Now we are trying to smush the reg and variables together. I personally
would much prefer it if we ended up with something that more resembled
the reg/reg array model than the original variables model. In this case,
I think var select has to go, at least as an object in its own right.

I would have a single element iterator tag that returned the appropriate
element from within an array. Maybe Var Select would be relegated to a
tag, returning objects from a class of elements (with vpiArrayMember
true) as appropriate to the original array type? vpiReg would then be a
special case for backwards compatibility, and work only on vpiLogic
arrays. It would also be natural, though not necessary, to allow
vpiIntegerVar iteration on integer var arrays, and so on.

My 2c. Definitely a tricky topic, caused I think by trying to merge two
fundamentally incompatible object models from 1364.

Abi

-----Original Message-----
From: Chuck Berking [mailto:berking@cadence.com] 
Sent: Wednesday, March 15, 2006 2:28 PM
To: Moorhouse, Abigail; sv-cc@eda.org
Subject: RE: [sv-cc] Mantis item #1385 entered

Yes- all good points.  You have hit another of the items on my list, ie.
vpiReg iteration on array of integers (manifesting in 1800 as
vpiArrayVar or vpiRegArray).  Diagram 27.14 says this is valid, and you
will of course get vpiIntegerVar handles from this (with vpiArrayMember
set TRUE).  Yes, and yes also to your last points. 
-Chuck

-----Original Message-----
From: Moorhouse, Abigail [mailto:abigailm@model.com]
Sent: Wednesday, March 15, 2006 5:17 PM
To: Chuck Berking; sv-cc@eda.org
Subject: RE: [sv-cc] Mantis item #1385 entered

Hi all,
I'm also curious about how vpiReg and vpiVarSelect iterators on array
vars will operate. If the array var is an array of reg, what type items
will they both return? Previously, var select and reg were not the same
thing. Is it even valid to iterate with vpiReg (aka vpiLogicVar) on an
array of integers, or should it be valid only for arrays of logic and
generate an error? Also I assume that neither is intended to return
slices if the array is multi-dimensional, but instead to cut right down
to the atomic elements of the array. In general, more clarification is
needed on slices and multi-dimensional arrays in the VPI, I think. 
Abi
 

-----Original Message-----
From: owner-sv-cc@eda.org [mailto:owner-sv-cc@eda.org] On Behalf Of
Chuck Berking
Sent: Wednesday, March 15, 2006 1:54 PM
To: sv-cc@eda.org
Subject: [sv-cc] Mantis item #1385 entered

FYI, I have entered Mantis item #1385 as a request to clarify the VPI
compatibility issues between SV 1800 and 1364, as per the issue raised
by Abi in our meeting today.
Regards,
Chuck Berking
Received on Wed Mar 15 15:05:53 2006

This archive was generated by hypermail 2.1.8 : Wed Mar 15 2006 - 15:05:58 PST