Re: implicit event expression lists

From: Paul Graham (pgraham@cadence.com)
Date: Fri Feb 01 2002 - 14:49:07 PST


Precedence: bulk

Funny how a construct designed to make things easier just causes more
problems :-)

I got the impression that @* was intended as a quick and easy way to model
combinational logic using an always block, without having to tediously
verify that every signal in the block was included in the sensitivity list.

You might want @* to be able to represent anything which is representable by
an explicit sensitivity list, but I think it is better to confine @* to
simpler cases. For instance:

    always @(x+y)
        z = x+y;

is perfectly legal verilog, but I'm sure we can agree that this can't be
modeled using @*.

So we could make some simplifying rules. For instance, @* cannot refer to a
variable declared within the statement that it controls. Maybe @* should
cause an error if used in this situation. Again, because of the concern
over simulation efficiency, and other problems, @* cannot refer to an array.

Paul



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