SV-EC committee meeting. Monday June 7 2010 11:00am - 1:00pm PDT [ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_June_7_2010_Minutes.txt ] Meeting number: ------------------------------------------------------------------------- 00000 00000 54321 Meeting Days: ------------------------------------------------------------------------ (02121) Day (74062) (00000) Month (65544) (11111) Year (00000) ------ Attendees -------------------------------------------------------- 1. (A-AAA) Arturo Salz 4 v 2. (AAAAA) Dave Rich 5 v 3. (AAAAA) Francoise Martinolle 5 v 4. (AAAAA) Mehdi Mohtashemi 5 v 5. (AAAAA) Neil Korpusik 5 v 6. (AAAAA) Ray Ryan 5 v 7. (-AAAA) Gordon Vreugdenhil 4 v 8. (AAAAA) Steven Sharp 5 v 9. (-AAAA) Heath Chambers 4 v 10. (---AA) Don Mills 2 11. (AAAAA) Mark Hartoog 5 v 12. (AAAAA) Tom Alsop 5 v 13. (--AAA) Jonathan Bromley 3 14. (--AAA) Neil S 3 Marvel 15. (-AA--) Cliff Cummings 2 v Sunburst Design 16. (----A) JL Gray 1 Verilab 17. (AAAAA) Alex Gran 5 v Mentor 18. (AA--A) Daniel Schostak 3 v ARM 19. (----A) Kevin Johnston 1 Verilab 20. (--A--) John Halvicek 1 Freescale 21. (--A--) Scott Little 1 Freescale 22. (A--AA) Tracy McDermott 3 Sunburst Design ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// June 7 2010 ///////////////////////// One NOTE on voting rights: - At next meeting [June 14 2010] 14 attendees have voting rights. 1. Review IEEE patent policy ------------------------------------------------------ http://standards.ieee.org/board/pat/pat-slideset.ppt The chair reviewed the patent policy. Dave, Mark - move to assume that the patent policy was read. Passed unanimously 2. Approval of previous meeting minutes: ------------------------------------------------------ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_May_24_2010_Minutes.txt Move: Dave moves to approve Second: Steven Abstain: Mark (can not read). Passed/approved 3. Estimates for the top 25 issues and categories: ------------------------------------------------------ The top 25 items/issues from SV-EC were presented to p1800WG on May 13 2010. Refer to this presentation: http://www.eda.org/sv-ec/Minutes/SVEC_to25_13May2010.pdf P1800WG has requested the committees to provide a time-estimate/schedule for this list, how many can be completed by the deadline of October 2011. We need to provide the schedule/time-line by June 10 2010. Here is the list of 25 plus 10 that we had agreed during prvious sv-ec meeting. [NOTE: the estimated hours are listed in a table appended at the end of this minuts for reference] CONTINUED from last meeting. Dave - there are at least 10 that could be closed right away. 19 2993 Cross cover points across different cover groups Tom - to reference a covergroup from a different covergroup cover point coverpoint in one coverpoint, and use it Ray - there is some information in the description - not sure this is a good idea Mehdi - wouldn't the sample points need to be the same? Tom - that would be the assumption Francoise - the example appears to use a hierarchical reference to a cg Tom - the example was just a possible suggestion. It is this type of functionality that is being requested. Mehdi - 4h Arturo - that sounds reasonable. Francoise - this requires a bin range dependent on a hierarchical reference Arturo - there are other areas which are similar, just not in cg's Francoise - there could be ordering dependency issues. (4 hours) 20 1442 Clocking blocks legal in modports, missing from text description in 20.9 Mark - isn't this just an omission? Dave - yes, it is just an oversight or an omission. Mehdi - 0.5h (1/2 hour) 21 2953 Algorithmic generation of covergroup bin contents Dave - this one uses a generate type syntax Ray - 2506 is linked to this one - there appears to be a fair amount of new syntax Mehdi - 6h (6 hours) 22 1349 fork/join_none: what if parent thread terminates without blocking statement? Steven - this one is easy Mehdi - 0.5h (1/2 hour) 23 2949 LRM is silent about the semantics of referencing a clocking block output Francoise- this should be illegal, Mehdi - 0.5h (1/2 hour) 24 2451 Omitting body defaults Steven - LRM says you need to put the prototype in both places. Mark - out of body definitions of functions. The out of body version could have a different default. Dave - they must match according to the LRM. Mark - if we allow them to be omitted, that isn't very consistent Dave - for virtuals, the intent was the existence of a default must be consistent (exist for both or neither). Steven - a virtual can have a different default in the implementation. It however doesn't say which is used. Steven - this one is about allowing people to not have to write it twice. - leaving it off the implementation should be allowed. Mark - in what scope are the expressions evaluated? Steven - has been assuming within the task or function itself. Dave - mantis 2451 should be able to be solved in a short period of time Steven - virtuals are really a different issue (1584) - if we do just this one, it will be quick, the related ones could be tougher. Mehdi - we will end up discussing the other related ones. Mehdi - 4h ( 4 hours) 25 2987 Soft Constraints Mehdi - medium Steven - we could reuse the 'weak' keyword Ray - requires discussion on when a soft constraint is not overridden Tom - 'soft' comes from 'e' Dave - we need to know the requirements for the request, since 'e' is a different language. Ray - they seem simple at first. Soft constraints on ranges will require some discussion. Ray - 4h (4 hours) AI/Tom - some examples would be useful Tom not available next meeting. 26 3006 LRM doesn't say explicitly what should happen if null pointer is randomized Mehdi - it should be simple Ray - agreed Dave - 0.5h (1/2 hour) 27 3004 Ability to declare/qualify classes/methods/variables/constraints final Steven - this one will be tougher. Tom - changing the syntax should not be a problem. Steven - it shouldn't be a big problem. Arturo - similar to a Java final extension - you can no longer override it Tom - for a constraint, you can't add more to it, once final Steven - for variables, you can't hide it with another declaration Arturo - it is a language extension Mehdi - 4h AI:Tom provide more clariffication if possible ( 4 hours) 28 2998 4 55 Solve Before enhanced low Randomization class Arturo - there is a symantic issue Ray - most effort is in the syntax, since the semantic is understood. Mehdi - 2h (2 hours) 29 2117 Allow extending of covergroups in classes Arturo - is it extension in the same class? Francoise - what does it mean to extend a cg? Mehdi - adding additional coverpoints Steven - not the same as AOP. Ray - this one wants cg to be like a class Dave - cg with a,b already in it; extend it to add c and the cross with a Arturo - we should ask Cliff what he is requesting - if like an aspect, it wouldn't be too hard. - if like a class, it is more difficult, what does it mean? Dave - thinks that most requests in this area are for doing a cross. Arturo - if just for cross, it is covered by 2993. Mehdi - 4h (if we assume a clean use model) AI/Cliff - what is actually required. (4 hours) 30 No Mantis 6 Allow reuse of enumerated names (slide 31) [cross-committee Randomization] Mehdi - is svbc looking at this one? Steven - thought this one was different Arturo - this may just be a subset of the AOP request. Steven - there are some issues if there are conflicts in names Arturo - allow putting an enum inside the declaration of a new enum. Steven - we could probably make that work. - That is an extension of an existing enum. - base class versus derived class concept could be defined which labels can be used with each, needs to be defined. Tom - wants to be able to extend enums Francoise - 2 bullets on "slide 31" extend an existing enum; reuse of an enumerated name Steven - sounds like the AOP version Tom - Intel is mostly interested in the extension capability. Steven - you end up with two types, the base type and the extended types. - doesn't see any obvious problems with just extending. Ray - the number of bits in the base type could affect the ability to extend. Mehdi - if we do AOP would it also cover this? Arturo - in AOP there are type extensions and procedural extensions. - I would keep this separate from this item. Mehdi - 4h (for just the simple version of the extension) AI/Cliff, John H. - more details on this request (4 hours) 31 2928 ambiguous restriction on function calls in constraint expressions Arturo - the language used here was intentional. - We could take time to write down what should be checked. Steven - it could be very quick if we all agree. Arturo - we can tighten the language to make it more explicit Mehdi - 0.5h (1/2 hour) 32 2787 reference via scope operator to parametrized superclass item Steven: you can refer to 'yourself', but super got missed. Francoise - I thought we didn't allow unadorned class references for a parameterized class. Mark - not when referencing a base class. Arturo - yes, that is the only place where we allow the unadorned reference Mark - can't use super. for a type. Francoise - I don't think the LRM says anything about allowing this. Arturo - in this example 'a' is a member of a base class. Steven - super.super is not allowed, need this mantis for the case where need to go up more than one level. - types are similar to statics Arturo - this request seems to be coming in from the C++ direction. - the particular example seems to be straight-forward. Francoise - this would most likely be in conflict with multiple inheritance Mehdi - 4h ( 4 hours) 33 2972 add class constructor/method, task/function overloading High Mark - can we give infinite as a time estimate? Arturo - SystemVerilog has a very loose data type system Steven - overloading, type conversions, etc. in C++ tough to figure out Mark - that is why my estimate is infinite. Steven - constructors could be considered a special case. Mark - it is reasonable to request this if coming from C++ Arturo - even c++ people use factory patterns. Mehdi - 1h (invite Mirek to explain the request) Arturo - we can explain that there are other ways to do something similar (2 hours) 34 2996 Method overloading Mark - this should be combined with 33 (2972) Arturo - this could be a superset of that one. Steven - one small mistake and the rules may end up calling the wrong one. Arturo - languages with a strong type system make it possible. When there is a weak type system, it is not easy. Mehdi - 2h (2 hours) 35 2988 2 48 Defaults Constraints Tom - soft constraints are related. Arturo - we should discuss this one with soft constraints (25. 2987) Tom - soft constraints are preferable. 36 No Mantis 4 AOP when-inheritance (slide 31) Class/AOP Mehdi - specialized AOP. - would fit into the overall presentation of AOP. - it comes from the 'e' users. - we were hoping to get more input from Cliff and Heath. Arturo - once you have parameterized classes, it becomes tricky. - parameterized classes is intended to bring in some generic info - 'e' doesn't have parameterized types. Mehdi - combine this with the AOP discussion. AI/All - find mantis items that can be closed, or easily resolved. - any of the 0.5h estimate items could be considered as well. 4. Next meeting ----------------------------------------------------- Monday June 21 2010 11:00-1:00pm Monday July 19 2010 11:00-1:00pm [note July 5th is holiday] NOTES: f2f for multiple inheritance, xxx. - Mehdi assumes it will be required. The svbc will also be meeting bi-weekly. FOR References: -------------------- ============ 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