Number | 352
|
Category | errata
|
Synopsis | 10.2.2 implies task arguments can be left off
|
State | lrmdraft
|
Class | errata-simple
|
Arrival-Date | May 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