Minutes of the sv-sc sub-committee meeting, July 22, 2008

=================Attendance=============================

   210021020220 Day
   258147306817
   000000000000 Month
   777766655444
   000000000000 Year
   888888888888

--[-----------a]   Arturo Salz          - Synopsys
vv[aaa-aaaa-aa-]   Abigail Moorhouse    - Mentor
--[-----------a]   Bassam Tabbara       - Synopsys
--[-----------a]   Brad Pierce          - Synopsys
--[-------a-aaa]   Cliff Cummings       - Sunburst Design
v-[aa--a--aaaaa]   Dave Rich            - Mentor Graphics
vv[aaaaaaaaa-aa]   Dmitry Korchemny     - Intel
--[-------a-aa-]   Don Mills            -
--[-------aaaaa]   Eduard Cerny         - Synopsys
tt[aaaaaaaaaaaa]   Erik Seligman        - Intel (chair)
vv[a-a-aaaaaaaa]   Francoise Martinolle - Cadence
vv[aaaaaaaaaaaa]   Gordon Vreugdenhil   - Mentor Graphics
vv[aaaaa-aaaaa-]   Jin Yang             - Intel
--[------aaaaaa]   John Havlicek        - Freescale
--[-----------a]   Jonathan Bromley     - Doulas
--[------a--a-a]   Karen Pieper         - Accellera
vv[aa-aaaaaaaaa]   Lisa Piper           - Cadence
vv[aaaa-aaaaaaa]   Manisha Kulshrestha  - Mentor Graphics
vv[aaaaaaaaaaaa]   Mark Hartoog         - Synopsys
--[------aaaaaa]   Mehdi Mohtashemi     - Synopsys
vv[aaaaaaaaa...]   Michael Burns        - Freescale
vv[aaa---aaaaaa]   Mirek Forczek        - Aldec
vv[aaaa--aaaaaa]   Neil Korpusik        - Sun Microsystems
--[----------a-]   Ray Ryan             - Mentor
--[----------aa]   Shalom Bresticker    - Intel
vv[aaa-aaaaaaaa]   Steven Sharp         - Cadence
--[---------aaa]   Stu Sutherland       - Sutherland HDL
--[----------aa]   Surrendra Dudani     - Synopsys
vv[-aaaaaaaaaaa]   Tom Thatcher         - Sun Microsystems (co-chair)
||
||---- Voting eligibility for current meeting
|------Voting eligibility for next meeting


====================Agenda==============================
1. Review the patent policy 
2. Approve the minutes from the last meeting, available at http://www.eda.org/twiki/bin/view.cgi/P1800/SvScMeetingMinutes20080715 
3. Review of Mantis items: Voice Votes (or agree to one more email vote) 
o 2434: 1549 update: self-determined types 
o 2398: Concurrent Asserts in Procedural Code: New semantics (passed but need to approve friendly amendments) 
o 1900: Checkers 
o 2088: Covergroups in checkers (failed due to lack of voters) 
o 2414: Let VPI (failed due to lack of voters) 
o 2396: @edge clk (failed due to lack of voters) 
4. Remaining work 
o 2182: VPI Diagrams for Checkers: Probably will not get completed in this PAR. 
o Last chance: missing any email votes? 
5. Opens? 
--- quorum ---

--- Patent policy considered reviewed  ---
Gordon moves
Dimitry seconds
Passed, na nc. (na = no abstentions, nc = nem con).

--- Accept minutes from last meeting, with Tom’s correction ---
Mike moves
Gordon seconds
Passed, na nc.

--- Manisha joins ---

Erik reviews time periods for voting. Suggests call tomorrow morning, compressed vote ends Thursday afternoon to allow for another vote before next week’s meeting. Gordon requests announcements in advance. Erik likes email votes because people read things carefully.. Erik plans 2-day email votes as suggested.

--- Jin joins ---
--- 2434 ---
Gord’s version updated per Mirek’s comments yesterday, July 21st (one doc one pdf). Mirek is OK with Gord’s changes (see emails for details). Gord notices typo umtyped for untyped, will fix. Voice vote on approving 2434 subject to this change.

--- Steven joins ---

Dmitry – Gord please review exact sentences he changed. Gord does so.

Gord moves 2434
Dmitry seconds

Mark Hartoog votes no – not needed, creates backwards compatibility issues. Clarification – not 100% sure about the note at the end, but the whole basic idea of casting these expressions to their self-determined type has the potential to create very subtle backwards compatibility issues per the face-to-face.
No abstentions

2434 passes 9 for, 1 against

--- 2398 next on agenda but moved down ---

--- 1900 ---
Voted down in the email vote, but now the issues that people raised have been fixed can we revote?

