[sv-ac] SV-AC new errata - 1547

From: Lisa Piper <piper_at_.....>
Date: Thu Jul 20 2006 - 10:57:43 PDT
I have just opened a new Mantis entry - #1547.  I had asked for some
feedback earlier and did not get much response (one was for and one
against).  Anyway, I think this is important from a methodology
perspective so would like to get more feedback. For convenience the
proposal is repeated below.

 

Lisa

 

=======================

 

Overview:

 

The way the standard is currently written, you cannot associate a
verification directive with properties that are defined inside of a
clocking block.  The only way to assert the property is to use a
hierarchical reference to the name of the property.  This is undesirable
for three reasons:

1)      relying on hierarchical references affects code portability

2)      many methodologies recommend keeping the property definition and
its associated verification directive local for ease of debug

3)      the ability to instantiate properties from packages in a
clocking block

 

This proposes changes to allow for specifying verification directives
inside clocking blocks.

 

=======

 

 

DETAILS:

 

Replace A.6.11 (and associated text in 15.2) 

 

clocking_declaration ::=

[ default ] clocking [ clocking_identifier ] clocking_event ;

{ clocking_item }

endclocking [ : clocking_identifier ]

 

clocking_event ::=

@ identifier

| @ ( event_expression )

 

clocking_item ::=

default default_skew ;

| clocking_direction list_of_clocking_decl_assign ;

| { attribute_instance } concurrent_assertion_item_declaration

 

 

 

WITH

 

 

clocking_declaration ::=

[ default ] clocking [ clocking_identifier ] clocking_event ;

{ clocking_item }

endclocking [ : clocking_identifier ]

 

clocking_event ::=

@ identifier

| @ ( event_expression )

 

clocking_item ::=

default default_skew ;

| clocking_direction list_of_clocking_decl_assign ;

| { attribute_instance } concurrent_assertion_item_declaration

| concurrent_assertion_item

 

 

 

 

REPLACE (in 17.13)

 

A concurrent assertion statement can be specified in any of the
following:

- An always block or initial block as a statement, wherever these blocks
can appear

- A module

- An interface

- A program

 

WITH

 

A concurrent assertion statement can be specified in any of the
following:

- An always block or initial block as a statement, wherever these blocks
can appear

- A module

- An interface

- A program

- A clocking block

 

 

 

 

 

 
Received on Thu Jul 20 10:57:57 2006

This archive was generated by hypermail 2.1.8 : Thu Jul 20 2006 - 10:58:12 PDT