[sv-ec] Comments on Section 20


Subject: [sv-ec] Comments on Section 20
From: Stefen Boyd (stefen@boyd.com)
Date: Tue Mar 04 2003 - 17:44:27 PST


1) Since the only thing that can be randomized is
         a class, this whole section should be a
         subsection of 11. At least it should be
         just after 11. If added to section 11, some
         of the sections may need to be grouped as
         this would be a large subsection in contrast
         with lots of tiny ones.
    It seems natural to group this with section 11
         since the bnf for 11 will include most all
         of the rand stuff since it's part of the way
         classes are declared.

2) All the rest of the testbench donation avoided
         creating reserved words "on" and "off" but
         here they are again with $constraint_mode
         and $rand_mode. Someone (Arturo) needs to
         come up with alternate syntax soon (I need
         it for the bnf).
    It would appear that these should simply be methods
         for use on either an object or it's members.
         Especially since they can't be used with multiple
         objects at the same time. How about rand_on()
         rand_of, constraint_on(), constraint_off()?

3) If we don't already have an issue open for the
         random algorithm, we should have one. Granted,
         constraint solving may not be able to be
         specified, but given no constraints, the same
         random members of a class should have the same
         sequence between different implementations. The
         random algorithm used for all randomization w/o
         constraints should be identified (randomize(),
         $urandom, $srandom, $urandom_range)

4) Section 20.7 - Paragraph beginning with "value_range_list"
         ends with statement that "The bound to the left of the
         colon MUST be less..." What if it isn't? Is that an
         error or do you get the empty list? Is this only a
         compile check? Is it possible to get variable
         values in ranges that would violate at runtime?

5) Section 20.6 - Inheritance: The last bullet doesn't belong
         here. It should go in 20.13.2.

6) Sections 20.5 through 20.12 should all be 20.4.1 through
         20.4.x since they relate to constraints. 20.16 through
         20.18 should also be moved to subsections of 20.4.

7) All bnf for the constraints should go into one spot (in 20.4).
         Unless it's a problem, I'll have Stu make the necessary
         changes when I give him the BNF syntax boxes.

8) Section 20.13.2 - pre/post_randomize(): Super is being checked
         in if statement to see if it's true. Seems that we need
         consistency between object handles and the handle type.
         I like this shortcut for "super!=null" (that is what it
         means isn't it?), but if we can do it here, we should be
         able to do it with the handle data type.

9) Several references to "scalar" that should be "singular"

--------------------
Stefen Boyd Boyd Technology, Inc.
stefen@BoydTechInc.com (408)739-BOYD
www.BoydTechInc.com (408)739-1402 (fax)



This archive was generated by hypermail 2b28 : Tue Mar 04 2003 - 17:47:26 PST