SV-EC Meeting Minutes 28 October 2002 Active (At one or more of last 4 meetins) (a-aaaa-aaa) v Cliff Cummings (Sunburst) (aaaaa-aaaa) v David Smith (Synopsys) (-aaa-a-aaa) v Dennis Brophy (ModelTech) (---aaa-a-a) v Francoise Martinolle (Cadence) (aaaaaaaaaa) v Karen Pieper (Synopsys) (aaa-aaaaaa) v Kevin Cameron (National) (---a-aa---) n Kurt Takara (0-in) (--a--a-a--) n Michael McNamara (Verisity) (aaaapaaaaa) v Mehdi Mohtashemi (Synopsys) (-aaaaaaaa-) v Neil Korpusik (Sun) (-aaaaaaa-a) v Stefen Boyd (Boyd Technology, Inc.) (-aaaaa--a-) n Tom Fitzpatrick (Co-Design) (-----a-a-a) n Tim Corcoran (WHDL) (---------a) n Don Mills (LCDM Engineering) (-----aa-aa) v Brad Pierce (Synopsys) (--------aa) n Stu Sutherland Inactive (Missed last 4 meetings) (--a-------) n Adam Krolnik (LSI Logic) (---a-a----) n Alec Stanculescu (Fintronic) (-aaa------) n Dave Kelf (Co-Design) (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) (-----a----) n Arturo Salz (Synopsys) (-----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: Fix bad link on web site for latest proposal from Kevin on Alias. 2) Kevin: Update Alias document and complete review on email 3) All: Review Alias changes for final vote at next meeting Stefen Boyd Smith took the minutes. 1. Review minutes from the 30 September meeting and approve David mentioned that web site update with status of open issues. Tim C. Propose acceptance Stu second passed / Stefen Boyd abstain 1a. Meeting schedule Next meeting (Nov 11th) during ICCAD - David will cancel unless someone else can run the meeting (Mehdi may run). Nov 25th Meeting - David may run from home 2. Review Action items (see minutes from 14 October meeting - Kevin has outstanding item) Action Items: 1) Kevin: Update proposal for Alias with committee feedback. Update propsal sent out Wed Oct 16 Link on web site points to wrong version (David to update). 3. Review Enhancement status and proposals. Cliff - Observed LRM style language. Proposed changing the follosing sentence: Any net data types can be used in an alias list as long as the resulting connections do not violate the rules for net connection that would apply if the nets were being joined at a port, reg data types cannot be aliased. WITH: Any net data types can be used in an alias list as long as the resulting connections do not violate the rules for net connection that would apply if the nets were being joined at a port. Variable data types cannot be aliased. Wants example with multiple equivalence (gave example): wire [15:0] busa, busb, busc; alias busa = busb = busc; Stu - Probably can go somewhere near other type declarations. Cliff - Wants to use it with .* port connection Stu - Concerned about $root interaction ? - Should have restriction for no hierarchical refs Cliff - How about section 3.9? Francoise - Doesn't belong in data types... is declaration. Agrement to put it in 5.7 Kevin to provide example to show multiple aliases. Added restriction - Must be defined before use and after declarations for the net types being aliased. Allowed where nets can be declared. Cliff wants to add same implicit scalar declaration for alias as with continuous assignment for 1364-2001. Also restriction that sizes all have to match. Kevin to put out new version incorporating all changes List of changes are (summary from David): a. "joined at port" change from Cliff above b. Restriction on reg data types not bein alised changed to variable (as above) c. Example of multiple assign. d. Example on assigning to multiple nets/regs in single statement e. Require declare before reference f. Define where it can be used (where nets/regs can be declared) g. Provide implict scalar declaration (as above) h. Show compilation error if violation i. Add section after Notes: as an example of illegal declarations David - Next meeting or meeting after should get proposal for randomized constraints (Mehdi working on proposal in SV syntax). 4. Review Open Issues from testbench review. Start with REV-12. REV-12 - program block needed Stefen still wants to eliminate Mehdi still sees need for it. Separate semantics with special queue avoids races. Assertions can be used inside and outside program block... cycle based semantics gained by using clocking_domain. View program block as sort of module with attribute that gets cycle semantics. Stefen - Wants unified language with same semantics. Can get cycle if desired by using signals from clocking_domain. Mehdi - stimulus generation David - What's unique to a program block (that can't be put in a module)? Mehdi - tasks and methods are queued in special queue after nba queue. Stefen - but can't that be done other places using the clocking_domain? Mehdi - No. David - So unless we change a module, you can't do same thing as program block. Stefen - Assignment in program in special queue can still cause active event queue. David - Is there something unique about program block (What is fundamentally different from module)? Can we generalize clocking_domain so it can be used outside program block? Would like to hold off further discussion of REV-12 and REV-13? (Discussions will resume during LRM review) Mehdi will review program block. REV-14: Stefen likes Kevin's proposal Mehdi - Any variable in program block... not necessarily in clocking domain. Stefen - Just like program vs module, what is special about wait_var vs event control '@'. Can't we just eliminate wait_var and use '@'. Kevin - only example in LRM suggests '@' could be used instead. Mehdi - In program block, @ means something different. Kevin - donation says that it works like wait statement... only true values unblock. Mehdi will look into it to see if it's the same as event control. David will assign new issue number for wait_child. REV-15: fork/join none vs process Kevin - Name of process David - Was there a proposal for eliminating process? Mehdi - Yes it's in the donation... but don't have a way of naming the process with fork/join. David - Need way to get control of process. Suggestion from Co-design was to have process put handle into global space. Stefen - process fork join is the same as fork join none Are 'none', 'any', and 'all' keywords (will be an issue in 1364)? Stu - Yes, reserved words will be an issue Stefen - Move that fork/join none be removed in favor of process. No second David - Will rehandle issue when reviewing fork/join 5. Review LRM status and progress David - New document reconciling donation should be out before next meeting. LRM committee will then start working from it. Stefen - Is changes from the donation (such as removing existing SV functionality) going to be reflected in doc? David - Yes, but it'll be voted on explicitly. Mehdi will run meeting on the 11th.