[sv-ac] Review of Mantis 3033 proposal

From: Thomas J Thatcher <thomas.thatcher@oracle.com>
Date: Mon Jul 25 2011 - 10:15:37 PDT

Hello Everyone,

This is my review of the latest Mantis 3033 proposal.

1. At the start of the proposal, but the Mantis number and one-line
description. I know that in the motivation section you list all the
Mantis items covered, but this is primarily Mantis 3033. The reader
should see that as the title of the proposal.

2. I don't know if this matters . . .
The {attribute_instantce} was added in the BNF for checker declaration.
However, in modules, the {attribute_instance} appears inside the
definition of module_or_generate_item. If we wanted to be consistent
with the structure of the module BNF, it seems that the
attribute_instance should appear in the definition of
checker_or_generate_item
On the other hand, the Module BNF has one more level of hierarchy.

3. 17.3 Checker Instantiation

A paragraph of strikeout text got lost here. It's also missing from the
reference text. Do you intend to keep this paragraph now?

  -- If the checker is instantiated within another checker, then all
     formal arguments are considered to be directly connected to their
     actual arguments, as in a module instantiation. . . .

Regarding the deprecation of "always" within a checker:

Anupam has discussed the pitfalls of using sequence.triggered() in a
combinational context. It seems that it is more useful to use the
triggered function as an event to trigger something:

        sequence txn_complete;
                @(posedge clk) req ##1 ack [->1];
        endsequence
        covergroup cg;

        always @(sequence.triggered()) begin
                cg.sample()
        end

The intent is to call the covergroup sample method only on cycles where
the sequence txn_complete matches. Is a sequence triggered method one
of the legal event types for an always_ff? If not, then I would oppose
deprecating the always construct within checkers.

"The following example illustrates usage of free variable assignments."
This paragraph and example now seem to be out of place. The bullet
directly above is talking about use of the triggered method on the RHS
of an assignment.

17.7.3 and 17.7.2
The section "Checker variable randomization with assumptions should be
numbered 17.7.2, and the section "Scheduling semantics" should be
numbered 17.7.3 (They are in the correct order, though.)

Tom

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Jul 25 10:16:19 2011

This archive was generated by hypermail 2.1.8 : Mon Jul 25 2011 - 10:16:23 PDT