SV-EC committee meeting. Monday September 27 2010 11:00am - 1:00pm PDT [ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_October_11_2010_Minutes.txt ] Meeting number: ------------------------------------------------------------------------- 0000000 7654321 Meeting Days: ------------------------------------------------------------------------ (1213101) Day (1730629) (1000000) Month (0998887) (1111111) Year (0000000) ------ Attendees -------------------------------------------------------- 1. (AAAAAAAAA-AAA) Arturo Salz 7 - y 2. (AAAA-AAAAAAAA) Dave Rich 6 - y 3. (--AAAAAAAAAAA) Francoise Martinolle 5 - y (75% attendance) 4. (AAAAAAAAAAAAA) Mehdi Mohtashemi 7 - y 5. (AAAAAAAAAAAAA) Neil Korpusik 7 - y 6. (AAAAAAAAAAAAA) Ray Ryan 7 - y 7. (-AAAAAA--AAAA) Gordon Vreugdenhil 6 - y 8. (AAAAAAAAAAAAA) Steven Sharp 7 - y 9. (--A--AA--AAAA) Heath Chambers 3 10. (----AAA----AA) Don Mills 3 11. (AAAAAAAAAAAAA) Mark Hartoog 7 - y 12. (AAAAA-AAAAAAA) Tom Alsop 6 - y 13. (AAAAAAAA--AAA) Jonathan Bromley 7 - y 14. (AAAA--AA--AAA) Neil S 5 - y Marvell 15. (A-AAAAA--AA--) Cliff Cummings 6 - y 16. (AA-A--AAAAAAA) Alex Gran 4 - y 17. (-AAAAAAAAA--A) Daniel Schostak 6 - y 18. (--AAAAA------) Swapnajit Chakraborti 5 - y 19. (AAAA---------) Linc Jepson 4 - y 74ze 17 people will have voting rights in the next meeting ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// October 11 2010 ///////////////////////// Agenda: 1. Review IEEE patent policy ------------------------------------------------------ http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Cliffto have read Second: Tom Abstain: Opposed: Passed/approved unanimously 2. Approval of previous meeting minutes: ------------------------------------------------------ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_September_27_2010_Minutes.txt Move: Dave to approve Second: Jonathan Abstain: Alex (lack of internet connection) Opposed: Passed/approved unanimously 3. Updates from P1800 ------------------------------------------------ Participation and voting guidelines, other updates. [if any available] Next meeting October 14 2010. Status needed for sv-ec for the meeting on 14th. 4. Continue Review and discussion of top 25 issues and categories: ------------------------------------------------------ Review of the top 25 [+10] started last meeting, 1 through 12th were discussed. Will continue with the list below. [Please take a look at Action Items per last meeting, appended at the end of this email] 2505 class select: what is allowed after the dot? Neil S: Shalom had mentioned about visibility of enum values, email on 9/28. Neil: the first item is just adding a reference Neil S: Will add the reference in the document. FOR REFERENCE: Sahlom's note: - class Packet ; typedef enum {ERR_OVERFLOW=10, ERR_UNDERFLOW=1123} PCKT_TYPE; Packet p = new; var1 = p.ERR_OVERFLOW; <-- From an example, is it allowed? Steven: something specifically including enum constants. Arturo: the use of instannce name and class handle is confusing. Neil S: example was intended to see if we can use the enum names Steven: enum examples belong to the lower section, not about the discussion about class properties, Arturo: it is closer to type, Steven: much closer to the area where we talk to parameter data value. not any different from static member access Arturo: Scope operator is the one we use for access Steven: no point to allow getting access to type, constant expressions, enums can be used where there is no required constant expression. Arturo: Gord was very specific about value parameter. If parameter is referring to a value parameter. Type parameters must be accessed with scope operator. Steven: no distintion between enum constant and value parameters, it should not be affected. Jonathan: any other place there is no easy way to distinguish the difference between enum and value parameter. Steven: agree that LRM does not allow it, but also with Jonathan that it should be ok to do it. title is what is allowed after the dot, also is .enum allowed? current text does not allow it. Arturo: where is allowed in the LRM. Dave: thinks it is just ambiguous BNF allows it. Arturo - it isn't ambiguous Steven - the BNF allows a lot of stuff that isn't legal. Arturo - we should create a new mantis item for this enhancement. Steven - do we prevent ourselves from allowing it if we create a new mantis item. (item 2. in Shalom's email) Mehdi - remove the enum example Steven - there is an example, but no text supporting it. It looks like Shalom is suggesting to add some text to allow it. Mehdi - It makes sense to create a new mantis item for this. Arturo - this originally comes from c++ Jonathan - the dot-notation allows access to anything in the class Steven - a member of a superclass, not visible in the derived class. Dave - having trouble seeing what is different from an enum item and a parameter Steven - a value parameter whose value is an enum type Jonathan, Dave - would like to clarify it here. Dave - thinks most simulators support this already others on the conference call weren't so sure. Steven - we allow it but issue a warning. enum names - why can't we say the answer is yes to this? Arturo - the section on scope resolution operator - has that example. can use the scope resolution operator to access enum constants. - concerned about allowing both the scope resolution operator and the dot operator to be allowed to access the enum names. Mehdi - looks like we should leave the text alone for item 3. in Shalom's email. Gord thought there wasn't an ambiguity. Neil S. - will be out next meeting, but can update the mantis proposal. AI/All - should we allow enum constants to be accessed by the dot? 2953 Algorithmic generation of covergroup bin contents Ray - had sent email on this one (see the note in mantis) generate syntax inside a covergroup Ray - 2506 - can use an unpacked array - child of 2506 Arturo - that is a clever methodology approach - this should proably be added to the LRM as an example Ray - yes, it is valid to do this today. AI/Mehdi - make 2953 a child of 2506 AI/Mehdi - make a request in this week's P1800 meeting to work on 2506 Discussion on Dave's email on named events within classes Dave: named events treat them symbolically, event as a member of class, how does that event expression work. Arturo - we didn't consider the case of creating an event dynamically - it is a complex problem. Steven - could be waiting on events. - a named event has no value Arturo - can compare with NULL today could be used inside a wait statement. The wait is not triggered when the event changes. The LRM allows it, but the behavior is probably not what the user wants. Dave - in an equality context it is treated like a handle. - looking at a change on a bit versus a change on an event is different. Arturo - waiting forever, or triggering right away are possibilities. Steven - event doesn't have a value, other types of events are due to the change of a value. Arturo - the base of an array is fixed, the index varies for a class it is the base that changes. Jonathan - has a user ever really reassigned an event and got it to work the way they expected it to work? Dave - he usually tells people to not use events. Steven - doesn't allow it to be changed, since it wasn't clear how to get it to work in a way that was useful to a user. Dave - dynamically reconfigure what waiting for, should be able to change the index. Steven - it takes time for the simulator to update. If change the index to be immediately followed by an update how can you expect the simulator to respond right away. Technically it is not a race condition. Arturo - can use the triggered method (it has a value). Steven - can't use triggered in an event control, just a wait statement Dave - just when that value changes. Steven - can't see the bit going false. You can't wakeup on triggered going false. Doesn't go false until end of the time-slot. Arturo - under the hood it is just a bit that toggles, but the user doesn't have access to it. Dave - is it out of scope? Arturo - agrees there is an inconsistency there. Steven - agrees there is an inconsistency and that there is no way to resolve this inconsistency. Mehdi - the rest of the items on the agenda are still being worked on. 2993 Arturo Coverage 3002 Tom AOP 1356 Tom multiple inheritance 3003 constraint composition 3082 Daniels' top items 2735 ballot comment #48, chaining.. 3046 Gordon 5. Champions feedback discussion ----------------------------------------- Champions comments: a) 2080, 1672, 802 Neil: Brad wanted a link 2080, 1672 and 802. documenting what we are doing, he wanted the mantis database updated with the resolution set to 'duplicate' and the relationship field set to duplicate for the appropriate mantis item before approving. AI/Neil - update the mantis items (3 of them) b) mantis 251 multiple user defined bins for cross Neil: 251, Brad and Shalom opposed to this. Dave: it is not a complete overalp, enough overalp to consider duplicate, Shalom, wants it closed, Neil: it should not be a duplicate of 2506 Mehdi: will open 251, Jonathan - thinks that 251 is not covered by 2056 Arturo - 251 is a syntactical restriction. - it could be that the enhancement for 2506 would cover the concern raised in 251. Mehdi - add a note to 251 saying that it should be revisted when 2056 is addressed. Agreed - just leave 251 open. c) mantis 2794 Neil: There was feedback on some changes that are required. Jonathan: 2794, can update the proposal, based on the comments AI: Mehdi, set status to feedback, AI: jonathan update the status and we will revote d) mantis 2949 Neil: 2949 is also opposed by Brad, he had a question about the change Jonathan: I do not agree on this with Brad, - adding a simple note would most likely lead to additional confusion. AI/Jonathan - send email to Brad to get clarification on his feedback. 6. Next meetings October and November 2010 ----------------------------------------------------- Monday October 25 2010 Monday November 8 2010 -------- for reference only ------------------------------ --------------------------------------------- Summary table: Assigned Lead/Champions --------------------------------------------- 1 2848 Francoise 2 3002 Tom, Dave, Jonathan, Francoise, Arturo, Neil S., Cliff, Gord 3 3046 Gord, Franocise, Mark, Ray 4 1356 Tom [same with 3002] 5 3001 Jonathan, Tom, Francoise 6 2999 Tom, Ray, Arturo, 7 3003 [2987, 2988] Jonathan, Tom, Ray, Arturo, 8 3082 Daniel, Jonathan, 9 2845 Francoise, Mark, Alex Neil S., Gord? 10 2956 Steven, 11 2505 Neil S., Mark, Francoise 12 2735 Arturo, Steven, Gord, 13 1706 Mark, Steven, Francoise, 14 2488 Steven, Francoise, 15 2112 Dave, Steven, 16 3028 Arturo, Ray, Neil S., Mehdi, 17 2950 Francoise, 18 2794 Jonathan, Steven 19 2993 Tom, Ray, Swapnajit (cadence) 20 1442 Steven, 21 2953 Ray 22 1349 Steven 23 2949 Jonathan, Steven 24 2451 Steven, 25 2987 Jonathan (combining 2987, 2988, see 3003) ------------------------------------- [next 10] 26 3006 Ray, Steven, 27 3004 Tom 28 2998 Tom 29 2117 Cliff?? 30 No Mantis 6 could be linked with 2991 with sv-bc 31 2928 Ray, Arturo, 32 2787 ?? (Daniel)?? 33 2972 ?? (Daniel)?? 34 2996 Tom, 35 2988 already assigned (see 3003) 36 No Mantis 4 related to AOP (already covered) -------------------------------------------------------------- FOR References: --------------------------------------------------------------------- ============ from October 11 2010 meeting =================== AI: related to 2505 All - should we allow enum constants to be accessed by the dot? AI: 2953 Mehdi - make 2953 a child of 2506 Mehdi - make a request in this week's P1800 meeting to work on 2506 AI: 2080, 1672, 802 Neil - update the mantis items (3 of them) AI: 251 Mehdi, leave mantis 251 open AI: 2794 Mehdi, reopen mantis item for feedback Jonathan: update AI: 2949 Jonathan: send email to Brad to get clarification on his feedback. ============ from September 27 2010 meeting =================== AI: 3003 Tom - will get feedback on specific examples. (see 18.7 for information on the with-clause) AI: 3003 Jonathan - will get an email discussion going. ============ from September 13 2010 meeting =================== AI: Coverage item Swapnajit - will provide a note for clarification, to be added to Mantis 1802 AI: Coverage item Swapnajit - will put together a proposal for this issue. [related to 19.5.3 wildcard specification] AI: 2848 Francoise - Will do a write-up for this proposal. AI: 2845 Francoise - will try to write-up for this. ============ from August 30 2010 meeting =================== AI:2956 Mehdi making a note to the editor for adding cross reference. AI: 2794 Jonathan will make the friendly amendment. AI:3028 Jonathan create a proposal and upload it for more discussion and vote next meeting. ============ from August 16 2010 meeting =================== AI: 3028 Jonathan - write up the parallel proposals. AI: 2794 Jonathan - add text for the case where indices are x, z AI: 1442 Steven - check if Shalom's comments make this issue moot. AI: 1349 Steven: create the proposal for 1349 AI: 2451 Steven put a proposal together. AI: 2993 Tom; will check internally to see if these meet their needs AI: 2993 Mehdi; upload the email as a note to the mantis item AI: 2993 Arturo; will donate their implementation. ============ from Aguust 2 2010 meeting =================== AI: 1706 Steven put together an email for bc to provide feedback on 4 options Mehdi can send to sv-bc AI: 2993 Swapnajit: add a note to the mantis item as to where we currently are in the process. AI: 2953 Ray - take a look at this one ============ from July 19 2010 meeting =================== AI:Tom get confirmation from users about exact intent of the original request for 3001 AI: Francoise will add a note to the mantis item 2848 AI: Gord will write up a proposal for 3046 AI: Ray will add a bugnote 2999 ============ from June 21 2010 meeting =================== AI/Mehdi - For number 30 on the list, 'no-mantis item 6' send email to Matt about linking this request to mantis 2991. AI/ALL - assigned leaders/champions to start looking at the top 25 items on the list and plan for proposals/discussions/reviews. ============ from June 7 2010 meeting =================== AI/Tom - some examples would be useful [mantis 2987, soft constraints] AI/Cliff - what is actually required. [mantis 2117] Allow extending of covergroups in classes AI/Cliff, John H. - more details on this request, item number 30 [no mantis 6: allow re-use of enumerated names (slide 31) AI/All - find mantis items that can be closed, or easily resolved. - any of the 0.5h estimate items could be considered as well. ============ from May 24 2010 meeting =================== AI/Tom and others: mantis 3002 AOP: any more clarifications from users perspective. AI/users: mantis 1356: Multiple inheritance:what are the particular requests? clarifications. AI/Tom - Mantis 3003, we need more clarification from user base ============ from May 10 2010 meeting =================== AI/Jonathan - create mantis items for No-Mantis-10. Completed action items: ============ from April 26 2010 meeting =================== AI/Mehdi - add a column for enhancement versus clarification AI/Mehdi - add a column for amount of work required. AI/Mehdi - add sheets for the various categores in the Google doc. AI/Mehdi - send out a link to the p1800 spreadsheet. AI/Mehdi - add a column for duplicates AI/All - send input on the list of categories. AI/ALL - until May 5th to provide any inputs on the spreadsheet. ============ from April 12 2010 meeting =================== AI/Mehdi - Look at the Google Docs and creaet spreadsheet for collaborative efforts. Also add cross committee column to the spreadsheet. AI/All - send inputs on any new items by April 24 2010, this is deadline for any item that is not already in the mantis database. AI/All - prioritize and categorize list of items that are in the spreadsheet to be reviewed during the next two sv-ec meetings. AI/Neil - email to cliff on proxy rights == List with estimates ======= hrs top 2t mantis Id 4 1 2848 12 2 3002 1 3 3046 16 4 1356 2 5 3001 3 6 2999 5 7 3003 8 8 3082 4 9 2845 0.5 10 2956 3 11 2505 4 12 2735 1 13 1706 2 14 2488 2 15 2112 2 16 3028 2 17 2950 1 18 2794 4 19 2993 0.5 20 1442 6 21 2953 0.5 22 1349 0.5 23 2949 4 24 2451 4 25 2987 92 total 46 (2hr sessions) 0.5 26 3006 4 27 3004 2 28 2998 4 29 2117 4 30 No Mantis 6 0.5 31 2928 4 32 2787 2 33 2972 2 34 2996 0 35 2988 0 36 No Mantis 4 23 total 11 sessions ====================================== top 25 Id Number of Votes weighted vote Summary Degrees of difficulty Cateogory Sub-Category 1 2848 7 159 Is it legal to assign an interface containing class declaration to a virtual interface med Virtual Interface and class 2 3002 8 125 Aspect Oriented Programming (AOP) features High class constraints 3 3046 8 112 Dotted names within inlined constraints Low class Strings/Arrays 4 1356 6 112 Multiple Inheritance High class Strings 5 3001 9 102 Proper Polymorphic behavior of instantiation low class Arrays 6 2999 7 99 Class Handle reference inside of Constraints med class constraints 7 3003 6 98 Constraint Composition High Randomization Strings 8 3082 7 96 (4) Ambiguity resolution (see slide 10 for examples of parts of the Standard that have been interpreted differently by different simulators) 9 2845 4 84 virtual interface type checking versus interface type that had been defparam'ed high Virtual Interface Misc / function proto 10 2956 4 76 clarify class 'process' definition (9.7 vs 18.13.3, 18.13.4, 18.13.5) low Process control 11 2505 4 76 class select: what is allowed after the dot? low class 12 2735 4 73 Ballot Comment #48: Chaining of method calls med class constraints 13 1706 4 72 Meaning of static prefix for virtual interface assignments Virtual Interfaces 14 2488 4 69 Are virtual method calls legal within class constructors? med VI OO classes 15 2112 6 69 Remove restrictions on NBA assigments to class members med class constraints 16 3028 6 68 constraints for unique array elements. Med Randomization 17 2950 4 67 virtual method prototype matching low class 18 2794 4 64 Clarify queue methods return status low class 19 2993 4 63 Cross cover points across different cover groups med Built-in Methods 20 1442 3 63 Clocking blocks legal in modports, missing from text description in 20.9 Functional Coverage 21 2953 6 61 Algorithmic generation of covergroup bin contents high clocking block 22 1349 5 61 fork/join_none: what if parent thread terminates without blocking statement? Functional Coverage 23 2949 4 60 LRM is silent about the semantics of referencing a clocking block output low Process control constraints 24 2451 6 58 Omitting body defaults med clocking block constraints 25 2987 6 56 Soft Constraints med class Misc / function proto 26 3006 5 55 LRM doesn't say explicitly what should happen if null pointer is randomized low class Data Types 27 3004 5 55 Ability to declare/qualify classes/methods/variables/constraints final med class Virtual Interface 28 2998 4 55 Solve Before enhanced low Randomization class 29 2117 3 52 Allow extending of covergroups in classes high Functional Coverage class 30 No Mantis 6 5 51 (3) Allow reuse of enumerated names (slide 31) cross-committee Randomization 31 2928 3 50 ambiguous restriction on function calls in constraint expressions low Randomization Randomization 32 2787 3 50 reference via scope operator to parametrized superclass item med class Randomization 33 2972 3 49 add class constructor/method, task/function overloading High class Randomization 34 2996 4 49 Method overloading High class Randomization 35 2988 2 48 Defaults Constraints med Randomization Process control 36 No Mantis 4 2 47 (1) AOP when-inheritance (slide 31) Class/AOP Functional Coverage