implicit event expression lists

From: Dennis Marsa (drm@xilinx.com)
Date: Thu Jan 31 2002 - 10:52:08 PST


Precedence: bulk

Hello,

Reading section 9.7.5 "Implicit event_expression list", I am
not clear on what the defined behavior of @(*) should be when
the following kinds of references appear in the controlled
statement.

1) A bit-select of a vector

   reg [31:0] vector;

   always @(*) // @(vector) or @(vector[5]) ??
      out = vector[5];

2) A part-select of a vector

   reg [31:0] vector;

   always @(*) // @(vector) or @(vector[3:0]) ??
      out = vector[3:0];

3) An array element select of an array

   reg [31:0] array[1:100];

   always @(*) // @(array) or @(array[10]) ??
      out = array[10];

Basically, the question is, if only a part of a signal is referenced,
should the generated event_expression list include just the part
referenced, or the entire signal (or array)?

All of my examples above show constant indicies. Should the
behavior differ if the indicies are non-constant?

Thanks,

Dennis Marsa
Xilinx, Inc.



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:55:34 PDT and
sponsored by Boyd Technology, Inc.