[sv-ec] Comments on functional coverage


Subject: [sv-ec] Comments on functional coverage
From: Jay Lawrence (lawrence@cadence.com)
Date: Mon Nov 03 2003 - 11:51:59 PST


Sv-ec members:

Not long after today's meeting begins, I'll be driving to or at the
airport for todays meeting, not in front of a computer so I thought I'ld
email out my first round of comments.

David, I'ld appreciate it if someone could sort of track these sections
and let me know when I have a comment ;).

Thanks,

Jay

--------------------
Page 2 - Syntax 20-1
--------------------

Should the last line be something like:

        type_name variable_identifier = new (...)

(the type_name or covergroup_name is missing).

---------------------------------
Page 2 - second to last paragraph
---------------------------------

Why does "new" need to be invoked here? If this is a type-like construct
why not just declare an object of the type. This is more like and
instantiation (a word used later in the section) than an allocation.

---------------------------------------------------------
Page 6 - paragraph about relationship to clocking domains
----------------------------------------------------------

Why is this here? Does it imply some special sampling semantic? If you
refer to an object in clocking domain, you get the current value no
different than any other piece of code.

--------------------------
Page 8 - trans_item syntax
--------------------------

The use of -> in a place where a sequence is being specified will be
confused with implication. Maybe we should use '##' instead (I can't
believe I said that ....)?

Can a trans_item simply be a sequence name. This would allow much more
robust sequence expressions.

-------------------------------------
Page 9 - example toward end of 20.4.1
--------------------------------------

I refrained from commenting earlier on the syntax of bins reusing curly
brace {} in yet another way, but the expression:

        bins sb[] = (4 -> 5 -> 6, {[7:9],10}->{11,12});}

Hurts my brain with {}, (), [] all in the same syntactic item.

------------------------------------
Page 10 - Example near end of 20.4.3
------------------------------------

Should the 'x's in the following be '?' ?

        wildcard bins T0_3 = (2'b0x -> 2'b1x);

----------------
Page 10 - 20.4.4
----------------

OK, Im going to die now ....

Why in this one case does the proposal thing a "standard attribute" with
semantic meaning is a good idea? I've been espousing this usage for the
last year and been soundly beaten about the head and neck for being
outlandish and ridiculous. Don't get me wrong, I like this but if we are
going to use it here we should revisit about 30 keywords in other places
and all the "options" in this proposal and define them as standard
attributes.

Note, in our 1364 proposal on the topic we recommend that these
"language-defined" attributes occupy a new names space and begin with $
to prevent name collisions with user-defined attributes so this would be
$illegal.

---------------------------
Page 12 - .intersect syntax
----------------------------

What kind of operator is .intersect? Is this an infix operator with a
'.' in the name? Is it a method on the return type of "binsof"?

--------------------------
Page 14 - Coverage options
--------------------------

What is this "option" thing? Is it a class? A structure? A module?

Why can't all these be done with something like an attribute? Or have an
API that sets them like $rand_mode sets the value of things.

------------------------------
Page 21 - Event Control Syntax
------------------------------

This should be an entirely separate proposal considered as a separate
extension, it is is unrelated to covergroups.

===================================
Jay Lawrence
Senior Architect
Functional Verification
Cadence Design Systems, Inc.
(978) 262-6294
lawrence@cadence.com
===================================



This archive was generated by hypermail 2b28 : Mon Nov 03 2003 - 11:58:31 PST