Mark – still some unaddressed issues, especially hierarchical references in the checker. Dmitry also asked whether it is legal to disable checkers from outside using hierarchical names? Lots not specified.
Erik: If not specified isn’t it allowed then?
Gord: a checker instance inside a sequential loop can’t be referenced because the sequential loop indices don’t create a hierarchical scope. Other sequential scopes may or may not be referenceable depending on whether there are automatics. At the top level, yes, within sequential code, lots of issues remain.
Erik: Is it really a problem, no mechanism provided?
Mark: Not sure the implementers can ‘figure it out’ and reach the same conclusion!
Gord: What are the semantics? Which assertions are affected, eg pending? Enough hooks or parallels in concurrent assertion state to provide reasonable extrapolation but agrees it is not well defined. Existing LRM constraints will prevent significant divergence. Doesn’t want to open it up completely. Risk is not high. Could possibly say ‘can’t reference something in a sequential scope’ – overly restrictive in long term but OK for now?
Mark: Can you hierarchically reference a sequence which is inside a checker instance, and can you access the checker vars and freevars?
Gord: What for? Would they then become dependent freevars based on the hier ref? Scary. Not sure exactly what to do.
Mark: What do we give up by just forbidding them?
Steve: Individually enable and disable assertions?
Gord: In seq block bad, outside seq block good?
Mark: It’s a packet/unit. If you want individual control, don’t use a checker!
Gord: Ok to say disallowed.
Mark: Would be OK with that.
Dmitry: Running out of time.
Neil: Waveform dumping – good point.
Gord: Independent of hier ref. All vendor tools can get at things that are not spec’ed to be accessible.
Neil: What about third party tools
Gord: VPI.
Erik: Conclusion?
Steven: Safer, not hearing opposition
Mark: 17.3 section
Steven: Or completely new sections? Or in the hierarchical reference section? Under ‘Hierarchy’ – section 22.6 ‘hierarchical names’
Gord: Yes, that’s exactly where we want it.
Erik: Add the sentence at the end of 22.6 “Hierarchical references into checkers (xref to checkers section here) shall not be permitted”.

--- Francoise joined ---
--- Lisa joined ---

Neil: (reviewed downref proposal) uses term static assertion statements in a checker.
Erik: Mirek caught this and it has been corrected in 2398. A static assertion statement is an assertion statement that is not in procedural code. Maybe needs a cross reference to this definition the first time it is used in 1900?
Francoise: Aren’t all static checker instances static? 
Mark: “all the data in a checker are static” near the bottom of page 3 – doesn’t like it – non-procedural would have been a better term because static means one copy per definition not per instance
Gord: Overloaded term!
Neil: Page 14 solution attempts are made new variables updated before the observed region. Proposed a solution but no one commented. 
“Variable updates are made as the first thing in the observed region”
Covergroups sample immediately they see their sample clock. We don’t know which value is being sampled in the cover groups.
Gord: The intent is “just before”!
Neil: We know that, but the LRM language is vague.
Steven: Does it happen in observed or doesn’t it! At the beginning of observed our region isn’t a bag any more! Whenever the clocking event happens it should trigger the update to happen and happens in the same region as the triggering clock. The covergroup will always miss it, if it is not looking at the same clock. If it is different events triggering the covergroup and the event then it is a race.
Neil: Knowing what it is going to do is better than having a race, but as worded, we don’t know what it is going to do, want to make it clearer. My suggestion is to make it “the first thing done in the observed region”
Gord: Normal bag of things in a schedule region are effectively scheduled events. Action-in-preparation-for-the-region is different.
Steve: Update to the value of the free value is an event
Gord: Responding to an update is a scheduled event, but a solution-point isn’t.. CF analog solution points. A solution point provides the basis for new updates. Alternative is to provide a new region, champions won’t like that.
Steve. But saying there is a special scheduling region is the same thing, just worded differently!
Gord: One special event is different! Solving is just one activity. Not a bunch of independently schedulable things. Find a single solution for the set of non-deterministic freevars.

Four changes:
1. Replace first sentence in second to last paragraph of 17.6.2 with  “When an implementation is about to begin the Observed region, it must solve for all the active free vars” 
2. Add this sentence at the end of 22.6 “Hierarchical references into checkers (xref to checkers section here) shall not be permitted”.
3. Add cross reference to the definition provided in 2398 the first time that the phrase “static assertion statement” is used in 1900
4. Add a cross reference to 22.6 on page 11 in bullet point near bottom, at the end of the first sentence where hierarchical mention is made.

--- 1900 vote conditional on previous four changes –
Dmitry moves
Mike Burns seconds
Neil abstains – no chance to review
Steven abstains – still scrambling, under-researched, risk of backwards compatibility, not voting no because doesn’t know of anything wrong.
Francoise abstain – no chance to review

