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 BerkingReceived 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