SV-EC Committee Meeting Monday May 14 2007 11:00am - 1:00pm PST (12120202010202010131) Day (48159360488250595604) (00001111110000000000) Month (88990011221122334445) (00000000000000000000) Year (66666666667777777777) --------- Attendees ---------- (-AAAAAAAAAAAAAAAAA-A) Arturo Salz (--AAA-AAAAAAA-AAAAAA) Cliff Cummings (AAAAAAA-AAAAAAAAAAAA) Dave Rich (AA-A-AAA-AAAAAAA---A) Francoise Martinolle (-AAAAAAAAAAAAAAAAAAA) Mehdi Mohtashemi (AAAAAAAAAAAAAAAAAAAA) Neil Korpusik (AAAAAAAAAA-AAAAAAAAA) Ray Ryan (AAAAAAAAAAAA-AAA---A) Gordon Vreugdenhil (AAAAAA--AAAAA-A--AAA) Steven Sharp (--AAAA-A------------) Phil Moorby (---AA-AAA-AAAA-AA-A-) Doug Warmke (AAAAAAA---AA-A-AAAAA) Stu Sutherland (-AAAA--AAAA-A-AAAAA-) Heath Chambers (-AAAAAA-A----AAAAAAA) Don Mills (--AA--A---A-AAA--A-A) Jonathan Bromley (--A-----------------) Logi (----AAA-------------) Melvin (-----A-AAAAAA-AAAAAA) Mark Hartoog (-------A------------) Satia (--------AAA---------) Rob Slater (-------------A------) Alex Gran - Mentor (---------------A-AAA) Mike Mintz - Truster.com - East Coast - consulting firm (------------------AA) Geoffrey Coram - analog devices (-------------------A) David Scott - Mentor ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// May 14, 2007 ///////////////////////// 1. IEEE patent policy ------------------ ref: http://standards.ieee.org/board/pat/pat-slideset.ppt Mehdi - read all 5 pages of the new patent policy. 2. Review meeting minutes/Notes: ---------------------------- http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_April_05_2007_Minutes.txt http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_April_16_2007_Minutes.txt http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_April_30_2007_Minutes.txt <4/30 not yet available> Move: Cliff - approve meeting minutes of April 5, April 16 Second: Ray Abstain: Geoffrey Opposed: none Passed unanimously 3. Discussion on merged LRM 1800-2008 Draft3 Arturo - Stu did a good job on the merge Cliff - the svbc kept the same review assignments - now checking cross refs, BNF syntax boxes (cut and paste process) Stu - all the BNF came from the 1800 LRM - there may have been errors in draft 1. Neil - margin notes from the editor also need to be answered Stu - mantis 890 from the svec has some questions. Mehdi - we should also keep the same assignments for the svec review AI/ALL - same assignments. This time around it is a detailed review. AI/Doug - review merged sections on program block, clocking block and scheduling Process for any issues that get surfaced. Stu - pure editorial corrections can be sent directly to Stu. No tracking required. It is actually up to the submitters. Mehdi - the chair should also be copied. Jonathan - how know which were approved by the champions? Dave - check the resolved status - select "docs" from mantis to see the policy on fields Mehdi - has a list of what was approved and not in LRM. AI/Mehdi - send out this list. (those approved since 11/6/06) Ray - Syntax grammar in appendix. Annex A Will it be alphabetized? (Most seem to be) Stu - this would require a mantis item. Dave - will have an update to mantis in about 2 weeks. All proposals should have a description of what version of the LRM they are for. AI/Mehdi - send Stu a list of editorial problems to address in draft 3 4. Review mantis items from email votes and others ----------------------------------------- 1371 Semantic of program block $exit (DaveR) -- Clarification Neil - there is one sentence that was struck out and not added back in. Steven - the change is very different from what it is today. one program versus all program blocks. - The proposed change clearly changes the intent. - Originally there was an action on a per program basis. Should each program keep running until all end? - Some threads are spawned that just do monitoring... Dave - What was the original intent? Gord - if all programs end then the simulation ends. Dave - there should be some consistency with $exit and how programs end. Steven - originally when a program ended it would call $exit. - use wait-fork - stick a disable for at end of initial block Gord - really a use-model issue. Steven - what is most desirable? - we should leave it alone unless there is a good reason to change Dave - was thinking that there was an inconsistency - when reach end of all initial blocks, calls $exit Steven - there are two levels, $exit for last initial in a program last program exits, $finish Dave - one initial block, calls $exit Steven - could use a wait fork at the end of the initial block Jonathan - Could instantiate a covergroup in a thread. - The covergroup keeps "running" - He phrased it as a "trap" for users. - Would like to shut down the covergroup in a reasonable way. - Adding coverage to an existing TB Configure and launch a covergroup. Jonathan - wants a clear description of the following - what happens when don't call $exit - relationship between $exit and $finish Gord - some initial stuff just sets up processes - some stuff runs the testbench - there is no way to distinguish between these today - wants sim to finish when testbench finishes. Jonathon - Most people are headed to a consensus mechanism. - does $exit not get in the way? Cliff - $exit called from a non-program thread? (ie could be in a module) Cliff suggested a parenthetical note about a module. Dave - there could be a common task used in program and module Not easy to detect at compile time. e.g. an error handler - could also have $exit in a package. Steven - The LRM doesn't define the term "originates" - dynamic process origination - a package could fork a thread. Jonathan - we worked though this on where things get scheduled. Steven - this case is a bit more complex - which program becomes a requirement for $exit Arturo - agreed with Steven on this point Jonathan - that would just be implementation complexity Steven - even if a program calls a task in another program. The first program should still be exited, even though in 2nd one. Fm - agrees Arturo - thread origin (originating program) Cliff - maybe a description of thread genealogy Arturo - thinks the proposal is consistent with other changes we have made. Steven - they have implemented to the current text. Cliff - doesn't think the text is clear enough. Arturo - original spec was underspecified. Steven - last initial block of a program - today does an implicit $exit Dave - didn't think the original text made it clear that spawned threads were to be considered. Steven - used to be able to run off the end of some initial blocks and there was no problem until the last initial block ended. Arturo - calling $exit within any thread of a program will cause the whole program to end. Steven - when the last initial block ends. - reinstating that one sentence that was struck out doesn't seem to conflict with the rest of the changes. Steven - there are additional clarifications that could also be done. These apply to both the original text and the proposal. AI/Dave - add that sentence back in. - adapt it for draft 3 of the LRM. AI/Mehdi - send out for an email vote. 1384 bit stream cast and pack/unpack for protected./local members (DaveR,Neil) Neil - why is a class handle not allowed? Dave - A cast is not always on the LHS. - an example situation would be passing an argument to a function. Arturo - what is meant by passing it to a function? Dave - where is the allocation when you do a cast? Arturo - assume on LHS of an assign have a handle. RHS may contain a cast. a = new(); a = cast (a); // cast is redundant here Dave - the RHS has to be a class handle. - the assignment is doing a class handle copy. Ray - superclasses or sub-class. Arturo - you would need to create a temporary handle. From: associative array or class shall be illegal as a destination type. To: If the type of the destination is an associative array or a class, the operation shall be illegal. Jonathan - had some other email feedback. It shall be illegal to stream a class handle with local or protected members except when streaming the current instance this. It shall be illegal to stream a class handle with local or protected members if those members would not otherwise be accessible at the point of use of the streaming operator. What does the following mean? Reconstruction does not modify any internal properties in the target class object. Dave - rand mode, coverage etc. Jonathan - we need a standardized name for all of that. Arturo - refer to it as internal state. - only copies those properties that can be assigned to. Neil - Clause numbers need to be modified. AI/Dave - update it for an email vote. 5. Mantis items with no proposals 6. Next meetings -------------------------------------- May 28 Holiday <--- no meeting June 11 Monday <--- next meeting Move: Cliff - move that we skip May 28 and resume June 11 Second: Neil Abstain: none Opposed: none Passed unanimously