Passes 12 voters present, 9 for, 3 abstain

Erik takes action item to implement the changes and will post by the end of the day.
Mike takes action item to review Eriks changes.

--- 2398 –
Erik: Already passed with friendly amendments. Mirek brought up that as phrased, if you have an expression that has a mix of constant and non-constant, then sample everything and substitute the constants. Not really an issue? Original phrasing was awkward but has been fixed. Suggestion for explicit section on sampling grammar, but for a future PAR..

Version posted this morning with changes in it.

Neil: 16.15.5.1 page 9. What is the pre-poned value first time through at simulation time 0 – isn’t it the default initial value? Corner case at time 0? Get rid of the initialization and leave the corner case undiscussed. Making it 9 draws attention to it.. not relevant to the point in question.

Erik: changes in response to Neil’s email – mostly they were editorial things – 
page 3 first para below example change “check” to “evaluated”
page 4 para below example “every other edge” change to “every other posedge”
page 12 disabling concurrent assertions – instances are “cleared from the queue” instead of “canceled”

Neil: intent was clarification, not meaning change.

Also add specific definition of “static concurrent assertion” per Mirek. Page 3 16.15.5
Francoise: What are the other ones called?
Erik: Procedural concurrent assertions – already defined
Steve: Even though almost everything about them is static!

Understanding that “Concurrent assertions outside procedural code are thought of as a static concurrent assertion” makes everything easier to understand!

Gord moves 2398
Neil seconds
Passed 12 for, na nc.

--- 2088 Covergroups and checkers ---
Neil: First example on page 3 has a problem
A covergroup with coverpoints each with two bins. Is it an editorial oops from Tom? Vote now, ask Tom to review whether or not the intent is that the values are both zero in the second, or that it matches the first case.

Neil: Moves to accept 2088, conditional on Tom’s input
Gord: Seconds
Abstain: Gordon based on email vote, likely to be substantive user-based issues resulting in implementation divergence. Risk factors are too high. Addresses current user needs, but will have future changes.
Steven based on same issues as Gord and hasn’t reviewed the proposal.
Mirek: No expertise in cover groups.
Manisha: Agrees with Gordon

Passes 8 for, 4 abstain, nc

--- 2414 Let VPI ---
Francoise: Is order important?
Steve: Isn’t that true for all iterations?

Abi moves: Conditional on vpiFullName property being removed
Lisa: seconds
Passed 11 for, 1 abstain, nc
Abstains: Mike Burns – not qualified

--- 2396 Edge Clock ---
Any recent changes? Only typesetting.
Neil: Unnecessary change being made. Last page at top - A.7.5.3 – timing check event definition? Sent email yesterday. 30.5 was not changed, so is inconsistent. Way to fix is to remove a.7.5.3 change.
Jin: Already discussion as to whether there is a more general discussion. See the ‘edge’ keyword description. 
Erik: What is the timing event control?
Neil: At a minimum, IF A.7.5.3 is changed, then LRM section has to change too (30.5). However, believes that the change is not required. 
Erik:30.7 and 30.2 also control edge control specifier in the grammar – can take out these changes too.
Jin: Edge control specifier is a more general concept. Conflicts with the keyword edge.
Erik: Has to be edge + brackets, need to add grammar that permits using it without brackets.
Neil: Not user we should vote this one – section 30 changes not sure correct.
Erik: Now using edge without brackets as a synonym for “posedge or negedge”? 
Steven: What about X-to-Z and Z-to-X? these are changes that are neither posedge or negedge?
Jin: Correct. Doesn’t trigger on X-to-Z or Z-to-X.
Erik: Proposal is correct as written but needs to be added to the grammar references in the LRM. See 30.7 === A.7.5.3 – already there. Is there another syntax box?
Neil: Do we even want timing checks to be able to use edges?
Steven: Timing checks have more capability than events do – odd that it is not a full superset. This makes it more regular and consistent.

Jim: Moves to accept 2396
Mike: seconds
Abstains: Lisa – just not sure, seems like there are other ways to do it.
Passes 11 for, 1 abstain, nc

--- 2182 ---
VPI for checkers is not going to be rushed through, leave for now.
Steve: Yes, given the schedule.

--- Do we need a meeting next week? ---

Leave the slot open for now, for possible champions feedback.

Next champions meeting is this Thursday. Agenda has already been set. Then again August 7, which will consider today’s input. No leeway if Champions have feedback.

Erik request that Neil mention todays votes at meeting to get early feedback if at all possible.

Adjourned.

-- ErikSeligman - 23 Jul 2008

Topic revision: r2 - 2008-08-01 - 18:19:42 - ErikSeligman
 
Copyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback