[sv-cc] RE: resolution of remaining sv-cc LRM issues


Subject: [sv-cc] RE: resolution of remaining sv-cc LRM issues
From: David W. Smith (david.smith@synopsys.com)
Date: Thu Apr 10 2003 - 15:50:39 PDT


Thank you one and all.

I have update the files to show these changes.

Regards
David

-----Original Message-----
From: Joao Geada [mailto:joao@Synopsys.COM]
Sent: Thursday, April 10, 2003 2:25 PM
To: sv-cc; David Smith
Subject: resolution of remaining sv-cc LRM issues

(all page and section references are with respect to draft 4, page numbers
are LRM page numbers, not PDF page numbers)

LRM 40:
(page 279, section 28.3.1)
no, pragmas have to be used as attributes not sufficiently capable in the
current
revision of SV. Specifically, attributes can only be attached to a single
declaration,
whereas for FSM descriptions information needs to be attached to
declarations of multiple
variables/parameters, or to variable concatenations and part selects (for
which no declarative
item even exists to which an attribute could be attached).
It is proposed that these limitations be raised as an issue to be resolved
in SV 3.2

LRM 41:
(page 280, section 28.3.6)
Yes, enumerated types could also be used, but this use of parameters for
FSM modelling is common. In either case the pragma would be the same.

LRM 43:
(page , section 28.4.1)
Remove this section (VPI entity/relation diagrams related to coverage)
With the re-write below for LRM 44 and 45 these are no longer required

LRM 44:
(page 282, section 28.4.3)
Replace the body of section 28.4.3 with the following text:

To obtain coverage information, the vpi_get() function is extended with
additional vpi properties
that can be obtained from existing handles:

vpi_get(<coverageType>, instance_handle)
   Returns the number of covered items of the given coverage type in the
given instance.
   Coverage type is one of the coverage type properties described in section
28.4.2
   For example, given coverage type vpiStatementCoverage, this call would
return the number
   of covered statements in the instance pointed by instance_handle.

vpi_get(vpiCovered, assertion_handle)
vpi_get(vpiCovered, statement_handle)
vpi_get(vpiCovered, signal_handle)
vpi_get(vpiCovered, fsm_handle)
vpi_get(vpiCovered, fsm_state_handle)
   Returns whether the item referenced by the handle has been covered. For
handles that
   may contain multiple coverable entities, such as statement, fsm and
signal handles, the return value
   indicates how many of the entities have been covered.
   For assertion handle, the coverable entities are assertions
   For statement handle, the entities are statements
   For signal handle, the entities are individual signal bits
   For fsm handle, the entities are fsm states

vpi_get(vpiCoveredCount, assertion_handle)
vpi_get(vpiCoveredCount, statement_handle)
vpi_get(vpiCoveredCount, signal_handle)
vpi_get(vpiCoveredCount, fsm_handle)
vpi_get(vpiCoveredCount, fsm_state_handle)
   Returns the number of times each coverable entity refered by the handle
has been covered. Note
   that this is only easily interpretable when the handle points to a unique
coverable item
   (such as an individual statement); when handle points to an item
containing multiple coverable
   entities (such as a handle to a block statement containing a number of
statements), the result
   is the sum of coverage counts for each of the constituent entities.

vpi_get(vpiCoveredMax, assertion_handle)
vpi_get(vpiCoveredMax, statement_handle)
vpi_get(vpiCoveredMax, signal_handle)
vpi_get(vpiCoveredMax, fsm_handle)
vpi_get(vpiCoveredMax, fsm_state_handle)
   Returns the number of coverable entities pointed by the handle. Note that
this will always
   return 1 (one) when applied to an assertion or fsm state handle.

vpi_iterate(vpiFsm, instance-handle)
   Returns an iterator to all FSMs in an instance.
vpi_handle(vpiFsmStateExpression, fsm-handle)
   Returns the handle to the signal or expression encoding the FSM state.
vpi_iterate(vpiFsmStates, fsm-handle)
   Returns an iterator to all states of an FSM.
vpi_get_value(fsm_state_handle, state-handle)
   Returns the value of an FSM state.

LRM 45:
(page 283, section 28.4.4)
Replace the body of section 28.4.4 with the following text:

vpi_control(<coverageControl>, <coverageType>, instance_handle)
vpi_control(<coverageControl>, <coverageType>, assertion_handle)
   Controls the collection of coverage on the given instance or assertion.
Note that statement,
   toggle and FSM coverage are not individually controllable (ie they are
controllable only at the
   instance level and not on a per statement/signal/FSM basis). The
semantics and behavior are as
   per the $coverage_control system function (see section 28.2.2.1)
   coverageControl is one vpiCoverageStart, vpiCoverageStop,
vpiCoverageReset or vpiCoverageCheck, as defined in section 28.4.2
   coverageType is any one of the vpi coverage type properties (section
28.4.2)

vpi_control(<coverageControl>, <coverageType>, name)
   This saves or merges coverage into the current simulation. The semantics
and behavior are specified as per the
   equivalent system functions $coverage_merge (see Section 28.2.2.4) and
$coverage_save (see Section 28.2.2.5).
   coverageControl is one of vpiCoverageMerge or vpiCoverageSave, defined in
section 28.4.2

LRM 70:
(page , section D.7.7)
remove note, change preceeding list item from:

-- bit (i.e., 2-state) packed arrays up to 64 (previously 32) bit (canonical
representation shall be used, like
   for a function result)

to:

-- bit (i.e., 2-state) packed arrays up to 32 bit (canonical representation
shall be used, like
   for a function result)

LRM 71:
(page , section D.8)
correct cross-reference: D.8.3

============================================================================
==
Joao Geada, PhD Principal Engineer Verif Tech
Group
Synopsys, Inc TEL: (508)
263-8083
377 Simarano Drive, Suite 300, FAX: (508)
263-8069
Marlboro, MA 01752, USA
============================================================================
==



This archive was generated by hypermail 2b28 : Thu Apr 10 2003 - 15:49:11 PDT