SV-BC Meeting Date: Monday, July 18, 2011 Time: 9:00am-11:00am PDT Toll Free Dial In Number in North America: 1-888-813-5316 Caller Paid Dial In Number: 1-650-584-6338 Meeting ID: 45961 1202021211310202213101 Day 8063951844176285730629 0000000000001111000000 Month 7665544332112110998887 1111111111111111111111 Year 1111111111110000000000 aaaaaaaa-aa-a-a-aaaaa- Steven Sharp - Cadence aaaa--aaaa-aaaaa-aaaaa Francoise Martinolle - Cadence a-aaa--a-aaaaaaaaa--aa Kaiming Ho - Fraunhofer Institute aaaaaaaaaaaaaaaaaaaa-a Matt Maidment - Intel -a-aa-aaa-aaaaaaaaaa-a Tom Alsop - Intel -aaaa-aaaa-aaaaaaaaaaa Shalom Bresticker - Intel aaaaa-aaaaaaaaaaaaa-aa Dave Rich - Mentor Graphics a-a-aaaaaaaaa-aaaaaaaa Gordon Vreugdenhil - Mentor Graphics aaaaaaaa-aa-aaaaa-aa-a Alex Gran - Mentor Graphics --aaaaaaaaaaaa-aaaaaaa Arnab Saha - Mentor Graphics aa-aa-a-a-aaa-aa-aa-aa Eric Coffin - Mentor Graphics aaaaaaaaaaaaaaaaaa-aaa Brad Pierce - Synopsys aaaaaaaaaaaaaaaaaaaaaa Mark Hartoog - Synopsys a-aaa----aaaa-a-aaa--a Peter Flake - Accellera Rep a---a----------------- Stu Sutherland - IEEE 1800 Editor -aaaa----a-a---a-aa-aa Daniel Schostak - ARM -----------a--------a- Greg Jaxon - Synopsys ---------------------- Scott Little - Freescale ---------------------- John Havlicek - Freescale ---------aa------aaaaa Cliff Cummings - Sunburst Design ---------aa-aaa--a--aa Heath Chambers - Consultant/Trainer ---------aaaa-aa---aaa Don Mills - LCDM Engineering ---------aa-a--------- David Gates - AMD ----------aa-aaaaa---- Linc Jepson - 74ze ---------------------- Rishiyur Nikhil - BlueSpec -----------------a---a Jonathan Bromley - Verilab Agenda + Review IEEE patent policy http://standards.ieee.org/board/pat/pat-slideset.ppt Steven moves to consider it read. Mark seconds. No opposed. No abstain. Motion passes. + Review previous meeting minutes http://www.eda.org/sv-bc/minutes/sv-bc_11_06_20.txt Francoise moves to accept the minutes. Eric seconds. No opposed. Abstain: Gordon, Kaiming, Peter (not present) Motion passes. + Data Object Definition During the previous discussion of Mantis 3608 (http://www.eda.org/svdb/view.php?id=3608) during the June 20 meeting the question was raised as to whether a data object is completely defined. Goal of this discussion would be to identify improvements and enable a committee member to write a proposal to address the situation. It is agreed that data object does not include functions. Are virtual interface variables data objects? More like a handle. Gord posed the question of whether using the phrase "name resolves to a data object" has any negative consequences. No one could identify one so long as a module instance, block label has a data value. Mark asked about an interface port? Believe virutual interfaces have a data type and Steven argues they are effectively const. 25.9 defines virtual interfaces as variables with values and with data types. Interface ports, however, are less clear. Suggest wording for 3608 would be: "The name resolves to a data object or interface port. The dotted name shall be considered to be a select of that data object or interface port." AI: Francoise will look to generalize other wording in 23.7 as suggested by Shalom and complete proposal for 3608 based on suggest wording. + 2289 - http://www.eda.org/svdb/view.php?id=2289 Gord asked if VPI returns parameter or localparam for these conditions? Gord clarified that VPI is to have a property for parameters that are local. AI: Gord to file an SV-CC issue to add a clarification that vpiLocalParam should be true for cases where parameter declared but it is a synonym for localparam as noted in 2289 and 3326. Steven moves to accept the proposal. Gord seconds. No opposed. No abstain. Motion passes. + 3326 - http://www.eda.org/svdb/view.php?id=3326 Steven moves to accept the proposal. Francoise seconds. No opposed. No abstain. Motion passes. + 1251 - http://www.eda.org/svdb/view.php?id=1251 Shalom volunteered to write proposal based on feedback from the committee. 9.4.3 - wait: consensus is that X and Z bits are considered as 0. Suggest referring to 12.4 as well as improving the description in 12.4 to clarify how the expression is handled, either "a unary-or reduction is performed on the expression and is true if 1 otherwise it is false" or "if any bit in the expression is 1 then the expression is true otherwise the expression is false." Stu suggests clarifying 12.4 by stating that an if expression is evaluated using the unary or reduction operator. The effect of this is that if any bit in the expression is 1 then the expression true, otherwise the expression is false. Steven raised point that this does not cover reals. Someone else raised issue of handles, but it was pointed out that these must be used in boolean expressions. 12.4 should cover reals. Converts 4-state to 2-state and compares to 0 or have 2 sentences, 1 for non-reals and 1 for reals. Stu prefers the latter. Consensus that real value is false only if it equals 0. What about real used as cond_predicate in conditional operator? Likely should be false only if it equals 0. Unpacked structs, arrays, dynamic data types, handles are currently not legal. Should explore others and clarify in text. Some wonder if handles could be allowed on their own, without the need for direct comparison to NULL. AI: Shalom resolve 1251 by referring to rules of if-statement (12.4) AI: File new mantis item to clarify determination of true/false for If-statement (12.4), while, do-while, iff, conditional operator and potentially others for all data types. AI: File new mantis item to request clarification of Short-circuiting of &&, ||, ->, ?: (11.3.5) 10:57AM: Steven moves to adjourn. + 2081 - http://www.eda.org/svdb/view.php?id=2081 Explore issue to enable future proposal + 3073 - http://www.eda.org/svdb/view.php?id=3073 Identify sub-issues to be tackled. Top 25 Mantis Items 696 - Complete 2310(1084, 1201) - Participants: Eric, Tom, Shalom, Steven, Wilson Snyder 3053 - Participants: Francoise, Mark, Alex, Kaiming 3055 - Participants: Gord, Mark 2991 - Champion: Tom, Participants: Steven 1566 - For future discussion 2114 - Similar to 3053. Have same group look at it. 210 - Complete 3056 - Champion: Shalom, Participants: Steven, Francoise 1084 - Logical Expressions in Macros 2115 - X-Optimism/X-Pessimism resolution 3073 - Collected $bits issues 1697 - Macro Loops 1202 - Define Standard Preprocessor 1251 - X/Z behavior in various contexts 2289 - parameters inside comp unit & gen block are local 1504 - parameterized structs and unions 1144 - Out-of-bound array address 2081 - always_comb statements 1553 - nested module clarifications 2684 - variable part-selects 1861 - major modport enhancements 1523 - behavior of ?: on complex types 3074 - Connectivity Enhancements 2124 - `default_nettype var-type directive Action Items Complete 06/20/11 Matt revisit data object definition in future agenda. 06/20/11 Matt write email and cc: Steven to redirect issue of state preservation and functions to the committees that Steven believes should resolve the issue. Outstanding 05/10/10 Matt create Master Issue for WG-approved SV-BC Top-25 07/19/10 Jonathan post some items for discussion related to 2114 to reflector. 08/02/10 Brad give SV-BC feedback on Mantis 2992 to Mehdi 08/02/10 Eric start reflector thread on Mantis 2310 08/16/20 All send Shalom feedback about prioritizing the issues raised in port declaration issue summary: http://www.eda.org/sv-bc/hm/10498.html 09/13/10 Jonathan show simple examples of virtual interfaces, sub-interfaces and base classes in modules to demonstrate different methods for connecting design and testbenches. 09/27/10 Review Shalom's list of interface issues and suggest issues to tackle now. 05/10/10 Matt create Master Issue for WG-approved SV-BC Top-25 07/19/10 Jonathan post some items for discussion related to 2114 to reflector. 08/02/10 Brad give SV-BC feedback on Mantis 2992 to Mehdi 08/02/10 Eric start reflector thread on Mantis 2310 08/16/20 All send Shalom feedback about prioritizing the issues raised in port declaration issue summary: http://www.eda.org/sv-bc/hm/10498.html 09/13/10 Jonathan show simple examples of virtual interfaces, sub-interfaces and base classes in modules to demonstrate different methods for connecting design and testbenches. 09/27/10 Review Shalom's list of interface issues and suggest issues to tackle now. 11/22/10 Brad to file Mantis item for upward passing of interfaces. 12/06/10 Matt open new Mantis item covering determination of port kind for .named_port connection (23.2.2.3). 01/31/11 All check with users regarding viability of rule that virtual interface declarations require that the referenced interface be previously parsed. 02/14/11 Users consider proposed restrictions and use-cases for varargs and provide feedback. 03/14/11 Matt check back with Gord and Mark in April about feedback regarding interface issues. 03/14/11 All drill down on 3055 and identify issues that would be straightforward to clarify regarding constant expressions, type operations and what is a hierarchical name. 03/28/11 Check with Gord in early June 2011 regarding 2856 and his proposal to limit hierarchical references for parameters in module instantiations. 05/23/11 Dave to review with Gord the slides referenced by Brad regarding issue 2108. 06/06/11 Matt write proposal for 1504 06/06/11 Dave write proposal for 1523 06/20/11 Steven write a proposal for 3595 07/18/11 Francoise generalize other wording in 23.7 as suggested by Shalom and complete proposal for 3608 07/18/11 Gord to file an SV-CC issue to add a clarification that vpiLocalParam should be true for cases where parameter declared but it is a synonym for localparam as noted in 2289 and 3326. 07/18/11 Shalom resolve 1251 by referring to rules of if-statement (12.4) 07/18/11 File new mantis item to clarify determination of true/false for If-statement (12.4), while, do-while, iff, conditional operator and potentially others for all data types. 07/18/11 File new mantis item to request clarification of Short-circuiting of &&, ||, ->, ?: (11.3.5)