//////////////////////////////////////////////////////////////////////////////// // NOTE: // This text contains minutes of Jan-09-2006 meeting (which was suspended // because of Sprint blackout) and Jan-23-2006 meeting which was // resumption of the Jan-09-2006 meeting. Hence this is considered // one meeting for attendance and voting purposes. //////////////////////////////////////////////////////////////////////////////// SV-EC Committee Meeting Monday January 9, 2006, 11:00am - 1:00pm PST and its continuation Monday January 23, 2006 11:00am - 1:00pm PST [Minutes distributed for approval at next (sv-ec) committee meeting] (102 ) Day (993 ) (100 ) Month (211 ) (000 ) Year (566 ) --------- Attendees ---------- (AAA ) Arturo Salz (--- ) Brad Pierce (-AA ) Cliff Cummings (A-A ) Dave Rich (AAA ) Francoise Martinolle (--- ) Karen Pieper (AAA ) Mehdi Mohtashemi (AAA ) Neil Korpusik (AAA ) Ray Ryan (--- ) Steven Sharp (--A ) Surrendra Dudani (-AA ) Gordon Vreugdenhil (-A- ) Phil Moorby (AA- ) Doug Warmke (Aa- ) Chris Spear ^^------------ Considered ONE MEETING. ** Minutes taken by Mehdi Mohtashemi ///////////////////// January 09 2006 ///////////////////////////////// Agenda: 1. IEEE patent policy ref: http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Neil Second: Ray Abstain: Opposed: 2). Review Meeting minutes, December 9, 2005 http://www.eda.org/sv-ec/Minutes.html http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_Dec_19_2005_Minutes.txt Move: Ray Second: Arturo Abstain: Opposed: approved 3). SV-EC charter per Karen's email after p1800 meeting: Discussed Karen Pieper's guidance to errata committees (p1800). Plan: Discuss errata, avoid enhancements, align with p1800 guidance. Neil: next p1800 meeting is scheduled for Jan 19th. 4) Old mantis items which were closed but not voted on: 734 cc issue, it was acknolwledge close. 344 is now closed. 644 is now closed 683 Move: to close 683 Arturo Second: Gord Abstain: none Opposed: none approved. AI: Gord to close 683 712 was this rolled into 734, This is now in section 9. page 123. This has Move: to close mantis 712 Arturo Second: Neil abstain: opposed: Approved AI: Gord to clse 712. 722: Move: Arturo close Second: Gord second abstain oppose AI: Gord to clse 712. 725 under section 7, 7-23 page Note about syntax 9-5 page 340. it is properly updated and bnf both consistent. Move: Arturo Second: Gord Abstain: Opposed: approved AI: Gord to clse 725. 5) Issue database, scope of work, and resolution process proposal Gord: is this interpretation for errata, PAR. Neil: PAR will not be done for a while, one of actions is to form one from P1800 to do the pAR Gord: sv-bc for 1364, 1800 merging bigger issues may or may not overlap to impact issues on language 1800 some issues cross bc/ec for example name-resolution, Neil: plan to come up with 2-yr plan subcommittee and re-structuring. may go out. 2-yr plan and put in official PAR. Cliff: description is accurate. Ray: coverage issues important 1236: Fix covergroup example in 18.4 ------------------------------------- int is required for high, directions keep going, but type is not. fix the example. Move: accept 1236 proposal Ray second: Arturo abstain opposed approved with the friendly amendment of the paragraph. AI: Ray to update 1236 the proposal with friendly amendment 1237: Need to clarify the effect of ignore_bins, and illegal_bins on value distribution --------------------------------------------------- Ray: specify fixed number of bins, values spread evenly across bins, ignore/illegal values that are excluded. Distribute them, then ignore, suggestion: first distribute the values, Arturo: it would be easier to make this as well. Ray: empty would be ignored. with autobin-max. happens when you do distribution. Gord: is the text clear that if a bin ends of having no value, the bin is non-existent. Ray: does that happen for other empty bins, Gord: coverpoint, 4bit, bin value, outside, value ignored, may be coerced to the range of outside of range: not covered, expression in bin min-max get coerence to the type before the bins covered. Arturo: how does it compute the state-space. Gord: what are the types that are involved in covergroup, self-determined? cover an expression, not specified at all in the semantics for covergroup, typing needs to be defined. coverpoint expression with bin expression: effective relational operation does this apply to covergroup bin expressions and if statement, Ray: sample value is equal to bin value then increment counter, value comparison, Gord: verilog semantics for comparison should be used, it is not specified. it does directly relate to empty bins Arturo: empty bins issues exist, it is not co Ray: empty bins do not contribute ****************************************************************************** ****** ****** meeting ended abruptly because of what turned out to be ****** a Sprint black-out in the west coast. [at 11:50pm] ****** an email was sent out for the resumption of Jan 09 2006 meeting ****** on Jan 23, 2006. ****** ****************************************************************************** 6). Upcoming P1800 meeting, updates. Proposal made for p1800 face-to-face meeting in January. set for January 19th. 7) Next meetings schedule: ///////////////////////////////////////////////////////////////////////// ///////////////////// January 23 2006 ///////////////////////////////// ///////////////////////////////////////////////////////////////////////// ** Minutes taken by Mehdi Mohtashemi Agenda 1. Review IEEE patent policy http://standards.ieee.org/board/pat/pat-slideset.ppt This is continuation, no need to review. 2. Update of P1800 meeting of Jan 19, 2006 Neil: Johnny is forming a new working group for PAR. need PAR for the 2 year period for enhancment, clarification, errata, (sva), vhdl and systemC interoperability, AMS additional task force teams maybe created for AMS, systemC/vhdl Karen will be policing the enhancements, combining/merging the two LRMs, Stu has some inputs on Stu for 6man-week efforts, 2 month review period, and then one month back in the committee. VPI/API in a separate document, provide feedback - how important, - how much work estimate - when early in the 2yr period, or after Mantis items for sv-ec 73 open, sv-BC has 371 open items. Changes: operating guidelines, p1800 will review the guidelines, for now continue with what we have, New IEEE rule, no company can not represent more than 50% of vote, 50% majority then this applies, if it is 75% more complex item If item has no proposal, the comittee can close it IEEE process to request clarification, if it is then we need to do something different next meeting for P1800 is feb 23rd. feedback on the merging the two LRMs. Karen to send the email. 2A. next meetings. By the end of today's meeting it was decided to hold the next meeting on February 13th 2006. (Monday, Feb 13, 2006, 11:00am-1:00pm) 3. Issue data base, prioritization of mantis items. We started on the coverage category items in Mantis, we will continue on that. Here is a complete list of sv-ec items in Mantis, in priority order we had discussed. Coverage related ---------------------- 1279, clarify covergroup/point/cross 1240, assignment of options after covergroup 1239, embedded covergroup in classes 1238, ignore/illegal values transition bins 1237, effect of ignore bins 253 coverpoint in cross 251 multiple user defined bins for cross 138 behavior of default sequence (assigned) Randomization/Constraint related --------------------------------- 1178 randomization and constraints 884 incorrect interpretation of expression in constraint example 270 need more information when randomize method fails 262 randcase unclear (assigned) 261 randcase width rules (assigned) 247 property qualifier and random stability 211 built-in scope randomize (assigned) 134 4 state values as constraint (enhancement) Miscellaneous: -------------- 1308 abstract classes clarifications 1306 foreach in unpacked arrays 1270 xor, maybe covered by 978 1263 string methods (assigned) 1256 description of linked list (annex D) 1244 semaphore prototype, function (assigned) 1243 events after final block (assigned) 1242 nested class access rights (assigned) 1168 missing colors in A.2.10, A.6.11, A.6.12 1038 array ordering methods 978 5.15 array methods, 976 5.9-5.10 clarifications 975 related to 5.9, illegal for index_type 974 dynamic arrays/queues comparison 968 list package 960 one dimension (assigned) 958 dynamic array size method 889 clarifications for dynamic arrays 885 syntax typo in description (queue) 802 assigning too many elements in the queue 522 use of concatenation in 5.14.2 521 pattern assignment for queues 520 example of queues assignment 519 section 5.14, 518 queues and arrays 517 concatenation syntax usage section 5.14 511 related to section 12.25 (assigned) 412 5.14.1 queue operators 346 usage of word string (from 275) 339 typos in queue methods 4.14.2 245 array of queues 244 class method overwrite 242 aspect-oriented programming (enhancement) 241 regular expression semantics (enhancement) scheduling/clocking/program block ---------------------------- 1295 scheduling algorithm question 892 BNF for virtual interface does not include a modport (assigned) 890 clarifications in program and clocking blocks 564, 553, 551, 549 255 sequence_expr in primary (svbc --to svec) 240 expression evaluation in cycle_delay (enhancement) 239 specific clocking event (enhancement) 238 pipelined values access in clocking bl (enhancement 237 clarification of wait fork (assigned) 236 behavior of cycle delay (assigned) 219 disable/return fork/join (assigned) 204 unit and program identifier (assigned) 1237: Need to clarify the effect of ignore_bins, and illegal_bins on value distribution ------------------------------------ Gordon: coverpoint, no nonempty bins, the 4th option looks ok Arturo: corner case for empty coverpoint, Ray: the effect of ignored/illegal bins, values would take it out of the coverage calculation, it will be removed from the bins after the distribution. Ray: if value occurs in illegal bins, it does not affect any tranisiont on that value. AI: Ray to create the proposal, to be discussed later on and voted on in the next meetings Gord: how to relate the type expressions, with coverpoints, how the comparison works and how the determination of actual final bins value interact with that, AI: Gord, create a separate mantis item. 1238: Clarify whether ignore/illegal values have an effect on transition bin coverage ------------------------------------- will merge with 1237 once the proposal is there. 1239: Embedded covergoups in classes ------------------------------------- Ray: embedded covergroup, tight binding with covergroup and the class itself each class has one. Can you use embedded covergroup to instantiate outside of the class. Can it be assigned and re-assigned, the answer to those will be NO? Arturo: you should be able to assign Null to it. more like a struct inside a class, Ray: if it is struct then you can destroy it. Arturo: null would mean it should not be covered. Francoise: it would be hard for implementation to do this. Arturo: inside the new method, new/destory/new it is a corner case. Francoise: static class, new, calls new on covergroup, Arturo: you are destroying the old covergroup object, Arturo: There is a method to coverage collection off. Ray: for embedded coverage, you can only do a new on it. Gord: why is there restriction on the covergroup, new only in the constructor, this seems to be special Arturo: you can not create an array of cvrgrp in a class. Tight coupling between class and cvrgrp, acts like a struct. declaring something a class, int for example, it is in the class when you construct it. Gord: embedded cvrgrp, it is an implicit initialization. Arturo: committee voted to make it explicit. Ray: cvrgrp inside the class is different than outside, for example typedef in a class you can use it outside. That was part of the discussion last time, type declaration an instant one. Arturo: cvrgrp in a program or module, storage associated with it. inside a class, there is association with the object. Ray: the idea of wanting new inside the constructor, was to allow this to happen. Gord: I prefer to have a way of describing, cvrgrp cov1, and additional identifer (property name) when that is allowed to be instantiated. would be slightly different inside the class. cvrgrp as type has static property, instances have non-static property as well. Embedded cvrgrp as property, as opposed to non-static variable of cvrgrp. Arturo: you may have multiple cvrgrp within a class, Gord: when it is embedded in class, it is not the name, Ray: if you implicitly create it you still needed to explicitly create it Arturo: the name of cvrgrp property, you can pass parameter to it. Gord: what is cov1 in example 18.3, what kind of things is cov1. if it is the name of cvrgrp property, explicitly the name of cvrgrp is not the name of the type, you can not use it with :: Arturo: cvrgrp embedded in class, properties resembling types, and resembling properties. do not have any problems with cov1 more static, Gord: I was saying the reverse of it., cov1=new, as long as we would not have cov1:: is not allowed, either type or property, Arturo: the type of semantics. embedded, it is part of the class. cvrgrp acts as a type. in class it is both a type and instantiation. Ray: so both a type and property. with :: then it resolves to the type, with a. you refer to the property. Gord: these are not for a class. we can not write, a method inside xyz, takes a type cov1 as an argument. Ray: as long as you modify it can you reference it? Gord: the name cov1 in the example it is not really the name of the type, other than with :: Ray: it would make it simple if this was not only with the embedded cvrgrps. Gord: define cov1 to be static member of xyz, or have a user write separate function to do this. cov1 is the property, and type name cov1 does not exist at all. Arturo: the static options, strobe would be the only one that I would want to change. I do not see where the problem exist Gord: the problem would be writing the language, if we say covergroup in this class is not a type, can not be used as a type. Arturo: the only semantics difference, you only disallow setting them from outside of the class. Gord: if there were some instance: myx.cov1. the syntax for setting strobe, has to be cov1.strobe Arturo: strobe can only be set inside the cvrgrp definition Mehdi: both for embedded as well as other cvrgrp. Gord: in all other areas the cvrgrp declaration is declaring the type. Arturo: if you declare the cvrgrp outside of the class and new/destroy change it inside of the class. Gord: in 1239 it states: can it be assigned null. it can not be re-assigned. Ray: do we need to say that you can only construct it once, can i new the cvrgrp, then null, then new. Arturo: if it is called more than once the result is not clear. Gord: there can be only one assignment to the cvrgrp, Arturo: if you do not call it at all, is it implicit initialization, Gord: you have to call it Ray: if you do not new it, then it does not start the you need a construct a new to turn Gord: it does not matter then if you assign null Arturo: assinging null to cvrgrp inside a class then stops the coverage then you would not be able to do anything to it. GOrd: inside class constructor, but no restriction of assining it null inside other methods. Arturo: current model is additive, no method for overwriting them, while we are here we should talk about it. Gord: we should be taking this in a different area, Ray: we should be talking about extension of cvrgrp, Gord: it has to be explicitly cvrgrp, not one of these. Ray: you can not extend the covergroup, Arturo: not extension, overwrite, we already do this for constraint, by default if you use the same name. AI: Ray, Gordon to place a new proposal 1239 based on today's discussion. 1240: Assigning of options after covergroup construction ---------------------------------------------- Ray: you should not be able to procedurally change these. Gord: but it does make sense, you are changing the behaviour of construction parameters. Ray: by covergroup bin construction -- option.per_instance, option.auto_bin_max, option.cvpname.auto_bin_max, and option.detect_overlap unless you do it the same as it becomes very apparent that you can not call these procedurally, it will have no effect, without passing as a argument, how do you create two instances and covergroup. must have been constructed, how do you change it. parameters after construction would not have affect afterwards. AI: Ray, place clarifications for what has affect, 714: Incorrect cross select expressions example ----------------------------------------------- Neil: two things that need to be fixed, there is a wrong sentence. Neil will re-open AI: Neil to make the correction as proposal and will vote on next time. 4) Next meeting is on the Monday February 13th, 2006 Following meeting is proposed for Monday February 27th 2006 ========================================================================= 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