SV-EC Meeting Minutes 9 December 2002 Active (At one or more of last 4 meetings) (-----a----aaa) v Arturo Salz (Synopsys) (-----aa-aaaaa) v Brad Pierce (Synopsys) (a-aaaa-aaa-aa) v Cliff Cummings (Sunburst) (aaaaa-aaaa-aa) v David Smith (Synopsys) (---------aa-a) v Don Mills (LCDM Engineering) (---aaa-a-aaaa) v Francoise Martinolle (Cadence) (aaaaaaaaaaaa-) v Karen Pieper (Synopsys) (aaa-aaaaaaaaa) v Kevin Cameron (National) (aaaapaaaaaaaa) v Mehdi Mohtashemi (Synopsys) (-aaaaaaaa-aaa) v Neil Korpusik (Sun) (-aaaaaaa-aaaa) v Stefen Boyd (Boyd Technology, Inc.) (------------a) n Jay Lawrence (Cadence) (---a-aa-----a) n Kurt Takara (0-in) (--------aa-a-) n Stu Sutherland (Sutherland-HDL) (-----a-a-a-a-) n Tim Corcoran (WHDL) Inactive (Missed last 4 meetings) (--a--a-a-----) n Michael McNamara (Verisity) (--a----------) n Adam Krolnik (LSI Logic) (---a-a-------) n Alec Stanculescu (Fintronic) (-aaa---------) n Dave Kelf (Co-Design) (-aaa-a-aaaa--) n Dennis Brophy (ModelTech) (aa-aa--------) n Heath Chambers (HMC) (aaa----------) n Paul Graham (Cadence) (aapaa--------) n Peter Flake (Co-Design) (a------------) n Roy Armoni (Intel) (aapa-a-------) n Simon Davidmann (Co-Design) (aa---a-------) n Steven Sharp (Cadence) (-----a-------) n Stephen Meier (Synopsys) (-aaaaa--a----) n Tom Fitzpatrick (Co-Design) (-----a-------) n Zeev Kirshenbaum (Verisity) a => Attended p => Attended by proxy - => Missed v => Eligible to vote at next meeting (based on attendance only) n => Not eligible to vote at next meeting (based on attendance only) Action Items: 1. David to add identification numbers for all issues (including interface issues) 2. Arturo to look at implication of allowing reg assignment to string. 3. Arturo to look into issue with removing unicode from char type. 4. Arturo to write guidelines for use of system task vs method. Also to cover ability to leave parens off of method calls. 5. Arturo to provide bettern definition of multiplier in Table 3-2. Stefen Boyd taking notes. 1. Review minutes from the 25 November meeting and approve - Note: planning on having meeting next week Proposed - David, Second - Mehdi, approved unanimous 2. Review Action items (see minutes from 25 November meeting) 1) David: Put latest Testbench Document on web set. Done: Available, but not linked on eda.org site... 2) Kevin: propose where alias should be inserted into LRM (including discussion from today). Done: was sent to reflector, but waiting for Stu to incorporate into the document. 3) David: send status on issues being moved over to EC from BC Done: although some issues mistakenly indicated wrong source... 4) ALL: reveiw all proposals on the reflector, channel,references, etc. to be prepared. 3. Review Enhancement status and proposals. - Continue review of Random Constraints for approval Jay - has issue with it being embedded in class, also wanting control externally. Mehdi - Class allows randomization outside class and allows control from outside by creating extended class. Offloads burden of randomization from user to tool. David - Need resolution by next meeting. Stefen - What about searching the design cache at major companies? Brad - I know I have seen cell, library, design, and config David - Issue is how are we looking at language design. Chairs are looking into where to deal with this. - Discuss handling of three items from SV-BC on interfaces No proposals yet. Jay - Disagrees with whole need of interfaces, so won't complain about items in the list. Motion: Delay discussion of these three interface issues until after 3.1. Proposed - David, Second - Stefen, Francoise opposed, Jay abstain, approved - The simulation cycle proposal will be added to the list of enhancements as well. David - once it lands, it will be handled by EC. 4. Review LRM Section 2.6 - change Francoise - BNF needs to be changed for this. Arturo - It is an enhancement of being able to merge two lines. Cliff - BNF has comment that new line not permitted, but this will need to be changed in the annex as well. CHANGE 1 - new line REPLACE: string ::= " { Any_ASCII_Characters_except_new_line } " // from Annex A.8.8 WITH: string ::= " { Any_ASCII_Characters } " // from Annex A.8.8 CHANGE 2 - string and class string and class don't belong in integer data types REMOVE: string and class from Table 3-1. Section 3.3.3 - Discussion of whether it's clear. integral is used to define itself. Would like Venn diagram. David - Do we have someone to volunteer to rewrite 3.3.3. It's also being used in the definition of strings and enums. Agreed that definition needs rework. Much discussion of where to put definition. CHANGE 3 - reword integral definition (3.3.3) REPLACE: The term integral is used throughout this document to refer to the data types that can represent a single integral value. These are all the basic integer data types, packed struct, packed union, enum, and time. WITH: The term integral is used throughout this document to refer to the data types that can represent a single basic integer data type, packed struct, packed union, enum, or time. MOVE: 3.3.3 to 3.3.1 Section 3.7 - strings CHANGE 4 - remove unnecessary sentence Since paragraph starting with "If an initial value..." deals with uninitialized variables, no need to have confusing sentence. REMOVE: 'Uninitialized variables of type string are initialized to "".' (last sentence of 3.7, paragraph 4) CHANGE 5 - change example to make it legal REPLACE: string a = {"Hi", b}; string b = ""; WITH: string b = ""; string a = {"Hi", b}; Discussion of why is 'b = r' illegal in 3.7 example. Action item for Arturo to resolve. Discussion of whether there is any plan to include unicode support. Action item for ARturo to resolve. CHANGE 6 - Deprecating "or a short int (Unicode) from 3.3 (Table 3-1) David - Problem with having unicode is that it ripples into literal strings and from there into the rest of the language. REMOVE: "or a short int (Unicode)" from 3.3 (Table 3-1) Section 3.7 - string methods Discussion of use of methods vs system tasks. Should have consistent use of methods or operators for new functionality, but not a mixture of both. Arturo - If it's something that can be used globally and may want to be overridden from the PLI, then use system call notation. If it's something that is limited to Jay - Need to make all new language elements consistent. Francoise - Why define both operators and methods? Why do we need both if they do the same thing? Arturo - Both do different things. Kevin - What about operator overloading? Much objection about discussing (or adding) operator overloading. Jay - Most of text for '{multiplier{Str}}' can go away. So either say that it behaves like Verilog replication or ifx it so that it has the correct definition. CHANGE 7 - typo "ocatal" 3.7 "atooct()" has typo in definition with "ocatal" instead of "octal" REPLACE: ocatal with octal in atooct description in 3.7. Jay - wants inverse for all ato-- to get itoa output for all types. No volunteers to define. ISSUE - Need hex, octal, and binary covered for 3.7 itoa. 5. Meeting closed