SV-EC committee meeting. Monday March 28 11:00am - 1:00pm PDT [ http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_March_28_2011_Minutes.txt ] Meeting number: 75% = 11 out of 15 meetings attended ------------------------------------------------------------------------- 111111000000000 543210987654321 Meeting Days: ------------------------------------------------------------------------ (211102021213101) Day (844762851730629) (000011111000000) Month (332121100998887) (111111111111111) Year (111100000000000) ------ Attendees -------------------------------------------------------- 1. (AAAAAAAAAAAAAAA) Arturo Salz 15 - y Synopsys 2. (AAAAAAAAAAAA-AA) Dave Rich 14 - y Mentor 3. (AAAAAAAA--AAAAA) Francoise Martinolle 13 - y Cadence 4. (AAAAAAAAAAAAAAA) Mehdi Mohtashemi 15 - y Synopsys 5. (-AAAAAAAAAAAAAA) Neil Korpusik 14 - y Oracle 6. (AAA-AAAAAAAAAAA) Ray Ryan 14 - y Mentor 7. (AAAAAAAA-AAAAAA) Gordon Vreugdenhil 14 - y Mentor 8. (AAAAA-AAAAAAAAA) Steven Sharp 14 - y Cadence 9. (AAAAAAAAAAAAAAA) Mark Hartoog 15 - y Synopsys 10. (AAAAAAAAAAAAA-A) Tom Alsop 14 - y Intel 11. (AAA-AA--AAAA--A) Neil S 10 - y Marvel (2 of last 3) 12. (A-A-AAAAAA-A--A) Alex Gran 10 - y Mentor (2 of last 3) 13. (--AAAA-A-------) Brandon Tipp 6 - Intel 14. (AAAAAA---------) Scott Little 6 - y Freescale (2 of last 3) 15. (----------AAAAA) Swapnajit Chakraborti 5 - Cadence 16. (A--------------) Dennis Brophy 1 - Mentor 17. (AAAA---A-AAAAAA) Daniel Schostak 11 - y ARM (2 of last 3) 18. (A-A-AAAA-------) Tony Tsai 6 - Cisco 19. (A-A-A----------) Mark Strickland 3 - Cisco 20. (-AAA-AAAAAAAAAA) Jonathan Bromley 12 - Verilab 21. (--A-AAA---A--AA) Heath Chambers 7 - 22. (--AA--AA----AAA) Don Mills 7 - 23. (--A-----A-AAAAA) Cliff Cummings 7 24. (--AA-AA-AAAA---) Linc Jepson 8 - 25. (-----A---------) John Halvicek 1 26. (----A----------) Dave Gates 1 AMD 14 people will have voting rights in the next meeting (The new IEEE and WG rules now apply - company names in addition to the record of participation are checked) ** Minutes taken by Dennis Brophy and Mehdi Mohtashemi ////////////////// March 28 2011 ///////////////////////// Agenda: 0. Call to order -------------------------------------------------------- Mehdi: We are now operating under IEEE SA procedures recently shared with by the DASC. Some SV-EC participants plan to become active members of 1800. 1. Review IEEE patent policy ------------------------------------------------------ http://standards.ieee.org/board/pat/pat-slideset.ppt Move: Steven Second: Artruo Abstain: Opposed: Passed/approved unanimously 2. Approval of previous meetings minutes: ------------------------------------------------------ March 14 2011 meetings http://www.eda.org/sv-ec/Minutes/SV-EC_Meeting_March_14_2011_Minutes.txt Move: Dave Second: Scott Abstain: Alex G. (he was not here) Opposed: Passed/approved unanimously 3. Updates from P1800 WG [March meetings] --------------------------------------------------------- Participation and voting guidelines, other updates. Dennis: March 18th, group approved funding contract with p1800, technical editor, entities will be billed this year and next year. Some work has been done by Joe. We can still keep April 15th for the draft. Sign the document, POs coming out quickly. SA board meeting, in Pescatoway, Mehdi: April 14th is the next p1800WG meeting, it is face-to-face meeting. 4. Continue Review and discussion of top 25 issues and categories: ------------------------------------------------------ Review of the top 25 [+10+3]; 9 have been approved. 2506 [2953] Coverage [Scott] Scott: email covered 2 topics, first was ordering applying of with expression, with should be applied before or after binning: Binning should be done after the application of with expression. Ray: how much control that gives the user, with expression shifts value that goes into. It should be close to ignore bins. I don't have a specific example for it. Scott: I understand the rational. Are there other opinions? Aturo: I can recall the discussion and disagree with Ray on this. Gord: Basic intuition, doing the binning first would be more predictable. Function evaluation would strip out all members of bin because of the way values are distributed. Not sure the functional relationship between the bin distribution and the predicate values. If there are 3 bins with a mod 3, you could end up with some nasty results. We need to consider the end results a bit. Scott: If bins are emptied out, they are not counted. Size vector bins are not used much at Freescale. If you cover a large space, you won't want to rely on binning said Arturo. Scott said they just does not use a lot of fixed bins. Ray: Is the usage model, with clause would be same everytime. Would you be in a mode that would change from run to run, or would you not do it? The concern is if the set of values changes and therefore the number of bins or if the values in the first bin changes then combining results from separate runs becomes an issue. Gord: Does it compute the same set of predicate values, could be parametric dependencies. Unless it is absolutely fixed, for any generalized model is somewhat unusual. Arturo: This already exist, that is already a problem today and outside the scope of the LRM today.it could be parametric and or other testbench run to run. Scott: If we apply with expression first are we exacerbating the problem. Arturo: I think we should address this by intent. What does a user expect? We should implement what users would expect. Gord: Agree for particular run, but long term impact on multiple runs and empty bins, making sure total coverage counts are still sensible. Ray: Is there a usage model where you are using the with to steer the coverage in a directed area. You want to combine the coverage. Scott: Right now, it is an advanced form of ignore bin, this with expression allows us to cut down the ignore space. Gord: If we focus on Freescale's use of this we might constrain the problem. After all users will compose and use the features in wild and different ways. We want to make sure things like coverage and other items have known impact. Scott: For the empty bins, if you apply the with expression you do not have empty bins. Gord: YOu would have distribution inconsistencies from run to run. The accumulative coverage model. Mark S.: Agrees with Freescale usage that it is a replacement for ignore to cut down on the number of bins.Static usage, more intuitively, to apply the with first. Gord: Should we restructure it as do a re-computed ignore bins. Scott: Question from Arturo, why this was not done to ignore bins. Arturo: Do not remember it, do not know why we did not apply it to ignore bins. Scott: This is still filling the work of ignore bins just advanced version. Ignore bins you distribute first and then remove. It maybe to do it, could cause backward compatibilty. Gord: One direction is to have two modes of use. But I don't know if I want that in the end model. I would like to rethink if this just goes into ignores. Francoise: Other than width, is there another way to create the bins? Can we do something with an expression? If we could,what do we do in that case, we would have the same kind of problem, we need to look at what users are doing and what tools are doing. Mehdi: Scott, is this the only thing, the width expression, before we can move this for a vote? Scott: There are a few small things to do. Gord: Larger question on this: do we want to have this attach to ignore bins. Going that direction would require more work. Scott: That would be a major re-write. Ray: Relative to the with clause, system call or pli routine? Arturo: Sure you can use that, but it has to be pure function, Ray: Timing of when it is called, it maybe just function to function call. Arturo: Maybe we should add to the restriction that it should be pure DPI. Scott: the with expression can be applide pre / or post simulation. Arturo: They need to be called at run time, once the covergroups are created. Gord: In other languages, external languages, simulator would no longer have information about those tools, the expection maybe: is the expected use model by the proposal lead us to believe that this could be applied to other tools? Scott: intented to be optimized if and when it is required and neede. Evaluated with the values that covergroup would have. Arturo: That is more of optimization, if you know what values you can schedule at any time. Gord: It is relatively pure and after construction behaves as a pure function after the covergroup is constructed. Ray: Even for SV code, function that modifies code is not allowed. If a function that just reads an array than can be changed. Scott: The list of limitations - pure DPI is allowed; other user functions are not allowed. Arturo: Yes that could affect, it is not 'pure'. It is hard for simulator to detect nuicances. Was that intended to be pure function? Gord: Relatively pure, capture values at construction time, then it operates in pure manner, once it is constructed it behaves in pure manner. Arturo: but if the covergroup needs to call the function multiple times this opens the door to those issues. If the function is pure, the only downsize is that you would not be able to optimize some of these. Gord: I am not sure if systf is called, I am not sure if this is truly pure. Arturo: allowing pure DPI functions, but not other types of user defined function are not allowed. Francoise: If we do not allow DPI context functions, also forbid user defined system tasks and functions (PLI based). They are like context DPI and under the same argument should not be allowed. Gord: those are implicitly DPI context. Mehdi: Scott needs to modify the proposal (add a line). Scott would go back to other Freescale users and brainstorm some more. Also, other users, there needs to be internal discussion on coverage developers to know what their use model is and should be. Gord: The broader question on the use model, specifically, if folks want to stay with what the current proposal talks about. Predicate applies before /or after binning what the acculumative coverage/or coverage merger to look like. Scott: Do people have thoughts the paragraph about moving the function, There is some ugly syntax to access the type and had a proposal of moving it into the cross. What were the team's thoughts here? Gord: Maybe a little problematic, that may imply that function is not sufficiently pure. In terms of method, it should be pure, for properties that may end up being disallowed, depends on where these are located, the visibility question and semantics question. visiblity question it should not be a problem, from semantics point of view this could be casuing the purity of the method calls. Class cvrgrup containing these functions in genearte group, in genvar. there is a separation that we need to address. Steven: technically if they are using genvar, they are referencing local paramter. Francoise: Are we just talking about a constant function? What is the difference that this function is that the constant function can not do. Gord: The difference is that the functions in a width are permitted to have access to the constructor's variable arguments and those are only fixed at cover group construction. But it is not fully general. You don't sample all class members at that point, just those explicitly part of the cover group constructor. Arturo: Yes, Françoise: This is an implementation detail. Gord: You do not sample or capture all class members, only the ones part of covergroup constructors. The values are captured at the time that the coveragroup is elborated. Arturo: If they do not change there could be implementation differences, could be class instance const. Gord: If what you say it is fine if it behaves as a constant, they I would like to see that tin the proposal. Françoise: We need to make sure this is what the user wants before we go into great detail. This is not going to be trivial. Arturo: fair comment, no objection to that, if we have to capture it we explicitly mention it, captured at construction time. I would like the pure model. But I want to understand more from Scott to know what they want. Francoise: We need to make sure this is what the user wants. Gord: How far the closure of these covergroup is done? if class is declared in a module and does have access to all variables in module. Arutor: The pure model is easier to implement. Scott: The examples I saw were of the pure model, should go back and clarify, my own preference is to make sure they are sufficiently pure. Arturo: if you do need to accesse non-pure variables we have to be explicit that they have to be accessed at construction. Gord: This is more definitional and less of a performance issue. What do you need to collect at construction time? We need to look at the three levels of const-ness. Ray: Covergroup are pertaining to a run, not meaningful outside of run. Gord: That maybe problemticn, merging and other things, Ray: expected optimization. Mehdi: Action for Scott is to get more input from the user community. Is the usage model the one that would work in their environment? I would like to see if we could close on this and drive towards a vote in the next meeting. Gord: Is this possible? Mehdi: I think we need to get things rolling and we are close. I hope we could come to a conclusion at that time. Françoise: I would like to have our coverage experts look at this in detail and provide some input. Mehdi: We have asked for experts to look at this. Lets get expert feedback soon. A/I: Scott to get more input from the user community (Freescale). A/I: All, Please respond when information hits the reflector. A/I: All, Please consult with the users to get their feedback. 3002: Aspect Oriented Programming (AOP) features [Tom] Mehdi: Uploaded a proposal on AOP. I worked closely with Tony and Mark S. on the proposal. Tony: Why we use AOP at Cisco and why we want to continue to use it will be shared in the presentation. We use OOP for the top level. To write test cases, we like AOP to tweak the environment. If we don't have it, we have to use factories. The proposal is from a test writer's point of view. Gord: Question, primary motivation is to refine the constraints. Is there a list of user requirements? Tony: most of the use is tweak the constraints, for corner cases we need to use it without touching the environment, special cases, testing error cases, it is hard to go back to environment, to overwrite functions, re-arrange the functions. Removing the risks touching the environemnt. Gord: I would like to see the user requirments, AOP can have huge impact, technical solution is sufficient to the user requirement, Steven: These are complex, there maybe more appropriate tools for it. Dave: Coming from one language to another does not mean use the solution from the former language to solve the problem. Take a user view. Mehdi: The over arching consideration is to allow users to create test cases in another format such as error test cases. The main requirements were actually presented last year in February, during the p1800 open meeting to request user feedback, it is also referenced in the AOP proposal I have uploaded. Steven and Gord, what are you looking for? Gord: This type of functionality as the technical solution is complex, if it is only for extending constraints, there could be other solutions. I understand that is what the basic technology is aimed at. We should define what the users want so we can address them. Arturo: The intent to change not just constraints but other functionality, Tony said they use OOP for the test bench and AOP for the scenarios. Gord: Modify existing constraints and methods only? Tony: adding constraints, and covergroup. Arturo: And probably cover points as well. Gord: It is clear that you have thought about it, What modifications you want to do to your environment is important to know and discuss those things explicitly within the committee. Mehdi: Any new proposal that comes in tries to address the user model. All members should bring their usage model in and what they are going after. We would like to do this in follow-on meetings. I would like to spend 10 minutes just on the proposal so we can take more time to think about them and what the proposals are going after. I would like Tony to go quickly section by section so we understand the proposal. Arturo: AOP, is strictly built on top of object, not intended on random function or anything, Tony: The proposal shows how AOP relates to OOP in SystemVerilog. The perfect example is error case testing and fine tuning of some constraints. 8.26.1 There are some examples of how it is used. Constraints will apply to all classes. Paramterized classes, it should be for all specializations Steven: Can you apply the aspect to the non-specialized class? If you apply it to what is passed through a type parameter, default specialization applying this when type parameter is applied. Arturo: To a class where it is declared. Steven: Can you add a parameter as a member, Arturo: No it would break all parameters specialization continuing.... Tony: The example shows the real power of the AOP. No new class declaration, etc. In 8.26.1.1 we introduce some of the syntax. Steven: what is it meant by multiple classes, they allow aspects to cut across Tony: The aspects are applied to each class and not shared. There is some BNF syntax for the AOP extensions. Mark S.: The main ideas is close to the AspectJ. Arturo: there is no sharing of classes across aspects. Tony: In the around there is a default that allows us to call the original method. Arturo: Other than being explicit about intent, it can be done before, after with around and default. Francoise: Before and After are tasks, an entire scope, right? Yes. Sometimes it looks like a pre- and post- randomize we have previously defined. Arturo: correct that is where it came from. Steven: Given these are tasks and not shoved into the parent scope, are they passed arguments? Arturo: Outputs work the same as inputs. The new method can modify the output before it is copied out to the caller out. Steven: they would have default values, the value that parents have. Considered the effect of output or inout argument, would they be copied out to the original method, where would they be copied out? Arturo: you would treat them as original method, that is why you may not want to use the output, output works the same as inputs, inner most would copy it out to. Steven: default arguments are from outside. Arturo: default arguments would only be the outermost call, Steven: you would pass it to around task and it would pass it to inner. Francoise: What is the intent of before and after? Tony: similar to pre and post randomized. Steven: Can we apply one of these to the constructor. the order of this to built-in initiazliation to the members. Neil S.: Can we apply these to the related Interface classes? Arturo: Not yet thought through it. For this first time, we could disallow the interaction Gord: This is a huge issue, we should think through it clearly, it will be a nightmare to go through it. Arturo: It is not a nightmare issues, the aspects do not change the signature of the classes, Steven: We need to go through the conceptual issues to understand the clear path for us. Mehdi: Let's go through the last two sections. Tony: The next important item is 8.26.3, is precednce, figure in page 8, the join point is accumulation of what other advice has been applied. by default however it is how we want it to be adivced. symbol resolution: not able to define variables of same name, aspect extension with derived classes, examples here with the results. 8.26.6 the formal argument must match with original method with the prototype. Dave: Can you list the new keywords you propose to add? Tony: Yes, we will add it around the BNF section. Steven: We would like to see how common these names are in designs. Gord: Arturo you mentioned lexical construction. Arturo: Yes, that is existing two kewords, togteher, like fork-join existing keywords. Steven: Requirements in are important, we have AOP experts that can take a look at these and maybe able to suggest work around. Arturo: That is fair, We do have a working implementation that has proved this. Tony: This is an ease of use for the users. We could show how this is done with factories. Mehdi: There are many ways to do things but we don't want to write it all in just pure procedural Verilog. These additions are to improve productivity. Take the example of SVA, assertions, the declrative syntax, you could write the whole thing in procedural verilog, but it is more productive using the assertion language. NOTES: No time for Françoise's items this week. Dave's 2112 issue will be put on the list to discuss next meeting too. The new phone number will be checked out 3978,3979. combined. 2993 Coverage Cross cover points across different cover groups [Arturo, Swapnajit] 3002 Aspect Oriented Programming (AOP) features [Tom] 3046 Dotted names within inlined constraints [Gord] 3082 Daniels' top items [3075, 3076, 3077, 3078, 3079, 3080, 3081] 3003 [2987, 2988] constraint composition [Jonathan, Tom, Ray, Arturo] 2735 ballot comment #48, chaining.. [Arturo, Steven, Gord] 2848 Is it legal to assign an interface containing class declaration to a virtual interface [Francoise] [hold for next few meetings: sv-bc is also looking at interfaces] 1356 Interface Classes [Multiple inheritance] [Tom, Brandon] [next 3 are related to 1356; added per WG approval]Merge of 3278 virtual method type rules [Francoise] 3279 Enhance method override rules to allow covariant typing [Francoise] 3293 Clarify $cast behaviour on class handles [Jonathan ] 3001 Proper Polymorphic behavior of instantiation [Jonathan, Tom, Francoise] 2999 Class Handle reference inside of Constraints [Tom, Ray, Arturo] 1706 Meaning of static prefix for virtual interface assignments [Mark, Steven, Francoise] 2488 Are virtual method calls legal within class constructors? [Steven, Francoise] 2112 Remove restrictions on NBA assigments to class members [Dave, Steven] 1442 Clocking blocks legal in modports, missing from text description in 20.9 [Steven] 2900 - Associative array should consider the context of an lvalue to create an entry [Dave] 3254 - 18.5.6 if-else constraints mistakenly uses the work "block" when it means "set" [Dave] 2794 - Clarify queue methods return status 1076 - out-of-range or x/z index to array of reals - 5. Next meetings April 2011 ----------------------------------------------------- Monday April 11 2011 Regular biweekly Monday April 25 2011 Regular biweekly FOR References: --------------------------------------------------------------------- =========== from March 28 2011 meeting =================== AI: 2506 Scott to get more input from the user community (Freescale). All, Please respond when information hits the reflector. All, Please consult with the users to get their feedback. =========== from March 14 2011 meeting =================== AI: 2506 All - Scott to send out clarification email to the alias. =========== from February 14 2011 meeting =================== AI: 2506 All - discuss this proposal over email. =========== from January 17 2011 meeting =================== AI: 2848 Mehdi - hold this off for the next 3 or 4 sessions. AI: 1356 Tom/Team state the differences between extensions and inheritance. ============ from December 6 2010 meeting =================== AI: 2845 Francoise - update the proposal with these changes. AI: 2848 Francoise - update the proposal with these changes. AI: 1356 Tom - update the proposal with some of the issues being raised. AI: 1356 all - review the new proposal before the next meeting. ============ from November 22 2010 meeting =================== AI: 2848, 2845; Franocoise update the proposals. AI: 2505; Neil S., update the proposal. AI: 2506; put the proposal into the required format AI: everyone to review and be ready to discuss during next time. ============ from November 8 2010 meeting =================== AI: Minutes; Mehdi - will check for consistency between the left and right sides for the attendance. AI: for 1356 Multiple Inheritance (interface classes) Mehdi - will make a request to the WG on this. General statement about being allowed to work on mantis items that are affected. AI: Jonathan - NULL within $cast AI: Gord - the OVM people would like to have that. Covariant and Contravarianct type extensions. you allow method that do not allow exact type signature of over-written method, but can return the objects of the type of original return type, impact of that would be on Interface classes. AI: Gord - Overwriting of virtual method section AI: Tom - update the proposal (to number 4) ============ from October 25 2010 meeting =================== AI: 1356 Tom - update the proposal, make corrections and more normative text. All - provide more detailed feedback to Tom. ============ from October 11 2010 meeting =================== AI: related to 2505 All - should we allow enum constants to be accessed by the dot? AI: 2953 Mehdi - make 2953 a child of 2506 Mehdi - make a request in this week's P1800 meeting to work on 2506 AI: 2080, 1672, 802 Neil - update the mantis items (3 of them) AI: 251 Mehdi, leave mantis 251 open AI: 2794 Mehdi, reopen mantis item for feedback Jonathan: update AI: 2949 Jonathan: send email to Brad to get clarification on his feedback. ============ from September 27 2010 meeting =================== AI: 3003 Tom - will get feedback on specific examples. (see 18.7 for information on the with-clause) AI: 3003 Jonathan - will get an email discussion going. ============ from September 13 2010 meeting =================== AI: Coverage item Swapnajit - will provide a note for clarification, to be added to Mantis 1802 AI: Coverage item Swapnajit - will put together a proposal for this issue. [related to 19.5.3 wildcard specification] AI: 2848 Francoise - Will do a write-up for this proposal. AI: 2845 Francoise - will try to write-up for this. ============ from August 30 2010 meeting =================== AI:2956 Mehdi making a note to the editor for adding cross reference. AI: 2794 Jonathan will make the friendly amendment. AI:3028 Jonathan create a proposal and upload it for more discussion and vote next meeting. ============ from August 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 right --------------------------------------------- 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) -------------------------------------------------------------- == 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