[sv-ec] Minutes from 20 October meeting


Subject: [sv-ec] Minutes from 20 October meeting
From: David W. Smith (David.Smith@synopsys.com)
Date: Tue Oct 21 2003 - 23:03:33 PDT


Greetings,
Here are the minutes from the last meeting (including the action items). They are also posted on the site.

Regards
David

SV-EC Meeting Minutes
20 October 2003 12:00 am. Monday

(rrrrrrrrr)
Voting Members (3/4 or > 75%)
(aaaaaaaaa) Arturo Salz (Synopsys)
(-aaaaaaaa) Brad Pierce (Synopsys)
(--aaaa-aa) Cliff Cummings (IEEE 1364)
(aaaaa-aaa) Dave Rich (Synopsys)
(aaaaaaaaa) David Smith (Synopsys)
(-aaa-aaa-) Dennis Brophy (ModelTech)
(aaaaapaaa) Jay Lawrence (Cadence)
(--a-aaa-a) Jeff Freedman (ModelTech)
(aaa-aaaaa) Michael Burns (Motorola)
(-aaaaaaaa) Mehdi Mohtashemi (Synopsys)
(aa-aaaaaa) Neil Korpusik (Sun)
(--aaaaaaa) Ray Ryan (ModelTech)

 |||||||||_ 20 October
 ||||||||__ 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-----) 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-29 (Arturo): Add the following list of changes to EXT-11.
 Section 4.14.1: Add "and rules except as defined below" to first
  sentance in section
 Section 4.14.1: Remove duplicate rule 4 (same as 2).
 Section 4.14.1: Add Z to the last two rules.
 Section 4.14.1: Fix typo of "then" in the next to last rule.
 Section 4.14.1: Is the use of "i.e." appropriate in the next to
     the last rule and should it be added to the last example.
 Section 4.14.1: Remove and from "argument passing and semantics"
     in NOTE.
 Section 4.14.7: Need to add argument to push_front.
 Section 4.15.1: Add new BNF for method that includes the with clause.
 Section 4.15.1: Add note to indicate difference with constraints.
 Section 4.15.1: Add note about order of evaluation not being defined
     and there side effects are unpredictable.
 Section 4.15.1: The "name" in "name item" in the last sentance in
     paragraph 5 needs to be emphasized (not clear what the emphasize
     should be).
 Section 4.15.1: Resolve first/last overload with associative array.
     Extend find_ to all methods.
 Section 4.15.1: remove "a" from 'value a or" in description of max
     function and change minimum to maximum in max function. Fix
     type of unique_inex in definition of unique_index method.
 Section 4.15.1: Define the type of the expression that can be used
     with the "with" clause.
 Section 4.15.2: Change it a semantic error to use with "with" clause
     with reverse and shuffle methods.
 Section 4.15.2: Change << 4 to << 8 in last example.
 Section 4.15.3: Add the following to each of the reduction methods
     (changing as appropriate for the method): ", or if a with clause
     is specified, returns the sum of the values yielded by evaluating
     the with expression for each of the array elements."
 Section 4.15.3: Add legal types of arrays for which array reduction is
     valid.
 Section 4.15.3 (second one): Change 4.15.3 to 4.15.4 (two of them).
    AI-30 (Arturo): Add the following list of changes to EXT-9.
 Section 12.14: Typos in BNF "task_portlist" goes to "tf_portlist"
      rs_case_item colon to optional.
 Section 12.14: Add BNF to A.6.12.
 Section 12.14: The display function is should have the closing brace
     replaced with a parenthesis on each of the examples.
 Section 12.14.1: weight description of positive to non-negative.
 Section 12.14.1: Add missing ; in example.
 Section 12.14.1: Add BNF section reference to BNF fragment.
 Section 12.14.1: Fix typo in "A weight is only meanigful".
 Section 12.14.1: Add "this implies..." to the last paragraph to clarify
     weight meaning.
 Section 12.14.2: Fix typo on "ensequence" in example.

Minutes 10/20/03 taken by Mehdi Mohtashemi

1. Review of meeting minutes from 13 October 2003 meeting
    Neil: The erratas were approved instead of accepted, all the votes were
 correct but there are some types. ERR-14 was labeled ERR-7.
    David: Changed the minutes to correct.

    Motion: Accept the minutes from 13 October 2003 meeting as ammended
    Moved: Neil
    Second: Arturo
    Abstain: None
    Against: None
    Passed

