SV-EC Committee Meeting Monday February 13, 2006 11:00am - 1:00pm PST [Minutes distributed for approval at next (sv-ec) committee meeting] (1021 ) Day (9933 ) (1000 ) Month (2112 ) (0000 ) Year (5666 ) --------- Attendees ---------- (AAAA ) Arturo Salz (-AAA ) Cliff Cummings (A-AA ) Dave Rich (AAAA ) Francoise Martinolle (AAAA ) Mehdi Mohtashemi (AAAA ) Neil Korpusik (AAAA ) Ray Ryan (--AA ) Surrendra Dudani (-AAA ) Gordon Vreugdenhil (-A-- ) Phil Moorby (AA-- ) Doug Warmke (Aa-- ) Chris Spear (---A ) Stu Sutherland (---- ) Brad Pierce (---- ) Karen Pieper (---- ) Steven Sharp ^^------------ Considered ONE MEETING. ** Minutes taken by Neil Korpusik and Mehdi Mohtashemi ////////////////// February 13, 2006 ///////////////////////// Agenda: 1. IEEE patent policy ref: http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Assume that the patent policy was read Dave Second: Cliff Abstain: none Opposed: none passed 2) Review Meeting minutes, January 9/23 (combined), 2006 http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_Jan_09_23_2006_Minutes.txt Move: Dave Approve minutes Jan 9th & 23rd (continuation) Second: Cliff Abstain: none Opposed: none approved 3A) Discussion/Recommendation on 1800-1364 LRM Merge Verilog/SystemVerilog feedback on the merging the two LRMs. Karen to send the email. Neil: feedback for p1800. Stu: other committee took full vote., Bc, and AC, CC Gord: it would be useful to merge the two, result more effectively consistency, other aspect how many users actually refer to LRM. There was a discussion of the request that Karen made of all the committees. We need to provide feedback to the P1800 on the topic of merging the two LRMs. Straw poll on when to do the merge: Gordon - now Francoise - now Neil - now Stu - now Cliff - now Dave - now - not an "either or proposition". - Enhancements and clarifications, etc can be done in parallel with the merge. Arturo - now Surrendra - now Ray - now Unanimous straw-poll vote: to merge the two documents now. How much time will it take us to merge the relevant parts of the LRM? Stu - 1st draft 6 man weeks (3 month elapsed if done now by him) - 3 months for committee review and responses The committee was in agreement with this 6 month assessment. Arturo - we don't have a process for this. would be good to have a merged doc for us to make changes to. After we finished giving our input Stu gave us feedback from the svbc and svcc - cc - want a merged doc to begin now - bc - want a merged doc - want 12 months to review it before end of PAR. - we understood this to be due to them having the most work to do. Neil: most of the work is in BC. 3B) P1800 next meeting: February 21st, 2006 updates. at 8:00am. 4) Issue data base, prioritization of mantis items. 714: Incorrect cross select expressions example ------------------------------------------------ Typos in section 18.5.1, cross coverage example, a,b versus v_a, v_b Motion: Neil - approve the new proposal that was posted for Mantis 714. Second: Cliff Oppose: none Abstain: none Passed unanimously AI: Neil close the mantis AI: ATTENTION: needs to be moved to a different state to be added to the new draft of the LRM. WILL have to check with Karen. 1236: Fix covergroup example in 18.4 ------------------------------------- We voted on this in the Jan 09 meeting, however the friendly amendment to change gc to cg (page 310, first paragraph after the example) was not added to the proposal contained in the Mantis item. AI: Ray - add in the text change for gc-->cg for mantis 1236. 1237: Need to clarify the effect of ignore_bins, and illegal_bins on value distribution [1238, ignore/illegal values transition bins closed, Merged with 1237] --------------------------------------------------- Ray: Ignore/illegal removed, done after distribution. Bins with no values are ignored for coverage. If all bins are empty for a covergroup - the coverpoint is ignored for coverage. Arturo: to return -1. Gord: like the -1 in 18.10, indicates not in the normal coverage Francoise: get functions are supposed to return real, is it necessary to say -1.0 Ray: get_instcoverage and get_coverage the numerator should be real and now it is int, you would lose precision if not real. for a covergroup is the sum of coverage . In a separate issue. Arturo: for consistency issue, separate mantis issue. Ray: get_coverage function, returns -1.0 Friendly amendment - Return value consistency for get_coverage and get_inst_coverage. They both return real: -1 vs. -1.0 - Can move the -1.0 to the front of the sentence if it is confusing to have a period right after it in the text. Motion: Ray - approve the proposal for mantis item 1237, with the friendly amendment. Second: Arturo Oppose: none Abstain: none Passed unanimously with a friendly amendment changing to -1.0, move it to the beginning the sentence. AI: Ray to update with friendly amendment 1239: Embedded covergoups in classes - section 18.3 ------------------------------------ An embedded covergroup declaration declares an anonymous covergroup type and an instance of the anonymous type. An embedded coverage group variable may only be assigned in the new method. Ray: syntax, embedded cvrgrp implicit and explicit, no special rule is needed for declaration of covergroup variable Gord: previous one restricted new only in the construction of the class Ray: for embedded group the restriction is retained. Gord: embedded covergroup may only be assigned to in the constructor new method, and it must be explicitly instantiated Move: Ray approve the proposal for mantis item 1239 Second: Arturo Oppose: Abstain: Passed unanimously AI:Ray - make the updates to the proposal. 253: coverpoint in cross -------------------------- This is an old mantis item on coverage. This mantis item is requesting that a tool specific warning be issued when the same variable is used in a coverpoint and also used directly in a cross. - LRM allows creating a cross without first creating an explicit coverpoint - Namespace resolution issue. - Can also cover an expression. - Crosses only cross coverpoints - The example cross refers to variables a,b If leave off A:, 'a' then becomes the name of the coverpoint. Arturo: There is no need for warning, shorthand to create a cross. Gord: LRM rarely requires warning., this is not area we would need specified warning. I would suggest to close this, Ray's example: A1: coverpoint a; A2: coverpoint a; cross a, xx; // variable a will be used here Separate issue: visibility of coverpoints Gord - prefers to require labels on coverpoints - this would do away with implicit coverpoints (Arturo). Art - users don't want to have to explicitly declare coverpoints for everything allowed in a cross. (especially for enums it is clear what to do). Motion: Gordon - close 253 since tool specific warnings are always allowed by LRM (with a bug note) Second: Arturo Oppose: Abstain: Passed unanimously AI: Ray - add a new Mantis item for the visibility issue. 251 multiple user defined bins for cross ------------------------------------------ Cross coverage doesn't allow the [] syntax for specifying bins. 138 behavior of default sequence (assigned) ------------------------------------------------ ENHANCEMENT. keep it until we get a proposal. AI: Mehdi move this into enahancement, to get proposal. 1240, assignment of options after covergroup -------------------------------------------- ADD: The auto_bin_max and detect_overlap options can only be set in the covergroup or coverpoint definition. An example was also enhanced. Motion: Gordon - approve the proposal for Mantis item 1240. Second: Ray Oppose: Abstain: Passed unanimously 1279, Clarify Covergroup, Coverpoint, Cross declarations and visability ----------------------------------------------------------------------- No proposal available yet. NEEDs a proposal Cliff - grab the sampled value of a coverpoint - no not allowed [Arturo] - looking at writing reactive testbenches based on coverage. Dave - One could change distributions on the fly. (hard except for simple examples - Arturo) Users have asked for this. Arturo - use the methods to get access to coverage information. - users typically want to write their own cvg report, but it is best for the tools to do that for them. Ray - access to last sampled value (not possible). Gord - covergroup cg; coverpoint a; coverpoint a; // illegal example endgroup Ray - there is an order of resolution here covergroup cg; a: coverpoint a; // is there some hiding going on here? endgroup Arturo - can only use a coverpoint in a cross or in procedural calls to change a coverpoint option. AI: Ray - create some proposals on these issues. Send out some ideas for discussion. Create a few examples for discussion 1313 No definition for coverpoint and bin expression type rules [created by Gord from Jan 23, meeting] --------------------------------------------------- AI: Gordon put together a proposal for bin expressions. 1178 randomization and constraints -------------------------------------- This functionality is already covered by existing SystemVerilog constructs. Motion: Arturo - to close Mantis 1178. Second: Gordon Oppose: Abstain: Passed unanimously AI: Mehdi to close this. Miscellaneous Mantis items: ---------------------------- 1308 abstract classes clarifications ----------------------------------------- How specify a virtual method with no implementation? A couple of possibilities are being discussed: extern - as in Vera. - Arturo mentioned some problems with this (offline). pure - specifies that this method has no implementation. - this is an existing keyword. If not concrete - (i.e. no methods) an error if instantiated. There was a question as to whether the body could be in a separate compilation unit or not (wasn't resolved in the meeting). Dave: major one, a virtual method, LRM has the example but no text, suggest, to use extern keyword, as mark something not being defined (out of class body). Arturo said that there were problem with that. Latest is to use the keyword pure. Arturo: maybe we should deal with this particular one. The intent was to use extern to show that this is a prototype. the one issue if a class is not concrete, unimplemented methods, compiler needs to know there is no implementation. Gord: if provide a body it must be in the same scope. Neil: prefers to use pure here. Improves readability and allows an error to be easily produced. Arturo: pure is used in the DPI today (means "has no side-effects"). Gord: a virtual class with no pure methods is an error? Arturo: no - any class can be made abstract (virtual) pure virtual // no body pure virtual extern // not allowed extern method in an abstract class with no body - is an error. pure - means there is no implementation extern - means there is an implementation, outside of the class. Straw poll: Using pure versus extern - agreed that 'pure' is a good way to go. Once a method is declared virtual, is it always virtual? - In C++ it always is. If you omit virtual keyword - is it an error or allowed? Don't want to hide the definition in a subclass. Gord: prefer to go with C++ route. - prefer not to make it an error to leave it out. - legal to make a non-virtual virtual for derived classes. Arturo: if we do go with pure virtual, what should the extern method in abstract class be an error. Dave: this would be an error. Gord: if this was not an error, we should review the pure item. AI: Dave to update the 1308 proposal. 5) Next meeting: Proposal to make it March 6th, to align with BC meeting. Monday March 6th, 2006 11:00am-1:00pm. [NOTE: we may need to make the meeting after next March 27 since March 20th is start of SNUG 06 San Jose]. ========================================================================= ================== Action Items ============================ Action items: February 13, 2006 AI: 714 Neil to close, Mehdi to find out about which state it needs to have 714 to be added into the LRM. AI: 1236 Ray - add in the text change for gc-->cg for this mantis AI: 1237 Ray to update with friendly amendment AI: 1239 Ray to make the updates to the proposal. AI: 253 Gord to close the mantis AI: 138 Mehdi move this into enahancement AI: 1279 create some proposals on these issues. Send out some ideas for discussion. Create a few examples for discussion AI: 1313 Gord to put the proposal for bin expression AI: 1178 Mehdi to close this mantis AI: 1308 Dave to update the proposal AI: Ray - add a new Mantis item for the visibility issue. Action items: January 9, 2006, January 23, 2006 AI: 683 Gord to close AI: 712 Gord to close AI: 725 Gord to close AI: 1236 Ray to update the proposal with friendly amendment AI: 1237 Ray to create the proposal, to be discussed later on and voted on in the next meetings AI: Gord to create mantis item for type expressions, comparisons in covergroup AI: 1238 Ray to close (and merge) with 1237 once the proposal is there AI: 1239 Ray & Gord to place a new proposal based on 1/23/06 discussions AI: 1240 Ray; update with clarifications for what has affects. AI: 714 Neil, re-open, make the corrections in the proposal ----------------------------------------------------------------------- Date: February 15th, 2006 to: P1800 committee re: Merge of IEEE 1800-1364 LRMs; recommendation from: SV-EC committee During regular meeting of SV-EC on 2/13/2006, a straw poll was conducted on the subject of merging the two IEEE 1800 and 1364 LRMs. The unanimous recommendation is that we should do the merge now. The members voting on this were: Arturo, Cliff, Dave, Francoise, Gordon, Neil, Ray, Stu, Surrendra The minutes of February 13th, 2006 meeting will be placed on sv-ec site for review. Sincerely, Mehdi Mohtashemi chair, sv-ec committee ------------------------------------------------------------------------