Subject: [sv-ec] Minutes from 27 October meeting
From: David W. Smith (David.Smith@synopsys.com)
Date: Mon Oct 27 2003 - 23:55:09 PST
Greetings,
The minutes andaction items for today's meeting are posted on the web site.
Here is a local copy.
Regards
David
SV-EC Meeting Minutes
27 October 2003 11:00 am. Monday
(rrrrrrrrr)
Voting Members (3/4 or > 75%)
(aaaaaaaaaa) Arturo Salz (Synopsys)
(-aaaaaaaaa) Brad Pierce (Synopsys)
(--aaaa-aaa) Cliff Cummings (IEEE 1364)
(aaaaa-aaaa) Dave Rich (Synopsys)
(aaaaaaaaaa) David Smith (Synopsys)
(-aaa-aaa-a) Dennis Brophy (ModelTech)
(aaaaapaaaa) Jay Lawrence (Cadence)
(aaa-aaaaaa) Michael Burns (Motorola)
(-aaaaaaaaa) Mehdi Mohtashemi (Synopsys)
(aa-aaaaaaa) Neil Korpusik (Sun)
(--aaaaaaaa) Ray Ryan (ModelTech)
||||||||||_ 27 Octobter
|||||||||__ 20 Octobter
||||||||___ 13 October
|||||||____ 29 September
||||||_____ 15 September
|||||______ 2 September
||||_______ 18 Aug
|||________ 4 Aug
||_________ 21 July
|__________ 7 July
Non-Voting Members (attendance based)
(------a---) Chris Spear (Synopsys)
(-----s----) Francoise Martinolle (Cadence)
(--a-aaa-a-) Jeff Freedman (ModelTech)
(---a------) Stefen Boyd (IEEE 1364)
(-a---a----) Stu Sutherland (IEEE 1364)
Guests (non-voting)
(--a-a-a---) Don Mills (LCDM Engineering)
(-----a----) James Young (HP)
(-a--------) Kevin Cameron (National)
r => Regular meeting
x => Extra meeting (Presence counts for attendance, absence does not)
a => Attended
p => Attended by proxy
s => Attended as proxy
- => Missed
Action Items:
[identified with AI (#) in this text, # refers to AI number]
Added this week (please see the site for existing action items):
AI-31 (Arturo): Modifications to EXT-9 from meeting
12.14: Add note on hierarchical reference not being support to
randomsequence.
12.14: Add note on recursion causing looping.
12.14: Change rs_type_declration production to use "function_data_type"
instead of "type_identifier"
12.14: Investigate adding the return type before the production instead
of as a separate declaration.
12.14.4: Change positive to non-negative.
12.14.4: The "break" from the repeat production statement takes out
of the randsequence (forward reference to 12.14.6).
12.14.5: Add clarification that the order maintained is relative not
exact.
12.14.5: In last sequence example CADB is duplicated - replace
first with CABD.
12.14.6: Add comment that "break" works as normal within the loop
procedural statement.
12.14.6: Add statement that only one default can be used in case.
12.14.7: Update the examples use of popf and pushf to be consistent
with example in 12.14.
12.14.7: Fix production LIST where closing brace is incorrectly a
parenthesis.
12.14.7: Remove "is" from "in function GenQueue is executes,".
12.14.7: Add comment that "int ITEM" is a production return type
declaration and not a variable declaration. Also add the
comment to "DSL PACKET" declaration in the last example.
AI-32 (Neil): Rework 20.1 in EXT-10 to simplify and reduce.
Font on "a" in second sentence is incorrect.
Mark 20.1 as information.
DUT is used but not defined.
AI-33 (Arturo): Modifications to EXT-10 from meeting
20.2: Add "be" to "instance can created"
20.2, 20.3, 20.4: Examples have incorrect font usage
20.5.1, 20.6, 20.6.1: Replace endcovergroup with endgroup
20.6: Change comments from italics to regular to match LRM
Minutes 10/27/03 taken by Mehdi Mohtashemi
1. Review of meeting minutes from 20 October 2003 meeting
Ray: Correct the Face to Face meeting being on Tuesday Nov. 11 from 1-4.
Motion: Accept the minutes from 20 October 2003 meeting with correction.
Moved: Ray
Second: Michael
Abstain: None
Against: None
Passed
2. Review of Open Action Items
AI-5 (Arturo & Cliff): No progress
AI-18 (Unassigned): No progress
AI-23 (David): No progress
AI-26 (Arturo): No progress
David: All other action items are closed.
3. Review of Inter-committee dependencies
Semantics of disable as applied to task/func. arguments.
Further conversation with Swapnajit indicate that this has been
moved to SV-BC and we do not need to handle it.
4. Review of Errata list
Open:
ERR-42: Schedule region questions and problems (from SV-BC)
Arturo: This is the same as AI-5 and we do not need to do anything
here.
David: Looking for volunteer to handle.
Arturo: This is the original message from Cliff and is AI-5
Assigned:
ERR-4 (Arturo): Automatic variables in fork/join_none
ERR-8 (Dave): Using event control with methods
ERR-19 (Brad): Automatic outside of tasks/fcns/blocks illegal?
ERR-20 (Arturo): Fix example in Section 9.9 dependent on ERR-4
ERR-21 (Arturo): Fix example in Section 9.9 for wait on all processes
ERR-41 (Dave): Scheduling region questions and problems
Proposed:
David: Any questions on the Erratas listed for email vote, we are not
going through each one, mainly through questions.
Voting ends: Friday October 31st, 5:00pm PST.
Jay: As we add these, we should probabely discuss it further in
face-to-face, consolidate these discussions there.
David: Since there are no issues and questions, lets move to the
extensions....
5. Review of 3.1a Extensions and discussion:
EXT-9: Stream Generation (45 minutes)
Continue review starting at 12.14.2
Jay: Generic comment. Queues are a good example of issue we will run up
against. Packages will bring in new types and classes that could be
consolidated.
Jay: One point of confusion was when it executes (continuously when
hit). Should we call it randloop since it can run forever?
Arturo: Only if you write it that way. It does not have to loop.
It does not seem quite accurate.
Jay: I am not sure if it is the name name, or it should look different,
such as describing how long do we stay in the state.
Arturo: Not-necessarily.
Jay: Second thing, for putting these in task and passing arguement,
whether it is useful to parametrize them. Use it in a task and
tell it when to start, if you have seen a need for it.
Some need to have these labels so as to be able to pass them.
Lables only, we may need a way to declare them. Have you run into
this need.
Mehdi: Some capability of controlling these productions through
parameterization or through state assignment.
Arturo: On where to begin?
Mehdi: Not for each production. They have asked to control when
to start.
Discussion for more elaborate productions.
Ray: There is a different way without making the production visible.
For example to give them probability and making it explicit,
switch statement for the metastate.
Arturo: But it is there, case statement should do it (12.4.3).
Jay: Was going down the route of making randcase a special case of
randsequence. I surrendered at some point.
Arturo: Maybe we should add a comment that this can loop.
Also a repeat shorthand.
David: AI to add a comment, for explaining the looping,
12.14.3 case statement.
Neil: Intended to have case to be the same, for example x,z, length,
number of default case item, none is described here, is it the same?
Arturo: It is a subset of that, it is not executible, but productions
only, it is a little different.
Ray: is the ambiguity shown by the < procedural code,
Arturo: In that procedural code you can have casez and/or casex.
Michael: essentially redoing these procedural constructs, except
in this context, are we doing this for foreach, labels and goto
statement, how about labeling any statement and introduce goto.
Arturo: Goto was rejected in 3.0,
Ray: Purpose is more convenient, than capability.
Arturo: If you had a grammer, you can redo this, you have to rewrite
the grammer, it is what Ray says, convenient.
Jay: What makes it strange, it is the context, where these productions
occur. Without adding gotos into the language if there were
declaration of these productions.
Ray: Actually it is more than goto, it is a call.
Michael: Randsequences, are sort of task declaration, more than that,
each productions is task,
David: You can look at like you execute the first 'task', return.,
not the overhead of tasks. It does not fit into what exist today...
David: what does it mean to have one production refer to another
production.
Brad: So a nonterminal is now a label?
Jay: maybe need to add some stuff.,
Ray: Now, if you have a main, lose the scope for function calls.
Looks like a grammer, used in reference.
Brad: Yacc produces derivation based on flat text, this generates ..
you do not need a stack, looking ahead, go forward, yacc builds
state machine to take care of that, here you do not need it.
Neil: One comment about scope, different task and this, there is
scope created.
Arturo: Just like the rest of system verilog.
Michael: The code block creates the scope.
Jay: Why not begin...end for code segments.
Arturo: You could do this, but it looks uglier, does not add to clarity.
Jay: What does it mean, can you name object, .. otherwise we can
use begin end, if it has a name .
Arturo: My conclusion was not to use begin/end, the {}, to show ..
Jay: Are we adding new code block to the language, we can make one
caveat, equivalent to begin/end block and label them.
Arturo: How do you get to the labled blocks?
Michael: How do you get to the randsequence?
Arturo: You have to give it a name, and then get to it.
Jay: Both the randsequence and inside, are creating new blocks.
David: No heirarchical references to randsequence.
Jay: If you do want it, where does it go, statement label on
randsequence to allow the heirarchical references.
Dave: The defenition of labeled sequence would allow R0:
Arturo: The first statement of randsequence should be label.
Brad: How do you know you are in one of them?
Jay: Have to maintain the state and note that the statement is valid.
Arturo: What is the mechanism?
Jay: If the scope comes to existance, can it have a name?
Ray: Would a reasonable name be the production name?
Arturo: Just like yacc.
Ray: It could only have one code block?
Arturo: There is a probability that you can have one code block
after that.
David: Have not heard any answer, no consensus on what is proposed.
Arturo: You can not have heirarchical references,
Ray: Heirarchical names, maybe an issue for example in gui where you
want to see where we are.
Arturo: Valid issue for debugging,
Jay: As generating stimulus, it is legitimate, but writing state machine
in their design, it does not allow it.
Brad: Would people do random state machine with this?
Arturo: No you do not.
Michael: You would not write it like this, but you would for example
not write or construct. You would use the special if or special
case, to write it.
Arturo: You can parametrize them, it can be a system level stimulus,
the control is not explicit, but in the probability, it would be
stretched to do it without random. Not a statemachine generation
mechanism..
David: how can we make progress?
Jay: Ther is a heirachical name issue, if answer is no, then we
need to say this.. Second item is the control statments,
and what we do with those, if there is someway we can make
productions explicit so we can use the regular control
statements within the language.
David: Does this mean that case statement with some prductions,
some with statements.
Ray: Sounds like 'lightweight tasks',
Arturo: What would be the name, the thing on the left?
Jay: On the right handside you do not need {}.
Arturo: You can do this today,
Dave: What is being said that randsequence is creating combination
of labels.
Arturo: But that is not what it does, it returns values, you can
pass parameters to them, they are not just gotos.
Michael: They are things here that looks like other things in
the language, to satisfy me i need to redo this whole thing,
David: No one has any proposals to do this, implementable proposals.
Important thing that is brought up, heirarchical names, etc, will
take a while.
Jay: There is another alternative, not to take it, not ready, do
not have any more sepcific comments.
David: Idea of adding heirarchical reference, would have to be
proposed to add it in, since it is not in the proposal. When we
go into 14.3, 14.4, sections on control structures, somewhat
different semantics/syntax constraints possibly,
any other issues with those.
12.4.4:
Neil: On the repeat, same points comes up, integral values,
non-negative, etc.
David: If it includes 0, it should be non-negative,
Arturo: I could see including 0.
David: So we have to make the changes.
12.14.5 randjoin,
Neil: Making the order of each sequence, it should say the 'relative'
order of each sequence.
Arturo: Length is known each time, deterministic order.
Neil: There maybe a typo in the last example. First one should be CABD.
Ray: Couple of questions, effect of doing prioritizing, you tend to
stay with the sequence, if the original length of sequence is
same. priority.. What motivates this?
Arturo: If length is same you do get that. This is from writing
transactions, different boundary conditions, queues as
many transactions, the other one many transactions from
different nodes. When length is same, probability to switch
between one to another,
Ray: Do priorities 0 and 1, does it give you probability of selection
or priority of selection. One takes the longest, does the
value correspond to the probability choice?
1 more unlikely than 1.75?
Arturo: The useful values are 0, 1, and 0.5
David: There is nothing to be changed in the description.
12.14.6
Neil: The use of break is different than procedural breakl; it breaks
out of the whole sequence, another place where incosistency of
usage of break. This is inside the code block, so we can
loop inside,
Arturo: If you have loop, you are breaking out of loop.
Ray: Is there an advantage to re-using the same keyword.
Neil: It could end the current production, granted the return
keyword does this.
Brad: You can put a break in there, inside begin/end.
David: It would have to be inside the structure, the break does
the closest enclosing control structure.
Neil: With the clarifications today, it becomes more consistent.
Michael: Repeat is control structure, is there a way to break out
of the repeat loop?
Arturo: No, break out of the entire randsequence, where should
the explanation go, in repeat or break?
Michael: I would prefer to see a forward reference in the description
of repeat.
David: AI to add the clarification on 12.4.6, as well as the
forward reference to break.
Brad: Is there language that case statement that there has to be one
default statement. BNF can not limit it.
David: AI to add statement on single default statement.
12.14.7
Neil: First example is re-write of page 2 example, intent was to
be consistent. Also typo on page 7 in first example, list
middle paragraph, also variable called ITEM, production
called ITEM, page 7, could be confusing.
Paragraph after example has extra is.
Arturo: It is the declaration that defines the production return type.
It is defined in the previous example.
David: Lets repeat the comment,
Ray: In the previous example the operator is production return
statement.
Brad: Can you put void to declare them all, production return type
to be called void?
Arturo: It would be ok, need to think about it. Is void a type
identifier?
Brad: Looks like a type identifier is something you typedefs.
Do you want any data type? Function_data_type allows you to
use void.
Arturo: Clarifying.
Brad: You may put void if you wish, it can not return an expression.
Ray: Why not put the return type infront of production name, where it
is declared?
Arturo: May make the grammer more complicated.
Neil: It may simplify the understading of it, ambiguity of this
being a parameter.
David: Any need for more discussion? We will vote on this at the
face-to-face meeting, but would like to get the questions available
and on the reflector before the meeting so we can just vote.
AI on the above EXT-9 will be brought up for a vote at the
face to face meeting. dial ins will be provided on face-to-face
EXT-10: Functional Coverage (30 minutes)
David: Has anybody had a chance to look at? Is everybody familiar
with the concepts discussed in proposal?
Michael: Yes
Neil: Yes
David: Then we can go into the language constructs instead of providing
background.
20.1
Neil: It seems to be long winded, more informative.
David: Will you take the action item to reword it?
Neil: I can take a look at where it should be.
David: It is intended to be informative.
Neil: There seems to be 6 new keywords, did make it through whole
item once.
Michael: DUT is used but not defined.
20.2
Neil: Typo on endcovergroup vs endgroup on pg. 11
Discussion indicating a number of typos or formatting issues captured
in action items.
Neil: Font problems as well, page 4 last two examples,
Brad: Page 13, comments are italicized, not like the rest of LRM.
Ray: First paragraph of page, a is different fonts..
David: Looks like we need a new version of this document, fixing
typos, incompletes, etc. Will try and get it out before the
next meeting.
David: section 20.1 to Neil in source .doc, to re-arrange.
6. Meeting Logistics
Discussion of going to weekly meetings.
David: Would like to propose we have a weekly meetings in November.
Jay: I would prefer not to have the weekly meetings. Vassilios
indicated that if we do not have time we would adjust the schedule.
David: That is what i am doing, looking at the schedule and trying to
work with the time frame, this would mean two additional meetings,
the 3rd and 17th,
Next week, Monday November 3rd, 12 to 2:00pm pacific time,
mainly on functional coverage, would not count towards attendance.
Please send out more questions on these by email.
Reminder on Face-to-Face meeting on 11 November from 1:00pm until 3:00pm.
October 27
EXT-9: Stream Generation (7 pages) (completion)
EXT-10: Functional Coverage (18 pages)
November 3 12:00 to 2:00 (Pacific)
EXT-10: Functional Coverage (18 pages) (completion)
November 10
EXT-3: Virtual Interfaces/ports (5 pages)
November 24
EXT-7: Reacting to Assertions (3 pages)
EXT-12: Bitsream support (6 pages)
7. Next meeting:
3 November 2003 from 12:00pm to 2:00pm Pacific time.
8. Close of meeting at 12:58pm
This archive was generated by hypermail 2b28 : Tue Oct 28 2003 - 00:04:39 PST