2. Review of 3.1a Extensions and discussion:
    Review and approval:
    EXT-11: (Dynamic Queue)
 4.14
     Arturo: Based on Verilog arrays but it resizes automatically. Use
  of $ for index in declaration and to retrieve end of queue.
  Walk through of example in 4.14 and 4.14.1. An empty array
  declaration is now used as an empty queue (to clear the queue).

     Michael: Is it intended to allow queues of primitive types or other
  types?
     Arturo: You can have queues of anything.
     Dave: Any place where you can use an unpacked array you can use a
  queue.
     Brad: But you cannot have an empty unpacked array.

     David: Open Ray's question of limiting to a single dimension.
     Ray: Then if not one-dimension can the by multi-dimension? Can I
  have a 2-dimensional queue with $ for both dimensions.
     Dave: Why is that a limitation.
     Arturo: Can be multiple dimensional. Can have a queue of queues.
     Dave: This is the specification of an index so can be an index.
     Arturo: You can have a queue of dynamic arrays, queue of queues,
  etc.
 
     Ray: I have additional questions when we get to the appropriate
  sections.

 4.14.1:
     Arturo discussed example plus slices.

     Dave: Need to add fact that a, b, and n are expressions.
     Neil: That was one of my questions. Lots of examples but not
  much text.
     Arturo: There are no new restrictions with respect to unpacked
  arrays.
     Dave: The key thing that is different is that the slice can
  have a variable width. The last section on page one is a
  set of rules and not examples. What is missing is defining
  that a, b, and n are expressions in the rules?
     Ray: c, d, and e can be handled by ...
     Neil: Yes rules, but did not answer my questions, looked at it in
  isolation, can look at it later, no need to duplicate
  everything.
     Ray: concatenation can answer some of Neil's questions
     Neil: maybe reinforcing the statement should be sufficient.
  all the same rules apply, should say this in there.

     Arturo: Every property of arrays still hold.
     Neil: If this is reempasized then it would be clear. So all of the
  same operations and rules apply.
     David: We should add to the first sentence that all of the same
  rules and operators apply, except as defined in the rules below.

     Action item AI-29 added based on discussion.

     Neil: Rules 2 and 4 seem to be the same
     Arturo: There is some redundancy here. Remove no 4.

     Action item AI-29 added based on discussion.

     Neil: Need to add support for Z in the last two rules.
     Neil: In the last rule, the word "then" is not needed.

     Action item AI-29 added based on discussion.

     Brad: Rather than saying what invalid index value, say what the
  valid ones are.
     Arturo: Replicating the existing LRM. The difference comes
  in with read and write. distinction there.
     Micheal: But it is not between read and write
     Brad: Then invalid depends on read and write operation.
     Ray: The paranthesis in example is defining.
     David: Not exactly true, you can write to +1,+2 but you can not
  ignore the first one.
     Arturo: Can do it in one shot, concatenation is done.
     David: Is $+2 is valid index value.
     Arturo: It is invalid, in read operation you get an empty queue.
     
     Ray: You can not say queue 10 is this value then the size is 10.
  Queue.10 is 5, to have 11 elements.
  Can target of queue assignment be slice of a queue? (Yes)
  If slice of queue is beyond the elements read (union of orig
  queu and empty element)
  How about target is beyond? left hand can be slice?
  Would like to define a queue of an explicit size with
  declaration with most of the items are undefined.
     Arturo: The left hand can be a slice but it has to exist.
     Michael: Bit select not the part select.
     Arturo: No difference we are using bit select for part select.

     Michael: Can go outside the existing range as long as it is only
  by one.

     Neil: Can I assign an array to a queue?
     Dave: With a casting operator covered in the bit stream casting.
     
     Neil: Array assignment?
     Dave: You will be able to with the casting proposal.
     Arturo: Section 4.7 discusses the arrays. For assignment like
  dynamic arrays. Static array and queue ...
     Michael: Last "and" is typo in the statement.

     Action item AI-29 added based on discussion.

     Ray: When asign a queue to another queue, if they are different
  size. Queue p empty, queue r 10 elements.
     Arturo: Yes, p will get 10 elements. Queues do not have to re-copy
  the entire array
     Micheal: The syntax is same for dynamic arrays and queues?
     Dave: Not exactly the same.
     Arturo: In dynamic array you can not reallocate some portion of
  array, have to re-allocate the whole array.
     Michael: Elements would shift when added, but implemntation.
     David: System Verilog has references, arguement references
  not declaration.

     Ray: Assign queues of different lengths does it matter?
     Arturo: A larger one extends new array and smaller one shrinks.
     Ray: Queue of queues does not have to be rectangular.
     Arturo: Correct.

 4.14.7:
     Neil: Looks required argument missing in prototype of push_front
  (push_back is correct).

     Action item AI-29 added based on discussion.

     Ray: These are only defined for one-dimensional array.
     Arturo: They only operate on a queue.
     Michael: Need an example of queues of queues.

 4.15.1:
     Neil: Shows list of arguments in method. Is it possible to have
  more than one argument?
     Arturo: There are no methods using list of arguments.
     Brad: This does not go into the BNF correct?
     Arturo: Covered by existing syntax. Need to add this to BNF
  due to "with".

     Action item AI-29 added based on discussion.

     Neil: Why are they inconsistent, {} in one place, () in another?
     Arturo: Constraints in one, then the other is part of expression.
  Add a note to indicate difference with constraints.

     Action item AI-29 added based on discussion.

     Ray: Can the with have side effects?
     Arturo: Not disallowing it but there are no guarantees. Not
  defining traversal order.
     Brad: Ususally do not describe areas where side-effects are
  allowed, vs describing where it is not allowed.
     Ray: Should state something about order of evaluation not being
  defined and therefore side effects are not predictable.

     Action item AI-29 added based on discussion.

     Dave: This is a general verilog rule.

     Neil: Bottom of page 3. Do the variables need to be declared
  when used with the with?
     Arturo: Example in page 4, x is not declared anywhere, type is
  known, scope is withing the with statement. x stands for
  array index expression.
     Neil: Is this an implicit declaration?
     Arturo: The scope of the x is only within the with rule.
     Dave: This is the same as the foreach.

     Arturo: It really is an alias. X is an alias for the queue in the
  first example. If you would like to think of declarations it
  is a reference to the element of that type.
     Neil: What kind of side effects?
     Arturo: There are none. Only the user code has side effects.

     Ray: "The name item" in the next to last sentance needs to be
  changed to. Put in courier.

     Action item AI-29 added based on discussion.

     Neil: First and last can be used on any arrays not just queues.
      First and last are already defined for associative arrays
  and are different.
     Arturo: Need to rename first and last to be something else.
  first_item and last_item?

     Action item AI-29 added based on discussion.
     
     Brad: find_first and find_last?
     Neil: There is a typo in max, extra and it should say maximum.

     Action item AI-29 added based on discussion.

     Neil: What if the type makes no sense?
     Arturo: It is a type error.
     David: What is the type of the expression that is legal?
     
     Ray: Does it not say expression has to evaluate to boolean?
     David: What is the legal definition for the expression?
     Michael: You need that operator for unique index.
     Arturo: The types that with a relational operator defined works.

     Action item AI-29 added based on discussion.

     Brad: Is < and > required?
     Arturo: Yes. C handles only one where it might be otherwise.

 4.15.2
     Neil: With clause ignored in reverse and shuffle. Why not an error?
     Arturo: Change to semantic error.

     Action item AI-29 added based on discussion.

     Neil: Last example shift by 4 or 8 bits?

     Action item AI-29 added based on discussion.
 
     Ray: Shuffle is not portable. Need to have algorithm and how it
  is used.
     Arturo: If we can define a mechanism it would be good. Not sure
  how to do it yet.

 4.15.3
     Neil: The array reduction methods do not seem that useful.
     Arturo: Sum method is used heavily. Xor for CRC calculation.
  The rest are there for completeness. Using reduction
  operators from bit vectors to upacked arrays. Need to do
  declaration and initilization. It would be a 4 line program.
  This is just simplification. Tests on RAMs this is used for.
     Neil: The sort routine is good to have but some of these are not
  necessarily needed. User can code it easily.

     Dave: Could we define the unary operators to work on these instead
  of new functions.

     Michael: for bitwise operator on say a byte element, do you end up
  with a bit or byte answer?
     Arturo: Byte answer.

     Arturo: Sum and product do not exist but the boolean do. I thought
  about it but would be changing some meaning.

     Arturo: This is convenience and less error prone. It is useful and
  people use quite a lot.

     Ray: This can be used any where not just in testbench?
     Arturo: Correct
     Ray: Add the same sort of description as on the other ones.

     Action item AI-29 added based on discussion.

     Ray: Do we need to say what the type consistency is?
     Ray: They must be defined for the element type or the expression
  type.

     Action item AI-29 added based on discussion.

     Ray: First two sentance of dimension ordering should be specified in
  4.15.1. Nevermind.

     David: Any other issues?

     Michael: You mentioned that X is a reference to the element.
     Arturo: You could think of this as that.
      The type is the type of the array and users cannot declare
  a method like this.
     Michael: This looks like it is an iterator that does not need to
  be dereferenced.
     Arturo: No mechanism to define a method with a "with" clause.
     Michael: Users would be perfectly happy with this. Implementation
  wise will have to figure it out.

     Ray: The intent is clear. What is an X? Have to handle x.index
  as special case.
     Jay: Not declared anywhere?
     Neal: It is implicitely declared?
     Jay: Is this a list of thing?
     Arturo: There is only one argument to find (and related methods).
     Jay: Only matching one element at a time.

     David: Will create an updatge version and send to the reflector.
  We will then have some reflector based question/answer and
  then vote on it (either email or conference call depending
  on timing).

    EXT-9: (Stream Generation)
 Brief overview by Arturo

 12.14:
     Neil: Shoud it be endrandsequence?
     Brad: Consistent with endcase for randcase
     Arturo: Sequence and properties both have endequence.

     Brad: There are two types in BNF, "task_portlist" should be
  "tf_portlist", because there is no taskportlist.
  In rs_case item the : should be optional on default.
  default:[..

     Action item AI-30 added based on discussion.

     Ray: Where is the rule for productions? Where is it allowed?
  One other change, where does randsequence occur.
     Arturo: Randsequence is the statement, it defines and executes.

     Michael: Production identifier just specifies the starting
  production. There is no name for the sequence.
     Ray: There is no instantiation of the randsequence.
     Arturo: Just a statement, that is correct.

     Michael: It is a procedural statement. Placed in always,
  it will execute over and over, either run through the rules,
  or break.

     Arturo: Brad has been consolidating function and task BNF.
     Cliff: Does this exist only in a program block?
     Arturo: No, anywhere, any other rtl. Does not have any states,
  It does not have internal state. It is the rules that are
  defined.
     Ray: It could have state if it has global variables.
     Brad: It can have an infinite loop.
     Arturo: Yep.

     Jay: This goes where in the grammer?
     David: In the BNF, in (behavioral statements) A.6.12 is
  possible.

     Action item AI-30 added based on discussion.

     Neil: Example in page 2. popf pushf defined in sequence not
  consistent. parens vs curly braces.

     Action item AI-30 added based on discussion.

     Michael: Could be useful to have define instantiate.
     Arturo: Can do by defining in class.

 12.14.1
     Neil: The integral values of weights say positive. Should we
  say non-negative.
     Arturo: Yes.
     Neil: Need ; in example?
     Arturo: It is missing.

     Action item AI-30 added based on discussion.

     Ray: Question on rs_rule. What does the weight specified apply to?
     Arturo: Only makes sense with the "or" statement for the
  distribution.
     Neil: There is a specification on this in the paragraph after
  the BNF.

     Arturo: a b c :=30 | x y z :=40 is meaningfull.
     Michael: No weight then it means 1. some weight leave some blank,

     Action item AI-30 added based on discussion.

 Start 12.14.2 next meeting.
     Typo on "ensequence" in example.

     Action item AI-30 added based on discussion.

3. Meeting Logistics

    David: Need to have meeting during week of ICCAD (Nov. 9-13). Two decisions
 required. 1/2 or full day. and Tuesday (Nov. 11) or Wednesday (Nov.12).
 This will replace the Nov. 10 meeting.

    Michael: Full day is difficult to do on the phone.
    Jay: Tuesday
    David: The meeting will be Nov 10, Tuesday from 1:00-4:00pm Pacific

    October 27
    EXT-10: Functional Coverage (18 pages)

    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:
    27 October 2003 from 11:00am to 1:00pm Pacific time.

8. Close of meeting at 2:03pm.




This archive was generated by hypermail 2b28 : Tue Oct 21 2003 - 23:17:19 PDT