ISSUE 352

Number 352
Category errata
Synopsis 10.2.2 implies task arguments can be left off
State lrmdraft
Class errata-simple
Arrival-DateMay 27 2003
Originator sharp@cadence.com
Release 2001b: 10.2.2
Environment
Description
Section 10.2.2 says "The list of arguments for a task
enabling statement shall be optional. If the list of
arguments is provided, the list shall be an ordered
list of expressions that has to match the order of the
list of arguments in the task definition."

This implies that the argument list can be left off
even if there were arguments in the task definition.
This does not make sense, especially since you can't
leave out just some of the arguments. It is also
incorrect, since it does not match Verilog-XL. The
argument list is optional in the syntax for a task
enable because it is left off for tasks with no
arguments. It is not optional if there were arguments
in the task declaration.

The Verilog-XL and OVI standards use clearer text.
They give the two syntaxes (without arguments, and with
them), and then say:

"The first form of a task enabling statement applies
when there are no IO arguments declared in the task
body. In the second form, the list of <expression>
items is an ordered list that must match the order of
the list of IO arguments in the task definition."

Since it seems unlikely that anyone would have wanted
to change the rules in this odd way, I assume that someone
tried to simplify the description and did it without
sufficient attention to what it actually said.
Fix
CHANGE:

The list of arguments for a task enabling statement shall
be optional. If the list of arguments is provided, the
list shall be an ordered list of expressions that has to
match the order of the list of arguments in the task
definition.

TO:


If the task definition has no arguments, a list of arguments
shall not be provided in the task enabling statement. Otherwise,
there shall be an ordered list of expressions that matches the
length and order of the list of arguments in the task definition.
A null expression shall not be used as an argument in a task
enabling statement.
Audit-Trail
From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: RE: errata/352: PROPOSAL - 10.2.2 implies task arguments can be left off
Date: Thu, 4 Sep 2003 09:59:38 -0700

I think the t() notation is a natural one for tasks of
no arguments. Why require a special notation for 0 args?
Also, t() is already supported by VCS and Design
Compiler.

How about? --

If the task definition has no arguments, a list of
arguments need not be provided. Otherwise, there shall
be an ordered list of expressions that matches the
order of the list of arguments in the task definition.

-- Brad



From: Shalom.Bresticker@motorola.com
To: Brad Pierce <Brad.Pierce@synopsys.com>
Cc: etf-bugs@boyd.com
Subject: RE: errata/352: PROPOSAL - 10.2.2 implies task arguments can be left
off
Date: Fri, 5 Sep 2003 12:24:10 +0300 (IDT)

> I think the t() notation is a natural one for tasks of
> no arguments. Why require a special notation for 0 args?
> Also, t() is already supported by VCS and Design
> Compiler.

But Verilog-XL and NC-Verilog do not support it.
That would be not an errata fix, but a functional enhancement,
which is ok as long as you understand that that is what you are doing.

Shalom

--
Shalom Bresticker Shalom.Bresticker@motorola.com
Design & Reuse Methodology Tel: +972 9 9522268
Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890
POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478

Unformatted


Hosted by Boyd Technology