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