SV-EC Meeting Minutes 22 July 2002 (--a) Adam Krolnik (LSI Logic) (a-a) Cliff Cummings (Sunburst) (-aa) Dave Kelf (Co-Design) (aaa) David Smith (Synopsys) (-aa) Dennis Brophy (ModelTech) (aa-) Heath Chambers (HMC) (aaa) Karen Pieper (Synopsys) (aaa) Kevin Cameron (National) (aaa) Mehdi Mohtashemi (Synopsys) (-aa) Neil Korpusik (Sun) (aaa) Paul Graham (Cadence) (aap) Peter Flake (Co-Design) (a--) Roy Armoni (Intel) (aap) Simon Davidmann (Co-Design) (-aa) Stefen Boyd (Boyd Technology, Inc.) (aa-) Steven Sharp (Cadence) (-aa) Tom Fitzpatrick (Co-Design) a => Attended p => Attended by proxy - => Missed Action Items: 1. Kevin to add more detail to proposal for "Dynamic Process Control" 2. Mehdi will look into why concatenation not supported for array initialization. 3. Mehdi to clarify how arrays can be initialized and note on 1-12. 4. Mehdi to provide documentation on system task (printf) 5. Mehdi to verify that error produced for 2d array of enum. 6. Tom F to verify that SV is able to auto-cast this (enums). 7. Mehdi to find initialization values instead of x for types such as string. 8. Mehdi to list types allowed in assoc array 9. Mehdi to provide definition of void, need example to show void return value 10. Mehdi to clarify rules for order of value assignment in enum initialization when mixing with auto-assigned values Discussion: 1. Review of minutes Change Stefan Boyd to Stefen Boyd. Question as to comment about virtual ports not part of donation. Was decided it was correct. Modify minutes to reflect that event stuff was not covered in chapter 4. Cliff: When did email go out with document? Proposal: Approve minutes as amended Stefen proposed/ Mehdi second Approved unanimously 2. Proposal: Amend voting rules to allow everyone to vote until 4th meeting at which time previously approved rules are in effect. David proposed/ Cliff seconded Approve unanimously 3. David: Amended procedure for handling review process. Will create page for indicating status of reviewed items. 4. Look at Kevin K. requirement proposal: stop, restart, kill, & process ID Tom F: Can Co-design donate a solution? David: Donations are welcome that are complimentary. Q: What does restart do? A: Once a stop does a suspend Q: Difference between kill & disable? A: Disable is closer to a stop. Tom F: Not comfortable with blanket requirement to map to pthreads. Good first cut, but needs more detail. AI - Kevin to add more detail to proposal. 5. Pointers Kevin will delay proposals as there aren't any proposals that affect the language (current proposals are in SV-CC) 6. Review of Testbench/Vera-Lite document Cliff: Enum is different from SystemVerilog Identifiers and initialized are swapped Page 1-10: Last sentence refers to classes as chapter 11, but it's chapter 7 in this document. Page 1-11: Example under "fixed sized arrays" 3rd syntax example shouldn't be in there. Example right above it shows example from high to low. Bitfield of array can't be accessed directly. SV allows direct access. Page 1-12: Array initialization: consistent with Verilog Table 1-2 has port in it. AI - Mehdi will look into why concatenation not supported for array initialization. Tom F: Table 1-2 also talks about objects... not defined for initialization. Can we assign to multiple elements of array? Mehdi: No Tom F: SystemVerilog can. AI - Mehdi to clarify how arrays can be initialized and note on 1-12. Page 1-13: Multi-dimensional Arrays Need clarification (definition?) of "Color" Page 1-14: printf - not defined in document yet. Functionality is same as what is available in Verilog AI - Mehdi to provide documentation on system task Clarification about two dimensional array passed to function: "Any call to "fun" must pass in a two dimensional array where each dimension is two." Tom F: This seems more restrictive than SV. AI - Mehdi to verify that error produced for 2d array of enum. AI - Tom F to verify that SV is able to auto-cast this. AI - Need forward reference to associative arrays. Page 1-15: Array initialization Tom F: Appears to have same syntax as SV Page 1-16: Associative arrays port_name needs to be removed Looks like sparse array "implement" means "use" for assoc_index() Way to use is to start with first and iterate? Mehdi: Believe non-initialized locations for string is null, event is off... All basic data types are supported. AI - Mehdi to find initialization values instead of x for types such as string. AI - Mehdi to list types allowed in assoc array Page 1-18: assoc_index() First time seeing "void" - hasn't been defined. AI - Mehdi to provide definition of void, need example to show void return value Question regarding successful/unsuccessful, but it's answered by details in table 1-4 on page 1-17 Page 1-18: enum Can't have two enum values with the same name. SV allows overlapping definitions using form enum1.green or enum2.green Page 1-19: shortcut for arrayed names Candidate for inclusion in SV - Using brackets in name will create groups (something not part of SV). Value assignment similar to SV. AI - Mehdi to clarify rules for order of value assignment in enum initialization when mixing with auto-assigned values Page 1-20: using enum in expression No casting shown here for assigning integer value to enum. Assigned values do not affect the operation of ++, --, +=, or -= operators. They use declaration order. David: Note that page 10, end of section 3.6 of SV spec restricts declaration of multiple enum with same enum value names not allowed in same scope. Tom F: correction on accessing enums. SV can access multiple enum with same name so long as they are in different scopes, by using hierarchical path. Currently SV enums use only the values for ++, etc compared to Vera enum that acts like hybrid between list. Behavior of SV enum with ++, etc has not been fully specified (is on BC todo list). -------------------- Stefen Boyd Boyd Technology, Inc. stefen@BoydTechInc.com (408)739-BOYD www.BoydTechInc.com (408)739-1402 (fax)