Meeting called to order 8:35 October 20, 2003 Administrivia: Next meeting is October 20th, at 8:30 Pacific Time, same number. Meetings occur every fouth monday. Web site is http://www.verilog.com/IEEEVerilog.html Attendance: Today DASC member (D yes, - no) | | v v A aaaaaaaaaaaaaaa D Michael McNamaraA aaaaaaaaaaaa-aa D Steven Sharp A aaaaaaaaaaaa-aa D Karen Pieper A aaaaaaaaa----aa D Brad Pierce A aaaa-aaaaaaaaa- D Shalom Bresticker A aaaa-aaaaaaa-a- D Charles Dawson A aaaa D Francoise Martinolle A aaa------a--aa- D Tom Fitzpatrick A aa-----a------- D Mehdi Mohtashemi A a-aa-aaaaaaaaaa D James A. Markevitch A a-aa----------- D Drew Lynch A a-a---aaaaa-aa- D Stuart Sutherland A -aaa D Dennis Brophy A --aa-aaaaaaaaaa D Anders Nordstrom A --aa-a-aaaaaaa- D Stefen Boyd A -----aa-a---aaa - Clifford E. Cummings A D Richard Ho (rep Curt Widdoes) A aa D Alec Stanclulesco A aa D Ennis Hawk A D Atsushi aa - Don Mills aaa-aaaa------- D Kurt Baty aa D Keith Gover a--a D Karen Bartleson -aaa D Jay Lawrence -a-aaaaaaaaa-aa D Gordon Vreugdenhil -a D David Smith -a D Dave Rich -a D Chong Guan Tan --a--a--------- - Krishna Garlapati ---a D Steven Dovich -----aaaaaaaaaa - Dennis Marsa -------------aa - Erich Marchner --------------a D Peter Flake 1) The Chair read the IEEE patent policy presentation,and refers all to http://www.verilog.com/IEEEVerilog.html where a link to the IEEE policy is prominent. 2) Shalom moves Stuart seconds approving minutes. None oppose, Cliff (who is not as DASC member), Anders & Stefen abstain, minutes approved 3) Web page: Things have been broken for the last two weeks; stopping everything. Stefen feels this is a temporary setback, which he is fixing as we speak. 4) Report of the 2001c Project: Shalom: Main body editing is finished; copy sent to IEEE sans change bars; got from Andy a draft of errata sheet, looks very nice, orderly, readable; sent comments to Andy, also withdrew one errata. Awaiting getting revised draft back, and update front matter, and send it out. 5) Report on User survey 6) Report of BTF committee 7) Announcement Dennis, Mac work out details on how to collaborate. Peter, send out a definitive message 7) The chair then reminded everyone to send in IEEE roster data at http://www.verilog.com/IEEEverilog.html, and to verify and renew their DASC membership, at http://www.dasc.org 8) Then the group took up the next item on the agenda, which was to review and consider for approval the activities of the Errata and PLI Task Forces. Those seeking more information on these issues are directed to http://www.boyd.com/1364_btf, where one can access these items by issue number. As is usual practice, these matters are presented to the VSG by one of the chairs of the task force; discussion ensues; and only votes of those opposed or abstain are noted. Issue : 192 Made by Shalom, Seconded by Karen Opposed: none Abstain: none Motion passes Issue : 205 Made by Shalom, Seconded by James Opposed: none Abstain: none Motion passes Issue : 225 Cliff (who is not a DASC member) proposed we return this to ETF for proposed language; Stu seconds Opposed: none Abstain: none Motion passes Issue : 361 Made by Shalom, Seconded by Steve Sharp Opposed: none Abstain: none Motion passes Issue : 100 Made by Shalom, Seconded by Steve Sharp Opposed: none Abstain: none Motion passes Issue : 208 Made by Shalom, Seconded by Steve Sharp Note to editor: when text is written regarding hierarchial references to instance arrays, editor should look at restricting constant integer expressions, as discussed in Issue 247. Opposed: none Abstain: none Motion passes Issue : 226 Made by Brad Pierce, Seconded by Shalom Opposed: none Abstain: none Motion passes Issue : 276 Made by Karen, Seconded by Steve Opposed: Cliff Cummings (who is not a DASC member) Abstain: none Motion passes Note that passing 276 makes Issue 229 moot. Issue : 295 Made by Steve, Seconded by Brad Opposed: Stu, James, Stefen, and Cliff (not DASC member) In Favor: Steve, Karen, Brad, Francoise, Charles Abstain: none Motion passes Issue : 317 Made by Shalom, Seconded by Brad Opposed: none Abstain: none Motion passes Issue : 337 Made by Steve, Seconded by Stefen Opposed: Cliff (N.A.D.M.), James Abstain: none Motion passes Issue : 402 Made by Brad, Seconded by Steve Opposed: none Abstain: none Motion passes 10:08 Alec arrived, and started to give a report on activities of the BTF's coordination committee. We have proposed tasks forces; still need approval Issue : 413 Made by Shalom, Seconded by Steve Proposal is to delete paragraph 4 from clause 4. Opposed: none Abstain: none Motion passes Issue : 415 Made by Shalom, Seconded by Steve Opposed: Cliff (it was noted that Cliff is not a current DASC member)nd Mutex primitives Generic interconnect Meeting Adjourned at 10:32. Reminder: PLI task force today at 4:00 pm, email for details. Reminder: BTF meeting in five minutes, same number. ----------------------- Here is Alec's report: Overview of Donations to IEEE 1364 for Verilog 2005. =================================================== This document was put together by Alec Stanculescu, and incorporates the results of: I1. discussions during the conference call on September 30, 2003 having in attendance: Alec Stanculescu, Ennis Hawk, Francoise Martinole, Jay Lawrence, and Michael McNamara) I2. feedback from Michael McNamara and Jay Lawrence via e-mail I3. discussions during the conference call on October 3rd, 2003 having in attendance: Alec Stanculescu, Atsushi Kasuya, Ennis Hawk, Francoise Martinole, and Michael McNamara). These donations and the motivations behind each one are described in detail at www.verilog.com/1364donations.html. This report provides a general description of each donation and provides information that represents the basis for transforming each donation into a candidate for introduction into the LRM for IEEE 1364. In particular it points out areas that still need to be worked out as well as guiding principles to consider when completing the specification. Each donation was declared free of any legal problems by a representative of the respective donor company: donations 1,and 2 by Jay Lawrence from Cadence, 3, 7, 8, and 9 by Francoise Martinole from Cadence, 4 by Mike McNamara from Verisity, 5 by Ennis Hawk from Jeda Technologies, and 6 by Alec Stanculescu from Fintronic USA. A copy of the corresponding legal donation documents will have to be attach to the final report. 1. Design Ip Encryption Extension This donation was contributed by Cadence Design, Inc. This donation takes advantage of public key encryption techniques and digital envelopes to provide an encryption technique that relies solely on encryption keys and not vendor-specific algorithms. See http://www.rsasecurity.com/rsalabs/faq/2-2-4.html for a description of these techniques. Using these techniques a Verilog source file can be encrypted once with a single key, and then the key itself is encrypted for each authorized vendor or user who should be provided access to the IP. This donation does not have any dependencies to other aspects of the language. It overlaps with the 'protect/'unprotect constructs mentioned in the Verilog LRM, but Cadence's implementation is such that 'protect/'unprotect is actually a special case of the newly donated construct. Cadence will demonstrate that this new technique is 100% backward compatible with existing `protect usage. There are various scenarios where this can be used, including (1) co-operation between parties over the Internet where each party should have access to the source, but the files should be encrypted during the transfer; (2) IP sent to a user of the IP that is not supposed to have access to the source, but should be able to compile it and simulate it, etc. Each simulator vendor supporting this encryption should be careful not to allow PLI or other debug tools to provide information regarding the described circuit which was intended to be protected by the encryption. This donation is complete and ready to be implemented. 2. Data Type Extension This donation was contributed by Cadence Design, Inc. It provides the basis for a true type system for Verilog. It defines (1) scalars (2-state, 4-state, real) (2) vectors, (3) composite types (arrays of any type, and structured types. It also provides dynamic memory allocation based on a handle/access_type, where the deallocation is accomplished by assigning NULL to the access_type. All data types can be applied to both variables and nets. The resolution of multiple drivers of a net is unchanged from Verilog-1364 in that it is always applied as a wor, wire, or wand of the scalar elements of the object. A wire type Wone is defined that accepts only one driver. This is an important extension which is in the spirit of the Verilog language. This donation overlaps with the classes and types donated by Jeda Technologies, as well as with constructs present in the language developed by Accellera. Items to be discussed by the tasks force writing the LRM are: - enumeration type - clear definition of scalar (e.g. something that cannot be indexed) - clear definition of variable vs net concepts - clear definition of vectors (known also as packed arrays) - clear specification of deallocation in case two objects of type access are accessing the same object. 3. VPI Extensions for data and Assertions This donation was contributed by Cadence Design, Inc. This donation provides the necessary VPI extensions to support the new data structures as well as the Sugar/PSL assertions. This donation is dependent on any new object introduced into the language, as well as on any language extensions that allow objects to be referenced in new places. The task force writing the necessary wording into the LRM will have to use this donation as well as information regarding all other pertinent extensions to Verilog. 4. Verification Extension This donation was contributed by Verisity LTD. Verisity LTD owns certain patents associated to the donation, however Michael McNamara represented that Verisity has filed a statement with the IEEE and with the DASC that states that Verisity will make free use of its patents available to implementors of IEEE 1364 Verilog. This donation is a subset of the capabilities provided by the e-language and is meant to provide the user with a minimum necessary support for verification in a syntax similar to the more extensive verification language to be standardized under IEEE 1647. This donation is an extension of donations 2, (Data types) by introducing syntax that allows the user to specify data items that should not be generated. It may overlap with donation 5, and to a certain extent with the language being developed under Accellera. 5. Object Oriented Extension This donation was contributed by Jeda Technologies, Inc. This donation overlaps with donations 1 and 4, with IEEE 1647, and with the language being developed under Accellera. It addresses important aspects which have to be covered by Verilog 2005. This donation provides specific constructs for: i) Classes, Data types, and Pre-defined classes (e.g. Arrays, Hashes, Lists, Random constraint class, etc.) overlaps with: 2, 4, and Accellera's work ii) Aspect programming iii) Parallel execution, Synchronicity and Mutex primitives iv) Cycle simulation test bench support overlaps with 4 and Accellera's work v) Generic interconnect Each group of constructs mentioned above can be implemented in the LRM by a different small task force. 6. Separate Compilation Extension This donation was contributed by Fintronic USA Inc. This donation has been created by Fintronic USA, Inc. using only it's own funds. It is already implemented and shipping for over one year. Separate Compilation is a must for a modern HDL. It can be used for libraries of tasks, IPs, modules that do not change often. At this time Verilog users have several options to address the lack for separate compilation. Each major simulator vendor supports in a non-standard way incremental compilation. The OMI standard provides a standard way to use separately compiled designs, but introduces a performance penalty due to an additional layer of PLI and an additional simulation kernel for each separately compiled description. It is time to come up with a better solution. This donation is complementary with a donation with a similar name made by Mentor to Accellera. The Mentor donation provides the use of packages in Verilog. The Fintronic donation consists of a set of restrictions for both the separately compiled Verilog and for the Verilog that uses separately compiled descriptions. The donation describes Fintronic's implementation so that other implementations for other simulators can be easily made. As the constructs in this donation do not depend on other donations already made to the IEEE, the work of writing it into the LRM can be done by a small task force that will consider the OMI standard as well as the work done under Accellera for packages. 7. Systemtask-based Randomization Library This donation was contributed by Cadence Design, Inc. It extends the randomization capabilities of Verilog by supporting the randomization of values in any variable, in any instance/scope, with constraints. Constraints can refer both to variables and to nets. The new systemtasks support the enable/disable of randomizations, provide the generation seeds, the availability of a global seed. This donation is almost completely implemented by Cadence in NC Verilog. It does depend in a simple way on the available data types for variables and nets. Currently it is specified to support all data types existing in Verilog 2001. It overlaps with (i) the existing $random mechanism which it extends, (ii) donation 4 from Verisity which provides syntax for specifying constraints and and generators as opposed to the programmatic approach proposed by Cadence, and (iii) donation 5 from Jeda Technologies which provides a special class for randomization. 8. Transaction Recording This donation was contributed by Cadence Design, Inc. It provides a set of systemtasks that can specify transaction streams to be recorded, as well as linked based on dependency. The recording is done in an extension of VCD. This donation depends in a simple way on the available data types and classes however the dependency is not significant enough to prohibit the writing of the major LRM wording independently of any other work on the language. This donation does not overlap with any other donation. It affects donation 3 dealing with VPI, in that all transaction streams shall be accessible via VPI. What is not clear yet is the playback extension portion of this donation. 9. General Method for Future Extension of Verilog This donation was contributed by Cadence Design, Inc. It constitutes a proposal for adding a new design unit in Verilog, called package. This design unit shall have some restrictions as compared to modules, which will facilitate some operations (to be addressed later). The motivation for this new design unit is to share complex data types between modules without having to use external references, by using the "import" construct, which could import all definitions via p.* or just p.mytype. One advantage seems to be that a compilation dependency between design units could be easier specified without adding a supplementary dependency rule on modules. This could help separate compilation. This construct seems to overlap somewhat with the existing module construct which currently allows generic/parameterized design units to have multiple instantiations and provides for the sharing of objects in one module by other modules via external references. Syntactic sugar such as the with construct in Ada or VHDL could be added to avoid the verbosity of external references. The new design unit will have to include tasks as they are associated to operations on objects of certain types. As a result the new design unit will have to include: sub-scopes, variables, transaction recording, assertions, initial blocks (to initialize the state of the tasks), and perhaps always blocks in order to provide assertions of the best quality. The specific advantages of the new design unit need to be further addressed. This construct seems to overlap with the work done under Accellera under the name of separate compilation. Details, such as name conflict resolution, must still be addressed. ------------------------------------------------------- Comment: It is the opinion of the members of the CTF that several 2-3 people task forces operating in parallel could write the LRM wording for the various donations. Suggested independent task forces are: Encryption: Data types: Classes, and Pre-defined classes (e.g. Arrays, Hashes, Lists, etc.) Verification and Cycle simulation test bench support Aspect programming, Parallel execution, Synchronicity and Mutex primitives Generic interconnect Separate Compilation and packages: Randomization Transaction recording and playback VPI : this task force shall work after a substantial progress is made by all the other task forces , but NOT AFTER every other task force has finished its work.