[sv-ec] Jeda SV-EC errata: #6 Missing Pipelined value access in clocking block

From: eugene zhang <eugene@jedatechnologies.com>
Date: Tue Aug 31 2004 - 00:24:42 PDT

Title:
   Pipelined value access in clocking block is missing

Description:
   It is crucial in constructing testbench to be able to access the
value in previous cycle as the expression. (This feature is available
in other HVL such as Jeda and Vera)

   To allow this, a new attribute clocking_depth is added on
clocking_direction definition. Also, optional depth_select attribute is
added to select definition.

  <Example>
    // define mxbus
    clocking mxbus @(posedge clock1) ;
      input strobe depth 1 ;
      input data depth 1 ;
    endclocking

    // Using pipelined value
    if( mxbus.strobe.1 == 1 ) begin
      full_data = {mxbus.data.1, mxbus.data} ;
      .
      .
    end

  <BNF>
  Suggested modification to the current BNF definition:

  A.6.11 Clocing block

   clocking_direction ::=
     'input' [ clocking_skew ] [ clocking_depth ]
     |
     'output' [ clocking_skew ] [ clocking_depth ]
     |
     'input' [ clocking_skew ] 'output' [ clocking_skew ] [
clocking_depth ]
     |
     'inout' [ clocking_depth ]

   clocking_depth ::=
     'depth' unsigned_number

   A.8.4 Primaries

   select ::=
     { '[' expression ']' [ '[' range_or_indexed_range ']' ] [
depth_select ]

   depth_select ::=
     '.' unsigned_number

Note: non-terminal symbol in BNF is encapsulated in ' ' (single quote),
as bold characters can not be used in plain text.
Received on Tue Aug 31 00:24:45 2004

This archive was generated by hypermail 2.1.8 : Tue Aug 31 2004 - 00:24:49 PDT