[sv-bc] Re: [sv-ec] No event triggers in functions?

From: Jonathan Bromley <jonathan.bromley_at_.....>
Date: Wed May 03 2006 - 16:23:31 PDT
Steven Sharp wrote, of static locals of a task:

> Given this, it is technically noncompliant to inline a
> static task or function at a call site using variables
> local to that call site or calling process.  However,
> I wouldn't expect anyone to complain about it.

I think I would complain.  Verilog's subprogram semantics
are bizarre, but entirely consistent; once you've understood
argument passing by copy-in/copy-out, and static locals,
there's a natural tendency to make the best of what you
have.  Given that tasks are local to a module and
instantiated therewith, it's entirely reasonable and 
useful to exploit a task's static local storage in
various interesting ways.  In general I would expect 
such uses to have been superseded by classes, but the
persistence and per-instance-ness (!) of task/function
locals should not be compromised.

> The sharing of these statics for locals in a static
> task or function is generally considered a potential
> problem to be avoided, not something to rely on.

But if people have learnt to rely on it in creative
but standards-compliant ways...
-- 
Jonathan Bromley
Doulos Ltd
Received on Wed May 3 16:23:36 2006

This archive was generated by hypermail 2.1.8 : Wed May 03 2006 - 16:23:41 PDT