Re: [sv-ac] meeting on 3/8

From: Adam Krolnik <krolnik@lsil.com>
Date: Tue Mar 09 2004 - 13:26:15 PST

Hi Hillel;

Here is another example where better defined parameters can be used to document
correct and proper usage.

property check_data(first_event, second_event, first_data, second_data);
   integer saved_data; // only 32 bits worth...
   first_event, saved_data = first_data
   |-> second_event[->1] ##0 second_data == saved_data;

endproperty

If one uses the property on data (first_data, second_data) that exceed the width
of an integer, then it will fail silently. Lint tools may be able to report
this problem, but will users look at the warning of width mismatches?

I presume the proper thing to do now is the following:

property check_data(first_event, second_event, data_width, first_data, second_data);
   reg [data_width:1] saved_data;
   ...

Pass in widths for any local variables that one is concerned about a necessary width
for values.

    Thanks.

    Adam Krolnik
    Verification Mgr.
    LSI Logic Corp.
    Plano TX. 75074
    Co-author "Assertion Based Design"
Received on Tue Mar 9 13:26:20 2004

This archive was generated by hypermail 2.1.8 : Tue Mar 09 2004 - 13:26:23 PST