SV-EC committee meeting. Monday August 16 2010 11:00am - 1:00pm PDT [ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_August_16_2010_Minutes.txt ] Meeting number: ------------------------------------------------------------------------- 000 000 321 Meeting Days: ------------------------------------------------------------------------ (101) Day (629) (000) Month (887) (111) Year (000) ------ Attendees -------------------------------------------------------- 1. (AAAAA-AAA) Arturo Salz 3 - y 2. (-AAAAAAAA) Dave Rich 2 - y 3. (AAAAAAAAA) Francoise Martinolle 3 - y 4. (AAAAAAAAA) Mehdi Mohtashemi 3 - y 5. (AAAAAAAAA) Neil Korpusik 3 - y 6. (AAAAAAAAA) Ray Ryan 3 - y 7. (AAA--AAAA) Gordon Vreugdenhil 3 - y 8. (AAAAAAAAA) Steven Sharp 3 - y 9. (-AA--AAAA) Heath Chambers 2 - y 10. (AAA----AA) Don Mills 3 - y 11. (AAAAAAAAA) Mark Hartoog 3 - y 12. (A-AAAAAAA) Tom Alsop 2 - y 13. (AAAA--AAA) Jonathan Bromley 3 - y 14. (--AA--AAA) Neil S 1 15. (AAA--AA--) Cliff Cummings 3 - y 16. (--------A) JL Gray 0 17. (--AAAAAAA) Alex Gran 1 18. (AAAAAA--A) Daniel Schostak 3 - y 19. (--------A) Kevin Johnston 0 20. (------A--) John Halvicek 0 21. (------A--) Scott Little 0 22. (----A--AA) Tracy McDermott 0 23. (AAA------) Swapnajit Chakraborti 3 - y 16 people will have voting rights in the next meeting ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// August 16 2010 ///////////////////////// Agenda: 1. Review IEEE patent policy ------------------------------------------------------ http://standards.ieee.org/board/pat/pat-slideset.ppt The chair directed everyone's attention to the patent policy. Mark, Tom - move to assume that the patent policy was read. Agreed unanimously 2. Approval of previous meeting minutes: ------------------------------------------------------ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_August_2_2010_Minutes.txt Move: Jonathan to approve Second: Neil Abstain: Tom (was not present at the meeting) Opposed: Passed/approved unanimously 3. Updates from P1800 meeting on 8/12/2010 ----------------------- Participation and voting guidelines, other updates. [if any available] Next meeting for p1800WG: August 12 2010. Neil: short meeting, no major item, champions will start meeting. next meeting is in October 14 2010. existing policy and guidelines until. 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 meeting minutes] 16 3028 - constraints for unique array elements. Arturo, Ray, Neil S., Mehdi, Arturo - hasn't had time to look into it Jonathan - looks like just new syntax is required. Arturo - agreed Jonathan - was wondering if the vendors would have an issue. - had a proposed change in mind. - he is willing to write it up. Ray - what about an inside expression with a list of variables? Steven - An assignment pattern expression could be used to put into an array Jonathan - A pseudo method could be introduced Ray - If adding it, why not allow for other constructs besides arrays? Arturo - That would be a lot more complex There would be issues of compatibility. Mehdi - Allowing it for an array takes care of most cases. Gord - Could add semantic constraints about all elements needing to be of equivalent types Mehdi - is_unique() Gord - now introducing two ways of doing it Jonathan - willing to write two parrallel proposals and see which flies Steven - unique is already a keyword - a new unary operator could be added, applied to a range list - a method version could use a with-clause - an array of structs, but want a check for just the key fields. That would be a situation where a with-clause could be used. - There would be fewer issues with the method approach. A new operator would require changes in a lot more places in the LRM Mehdi - Would prefer to see Ray's more general approach, but would like to see the array proposal and see if the general case falls out from it. AI/Jonathan - write up the parallel proposals. 17 2950 -- virtual method prototype matching Francoise Francoise - has not had time to work on it yet. - plans to have something for next time. 18 2794 -- Clarify queue methods return status Jonathan, Steven Jonathan - there is a short proposal for it already. Gord - prefers to make the warning messages optional. Jonathan - wants the tool to provide the possibility of a warning, but the user can shut it off. Gord - would like to have that clarified before we proceed with this one. Steven - an implementation would be compliant. Gord - the requirement of warnings turns into a big issue with various customers. - If the LRM mandates it, you need to make that your default. Would like to have the LRM interpretation of "shall issue a warning" to mean --- the implementation to have to provide a way to cause that warning to be issued. - He would like to have this in the LRM somewhere. Steven - tools today already require a switch to turn on SystemVerilog The question is about the required defaults. Cliff - it sounds like we might be able to add "the weasal words" that Gord described. Jonathan - "shall" it must be issued. Arturo - shall provide a mechanism to issue a warning. Steven - Gord doesn't want to be forced to issue a warning by default. - the switch itself doesn't need to be specified in the LRM. Jonathan - where they are optional today, change to say the implementations will have a facility to issue a warning? Neil - this sounds like the topic for a separate mantis item. It would need to then be approved by the WG, for it to be addressed. Arturo - indices that are x, z should be mentioned. Steven - the text of the issue mentions it, but the proposal doesn't Tom - Warnings vs errors - turning off, on and upgrading and downgrading This seems to be out of scope for this committee. UVM - message catcher mechanism is in place. Mehdi - what you are descibing is more towards a user methodology. Arturo - routing all messages through the uvm.log Tom - at what layer would we provide this feature? Steven - that would be up to the vendors to decide. Arturo - the bottom layer needs to have it. Tom - wants everyone to think about what layer makes sense. Jonathan - the above layer (uvm) is not known to the LRM. Arturo - the way that Gord was requesting a change might be the easiest way to get approval for it. Steven - all warnings should be changed to 'may', if leave out weasal words or add weasal words and change all to shall Jonathan - do people agree to changing the prototype so that x and z can be checked? AI/Jonathan - add text for the case where indices are x, z 20 1442 -- Clocking blocks legal in modports, missing from text description in 20.9 Steven Jonathan - Shalom's comments might make this moot. "The entire paragraph in question was replaced in 1580". Steven - he will look into it. Francoise - it looks like this issue is very old. AI/Steven - check if Shalom's comments make this issue moot. 22 1349 fork/join_none: what if parent thread terminates without blocking? Steven Arturo - we already discussed this. There isn't much to do is there? Steven - children can't execute until the parent blocks. What if the parent ends? The text should allow the children to execute when the pareent thread blocks or ends. - It should be easy. AI/Steven: create the proposal for 1349 23 2949 LRM is silent about the semantics of referencing a clocking block output Jonathan, Steven Jonathan - there is a proposal. Arturo - ok with the proposal as written Ray - does the proposal require two clockvars? Neil - from "shall behave as two clockvars" to "shall behave as though it were two clockvars" friendly amendment: as if it were Motion: Arturo, 2949 proposal with Neil's friendly amendment. Second: Steven Abstain: Opposed 24 2451 -- Omitting body defaults Steven Steven - will try to have a proposal for next time. AI/Steven put a proposal together. 25 2987 -- Soft Constraints Jonathan (combining 2987, 2988, see 3003) Jonathan - didn't get to this one yet. 4 1356 Multiple Inheritance Tom - he sent out an email on multiple inheritance. Introduces a new keyword (implements). pure virtual methods Arturo - thinks this is consistent with Dave Rich's DVCon paper Tom - it is the same group of users that was also asking for AOP - AOP implemented well in other languages. Seeing a bit of a religious battle in the language area. Leaning away from AOP at this time. Cliff - people in training classes were asking for AOP Arturo - would be more interested in hearing how they decided to go with multiple inheritance instead of AOP. Tom - UVM enhancements will allow multiple language support. DPI related feature support will be utilized. A co-simulation approach. Mehdi - we would like to hear about what types of examples require AOP. back to 19 2993 Cross cover points across different cover groups Swapnajit - sent email with the following suggested solution: covergroup cg; A: coverpoint a; B: coverpoint b; endgroup covergroup cg1; cross cg::A, cg::B; endgroup Arturo - This syntax is using the type from within a covergroup. Shouldn't it use a hierarchical reference to an individual instance? Swapnajit - won't it be ok when cg1 is instantiated? Arturo - scope resolution is usually resevered for types. - Synopsys has an implementation already, he can donate it. Mehdi - there was a lot of discussion on this in the past. Tom - would an instance need to be created before defining a cross? Francoise - cg.A, cg.B -- these could be used Ray - what does cg::A mean? Swapnajit - it is used to mean this coverpoint is used in a cross. - when 'new' cg1, it will reference outside the scope of cg1. Steven - it is like importing the definition of cg into cg1 Arturo - could possibly pass a reference to an instance of cg to cg1. Jonathan - there could be a ref argument Steven - it seems weird to pull it in and then resolve it. Arturo - the biggest issue is with sampling when there are two distinct cgs Steven - if use the import approach, assume the sampling of cg1 is used. - would expect a proposal from an actual implementation would be more well thought out. AI/Tom - will check internally to see if these meet their needs AI/Mehdi - upload the email as a note to the mantis item AI/Arturo - will donate their implementation. 5. Other 'trivial' sv-ec mantis items [close/duplicate] ------------------------------------------------------ Neil - isn't there a set of mantis items that can go up for an email vote Francoise - The one that Steven was suppose to do is a good candidate for it. Neil - Dave Rich had a list to be considered for an email vote Mehdi - will sent out an email vote by the end of the week. 7-day vote 6. Next meetings August and September 2010 ----------------------------------------------------- Monday August 30 2010 Monday September 13 2010 Monday September 27 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 Aguust 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