AW: Today's Roadmap Meeting


Subject: AW: Today's Roadmap Meeting
From: Wolfgang.Ecker@Infineon.Com
Date: Tue May 14 2002 - 09:21:10 PDT


Dear all,

please find attached my comments on the proposal of the
severity definitions:

(1) The assertion levfel definitions are incompatible with the VHDL-Assertions,
    which consists of the four severity levels NOTE, ERROR, WARNING and FAILURE.

    Mapping OVL to VHDL would either imply the re-definition of severity
    levels in VHDL or parallel to VHDL, or an extended implementation,
    which consists of the VHDL assertion level and additionally an activity
    count, e.g.

    type OVL_assertion is
    record
        severity : severity_level;
        max_occurence : natural;
    end record;

(2) For me, it is not clear, why only the occurence of NOTES shall be restricted,
    and not also warnings. Furthermore, I suggest to associate Errors with a max occurence,
    because in most cases only analysis of the first or early occurences of Errors
    are senseful. I also propose to stop execution not only in case of Failure but also
    in case of multiple occurence of Errors.

(3) The occurence count should be related to assertion instances, i.e. to application of
    an assertion to an object (group), a task, a process, etc. and not simulation wide.

(4) Simulation wide, or process specific counting of occurences of NOTES may cause
    VHDL implementation problems, because assertion specific global counters require
    a registration mechanism based on shared variables.

    Object group related, i.e. parallel assertions should't be the problem in VHDL because
    procedures are re-entrant and procedures may be virtually kept alive by putting an
    infinite loop in the procesdure body.

Best Regards, Wolfgang

-----Ursprüngliche Nachricht-----
Von: Harry Foster [mailto:harry@verplex.com]
Gesendet am: Donnerstag, 9. Mai 2002 17:11
An: assertion@eda.org
Betreff: Today's Roadmap Meeting

During today's OVL roadmap meeting I want to discuss
Sean Smith's proposal for enhancing the ovl_task.h
routines. If we all agree, then I would like to see this
enhancement added to the July OVL release. The following
is Sean's proposal:

Severity Definition:

0 = Error, Fatal (test terminates)
1 = Error, Non Fatal (test does not terminate)
2 = Warning, Non Fatal
3 = Note, Display message for all occurrences
4 = Note Display only the first occurrence of the message (could easy be the
fist n occurrences)

And then modify the ovl_task.h file to contain the
following default set of task. (NOTE: The intent of the
ovl_task.h routines is allow the user to customize the
OVL reporting and control per their design project without
having to modify the entire library.)

  task ovl_error;
    input [8*63:0] err_msg;
  begin

    `ifdef ASSERT_MAX_REPORT_ERROR
      if (error_count <= `ASSERT_MAX_REPORT_ERROR)
    `endif
      if (severity_level == 0) begin
        error_count = error_count + 1;
        $display("OVL_ERROR : %s : %s : %0s : severity %0d : time %0t : %m",
          assert_name, msg, err_msg, severity_level, $time);
        ovl_finish;
      end
      if (severity_level == 1) begin
        $display("OVL_ERROR : %s : %s : %0s : severity %0d : time %0t : %m",
          assert_name, msg, err_msg, severity_level, $time);
        error_count = error_count + 1;
      end
      if (severity_level == 2) begin
        $display("OVL_WARNING : %s : %s : %0s : severity %0d : time %0t :
%m",
          assert_name, msg, err_msg, severity_level, $time);
        ovl_warning;
      end
      if (severity_level == 3) begin
        $display("OVL_NOTE : %s : %s : %0s : severity %0d : time %0t : %m",
          assert_name, msg, err_msg, severity_level, $time);
      end
      if ((severity_level == 4) && (error_count == 1)) begin
        $display("OVL_NOTE : %s : %s : %0s : severity %0d : time %0t : %m",
          assert_name, msg, err_msg, severity_level, $time);
      end
    end
  endtask

  task ovl_finish;
    begin
      #100 $finish;
    end
  endtask

  task ovl_init_msg;
    begin
      $display("OVL_NOTE: %s initialized @ %m Severity: %0d, Message: %s",
                assert_name,severity_level, msg);
    end
  endtask

  task ovl_warning;
    begin
      // Some user defined Stuff Here, PLI?
    end
  endtask

-Harry

Best regards,

-Harry
---------------------------------------------------------
Harry Foster Tel XXX-XXX-XXXX
Chief Architect Cell XXX-XXX-XXXX
Verplex Systems, Inc. mailto:harry@verplex.com
300 Montague Expwy, Suite 100 www.verplex.com
Milpitas, CA 95035 www.verifiableRTL.com



This archive was generated by hypermail 2b28 : Tue May 14 2002 - 09:28:08 PDT