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