SV-EC Committee Meeting Monday June 05 2006 11:00am - 1:00pm PST [Minutes distributed for approval at next (sv-ec) committee meeting] (1021121020 ) Day (9933370825 ) (1000000000 ) Month (2112334556 ) (0000000000 ) Year (5666666666 ) --------- Attendees ---------- (AAAAAAAAAA ) Arturo Salz (-AAA-A-AAA ) Cliff Cummings (A-AAAAAAAA ) Dave Rich (AAAAAAAAAA ) Francoise Martinolle (AAAAAAAAAA ) Mehdi Mohtashemi (AAAAAAAAAA ) Neil Korpusik (AAAAAAaAAA ) Ray Ryan (--AAAaaA-- ) Surrendra Dudani (-AAAAA-AAA ) Gordon Vreugdenhil (----AAAAAa ) Steven Sharp (-A--AA---- ) Phil Moorby (AA-------- ) Doug Warmke (---AAA---A ) Stu Sutherland (-----a---- ) Don Mills (Aa-------- ) Chris Spear (---------- ) Brad Pierce (---------- ) Karen Pieper ^^------------ Considered ONE MEETING. ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// June 05, 2006 ///////////////////////// Logistics note: You can use *6 for mute/unmute key sequence Agenda: 1. IEEE patent policy ref: http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Steven - Assume that the patent policy was read Second: Cliff Abstain: none Opposed: none passed 2. Review Meeting minutes, of May 22nd, 2006 http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_May_22_2006_Minutes.txt Motion: Ray - approve meeting minutes of May 22, 2006 Second: Neil Oppose: none Abstain: none Passed Unanimously 3. Review Action item list: Here is list of action items from previous meetings. ================= Action Items ============ Action items: May 22, 2006 ------------------------- AI: 1313 Gord - update proposal that will use min/max terminology and that outside of the range specifies an empty bin. AI: 1313 ALL members: to review and send any comments [Done] AI: 889 Ray - redo 889 proposal Action items: May 8, 2006 ------------------------- AI: 1256 Gord - will add some comments (bug notes) to mantis 1256. [done] AI: 976 Dave - put a proper proposal in place AI: 960 Mehdi - discuss this with Matt to resolve the overlap. Action items: April 10, 2006 ----------------------------- AI: 1330 Dave, add the example list to do. AI: 261/262 combined Steven put together some examples of overflow -- Arturo unsigned/signed examples. AI: 'this' question from M. Burns, Dave: review and discuss with Gord and create a mantis item. (this as a default argument ) [done] Action items: March 27 2006 ---------------------------- AI: 1306 Ray a bug note to this mantis item. may want to drop. [done] Action items: March 13, 2006 ---------------------------- AI: new item - Gordon to create a new mantis item for randomize() method call item (Ray, Gordon have discussed - still working on it internally) merges with change 889 ===================================================================== 4. Mantis items that have a proposal Coverage Related: ---------------------------------------- 1313 No definition for coverpoint and bin expression type rules Gord: kept first part of the original, where warning is generated Rules: singleton value, range of value singleton: a warning generated, not a valid value does not contribute range value: values outside expressible range, value. Arturo: consistent with discussion, third item lots of words, result is intersection expressible and the range. Neil: read it and doesn't have any problem with it. Motion: Gord - approve 1313, with proposal 1313_proposal3.html Second: Arturo Oppose: none Abstain: none Passed Unanimously AI/Gord - make an update to item 3. to use "intersection" terminology. Randomization/Constraint related --------------------------------- 889 (Randomization)clarifications for resizing dynamic arrays (Doug) Ray: Argument to randomize, simple names now, Array, large array of class handles, constructed, randomize a subset of them. Gord - array of class handles and integers shouldn't be different, ok for class handles to be a subset of behavior, but not a separate behavior. Ray - was in agreement with Gord on this. Dave - forloop with a guard, don't randomize some elements. Ray - would like to turn off random mode for elements of value greater than N. Arturo - eventually would like to have an enhancement to allow construction during randomization of the size of a dynamic array. Ray - could make it illegal Gord - if size constraint on dynamic array of class handles is illegal The following two enhancements would then remain 1. how specify object construction during randomization process 2. how specify randomize on randomly bounded slice of a dynamic array - prefers to not have two different meanings on size constraint for a dynamic array based on type handles - slice integers - resizing <-- people prefer this Arturo - what to do when have array of handles Ray - randomize on a null handle Arturo - array of null handles array is resized if objects are already there (then just resize) Ray - prefers to clear all items when resize. - what if there is a reference to the element c a[]; a = new(5); a = new(5) b; <---- get initial values from b. see 5.6.1 Arturo - container is resized the old ones don't magically come back if resize to larger later. Ray - if size is larger - could get an error. if one is null handle ---> runtime error (when no constraints) any array of length 5 (one is null) -- then randomize that array. Normally the items referred to by the handles gets randomized. Arturo - was mentioning that the null one just isn't randomized (unless there is an explicit constraint). Gord - first check for null handles? Ray - class has a static random variable - if handle to it is null? randomize that static value? Gord - 13.4.8 discusses rules on randomizing for objects Summary - always resize with initialization of elements (same as x= new(rs_x);) null handle is an error in a constraint but ok otherwise. what about static random variables if the handle is null. Can't reference static members by way of null handle. How many times would you randomize it? (similar to having multiple handles to the same object within a constraint). randomize(foo::y); <--- not valid syntax Gord - if a null handle signals that an object should be ignored, it seems to lead to quite a bit of consistency. Arturo - Vera - will ignore null handles but issue warnings from pre_randomize, post_randomize AI/Arturo - create a mantis item describing how to handle the null handles for class, to be included in 13.3 Next to last sentence can go away -- blue in proposal. AI/Ray - redo 889 use a different process for updating this mantis item, so that we don't continue to have problems seeing the new text and the strike-outs. rewording: in general dynamic array does a resize with initialization of elements. same effect as x=new (random size ) 1382 03-13-06 rand_mode settings after a shallow copy or assignment (Neil/Ray) Ray: intent of shallow copy was to do simple block copy. no new/constructor called. shallow-copy, allocate, but do not call constructor. all of the internal states are copied.... Neil: has a question about the note after segment 3. about covergroup Gord - what about an embedded covergroup? Ray - embedded cg creates an anonymous type he is thinking about it as a handle to same instance. Gord - turns off cvg for an embedded cg (also calling sample method will update cvg on original) What if original object goes away? (possibly never reclaim) Could end up with a reference to a cg in an object that no longer exist (ie in the shallow copy version of the object). Slightly surprising semantics. Alternative When do a shallow copy, don't get a ref to embedded cg (null handle) <--- people prefer it Dave - ok that the shallow copy gathers cvg of the original... he thinks this is just the danger of a shallow copy. Ray - alternative is for the constructor to be called (how know the args?) - what about handles to explicit coverage Arturo - embedded cg is already special Dave, Gord - prefer not to allow a special case for constructors that have no arguments (i.e. don't allow them to be constructed either). Gord - can also make it illegal to do a shallow copy of objects with embedded cg. * prefers this: "the implied cg reference becomes null" Arturo - making embedded cvg useless for shallow copies. Neil - raised an issue with last assignment in the proposal c3 = new c2; - we can't ever access the full derived object again from c3. Gord - must work this way, based on object type. virtual methods issues whole point of a shallow copy is to copy the original one. Arturo - this appears to be an enhancement, this constructor is different from the others. If type of lhs is different from rhs, this could be an error. Would be ok with an enhancement for this. Constructors today look at the lhs. Dave - why make it an error? Gord - would be a runtime error... Arturo - would need to look at runtime type, if we allow it. Gord - 2-steps to shallow copy construction of assignment Neil - since the only way to disallow it is to create a runtime error then we should allow it. Arturo - it would help to use better variable names and to add extra text to explain this case. Neil - Methodology point: don't do a shallow copy of an object with embedded cg. AI/Ray - update the proposal with our feedback. add text afterward for the discussion text 978 5.15 array methods, minor errata (Shalom/Neil) [see 1270] Ray: scan the array until you get a unpacked element, flatened it to flat element and operate on it. Francoise: is XOR defined for arrays? Gord: array methods were intended to integral value and any unpacked arrays of integral values. AI/Neil - update 5.15.3, one sentence - "Array reduction methods can be applied to any unpacked arrays of integral types." 5. Next meeting (June 19th) ========== ADDITION TO the minutes, not part of regular ========= ========== meeting discussions, informational purposes ========= ========== Action Items updated based on June 5th ========= Action items: June 5th, 2006 ------------------------- AI: 1313 Gord - make an update to item 3. to use "intersection" terminology. AI: 889 Arturo - create a mantis item describing how to handle the null handles for class, to be included in 13.3 Next to last sentence can go away -- blue in proposal. AI: Ray - redo 889 use a different process for updating this mantis item, so that we don't continue to have problems seeing the new text and the strike-outs. rewording: in general dynamic array does a resize with initialization of elements. same effect as x=new (random size ) AI: 1382 Ray - update the proposal with our feedback. add text afterward for the discussion text AI: 978 Neil - update 5.15.3, one sentence - "Array reduction methods can be applied to any unpacked arrays of integral types. Action items: May 22, 2006 ------------------------- AI: 889 Ray - redo 889 proposal Action items: May 8, 2006 ------------------------- AI: 976 Dave - put a proper proposal in place AI: 960 Mehdi - discuss this with Matt to resolve the overlap. Action items: April 10, 2006 ----------------------------- AI: 1330 Dave, add the example list to do. AI: 261/262 combined Steven put together some examples of overflow -- Arturo unsigned/signed examples. Action items: March 13, 2006 ---------------------------- AI: new item - Gordon to create a new mantis item for randomize() method call item (Ray, Gordon have discussed - still working on it internally)