RE: [sv-ec] opinions on $exit

From: Rich, Dave <Dave_Rich_at_.....>
Date: Fri Mar 10 2006 - 21:16:47 PST
Steven,

It is legal for a program to call a function or task that is not defined
in a program. I think the term "design module" should be replaced with
"outside a program block" since you can have task defined in an
interface, a package, or $unit.

The LRM or BNF never explicitly limited $exit to be inside program
blocks. It only loosely defined their behavior when call from a program
block.

Anyway, the new proposal should hopefully clarify a few of those issues.

Dave


> -----Original Message-----
> From: Steven Sharp [mailto:sharp@cadence.com]
> Sent: Friday, March 10, 2006 2:38 PM
> To: sharp@cadence.com; sv-ec@eda.org; Rich, Dave
> Subject: RE: [sv-ec] opinions on $exit
> 
> 
> >The case I was thinking about is when a task with a $exit call is
> >defined inside a package, and then called from a module or program
> >block. The $exit would only have an effect when called from a program
> >block.
> 
> From section 16.5: "Calling program tasks or functions from within
> design modules is illegal and shall result in an error."
> 
> So it is not legal for a module to call a program task.  If it is
> not legal to put $exit anywhere except in a program, then it is
> not possible to call $exit from a module thread.
> 
> I would expect that for a task inside a package to contain $exit,
> it would have to be declared in an anonymous program block.  That
> would make it a program task, and illegal to call from a module.
> So again, it is impossible to call $exit from a module thread.
> 
> Steven Sharp
> sharp@cadence.com
Received on Fri Mar 10 21:17:02 2006

This archive was generated by hypermail 2.1.8 : Fri Mar 10 2006 - 21:19:08 PST