ISSUE 165

Number 165
Category errata
Synopsis 3.11.1, A.2.1.1: reuse task_port_type
State lrmdraft
Class errata-simple
Arrival-DateOct 15 2002
Originator "Brad Pierce" <Brad.Pierce@synopsys.com>
Release 2001b: 3.11.1, A.2.1.1, 10.2.1, A.2.7
Environment
Description
Because the types (integer, real, realtime, time) of parameters
and localparams are the same as those of function/task ports,
the BNF of 13.11.1 (A.2.1.1) could be simplified, replacing

| localparam integer list_of_param_assignments ;
| localparam real list_of_param_assignments ;
| localparam realtime list_of_param_assignments ;
| localparam time list_of_param_assignments ;

with

| localparam task_port_type list_of_param_assignments ;

and replacing

| parameter integer list_of_param_assignments
| parameter real list_of_param_assignments
| parameter realtime list_of_param_assignments
| parameter time list_of_param_assignments

with

| parameter task_port_type list_of_param_assignments

Additionally, should task_port_type be moved to A.2.2.1?
I don't see much difference in kind between it and
output_variable_type.

-- Brad


Fix
1. In 3.11.1 (Syntax 3-4) and in A.2.1.1

REPLACE

local_parameter_declaration ::=
localparam [ signed ] [ range ] list_of_param_assignments
| localparam integer list_of_param_assignments
| localparam real list_of_param_assignments
| localparam realtime list_of_param_assignments
| localparam time list_of_param_assignments

parameter_declaration ::=
parameter [ signed ] [ range ] list_of_param_assignments
| parameter integer list_of_param_assignments
| parameter real list_of_param_assignments
| parameter realtime list_of_param_assignments
| parameter time list_of_param_assignments

(Note: #114 deleted ";" at end of these lines.)

WITH

local_parameter_declaration ::=
localparam [ signed ] [ range ] list_of_param_assignments
| localparam parameter_type list_of_param_assignments

parameter_declaration ::=
parameter [ signed ] [ range ] list_of_param_assignments
| parameter parameter_type list_of_param_assignments

parameter_type ::= integer | real | realtime | time



2. In 10.2.1 (Syntax 10-1) and A.2.7, CHANGE

task_port_type ::=
time | real | realtime | integer

TO

task_port_type ::=
integer | real | realtime | time

(This simply changes order to alphabetical.)


(I had considered changing the names of real_type and
variable_type, but I did not find a good replacement, so I
did not change them.)
Audit-Trail

From: Shalom Bresticker <Shalom.Bresticker@motorola.com>
To: Brad Pierce <Brad.Pierce@synopsys.com>
Cc: etf-bugs@boyd.com
Subject: Re: errata/165: 13.11.1, A.2.1.1 -- reuse task_port_type
Date: Wed, 16 Oct 2002 12:51:36 +0200

>Category: errata
>Confidential: no
>Originator: Shalom Bresticker <Shalom.Bresticker@motorola.com>
>Release: 2001b
>Class: TBD
>Description:

--------------90080D02C5E17A3A88D6142E
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Brad,

> Because the types (integer, real, realtime, time) of parameters
> and localparams are the same as those of function/task ports,
> the BNF of 13.11.1 (A.2.1.1) could be simplified, replacing
>
> | localparam integer list_of_param_assignments ;
> | localparam real list_of_param_assignments ;
> | localparam realtime list_of_param_assignments ;
> | localparam time list_of_param_assignments ;
>
> with
>
> | localparam task_port_type list_of_param_assignments ;

Technically, you are correct, but using the name "task_port_type" would
be confusing here, so I would suggest defining

parameter_type ::= time | real | realtime | integer

and

| localparam parameter_type list_of_param_assignments ;


> Additionally, should task_port_type be moved to A.2.2.1?
> I don't see much difference in kind between it and
> output_variable_type.

Again, technically, you are correct, but task_port_type is local to
A.2.7,
so I would not take it out of there.

But I would bring up a different, but related issue.

A.2.2.1 defines net_type, output_variable_type, real_type, and
variable_type.

net_type and output_variable_type really are choices of one of a set of
legal type terminals,
but the other two are non-terminals of a different kind, identifiers
with an optional addition.

This is using the xxx_type for two different kinds of non_terminals.
It would be nice to achieve better consistency.
This could also solve Brad's problem.
Any suggestions?


--
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

"The devil is in the details."



--------------90080D02C5E17A3A88D6142E
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: 7bit

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">

Brad,
<blockquote TYPE=CITE>Because the types (integer, real, realtime, time)
of parameters

and localparams are the same as those of function/task ports,

the BNF of 13.11.1 (A.2.1.1) could be simplified, replacing

   | localparam integer list_of_param_assignments ;

   | localparam real list_of_param_assignments ;

   | localparam realtime list_of_param_assignments ;

   | localparam time list_of_param_assignments ;

with

   | localparam task_port_type list_of_param_assignments ;
Technically, you are correct, but using the name "task_port_type" would
be confusing here, so I would suggest defining

parameter_type ::= timerealrealtime
integer

and

   | localparam parameter_type list_of_param_assignments ;

 
<blockquote TYPE=CITE>Additionally, should task_port_type be moved to A.2.2.1?

I don't see much difference in kind between it and

output_variable_type.
Again, technically, you are correct, but task_port_type is local to A.2.7,

so I would not take it out of there.

But I would bring up a different, but related issue.

A.2.2.1 defines net_type, output_variable_type, real_type, and variable_type.

net_type and output_variable_type really are choices of one of a set
of legal type terminals,

but the other two are non-terminals of a different kind, identifiers
with an optional addition.

This is using the xxx_type for two different kinds of non_terminals.

It would be nice to achieve better consistency.

This could also solve Brad's problem.

Any suggestions?

 

-- 
 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
 
 "The devil is in the details."

 

--------------90080D02C5E17A3A88D6142E--


Fix replaced by Shalom.Bresticker@motorola.com on Thu Nov 13 08:18:18 2003
1. In 3.11.1 (Syntax 3-4) and in A.2.1.1

REPLACE

local_parameter_declaration ::=
localparam [ signed ] [ range ] list_of_param_assignments
| localparam integer list_of_param_assignments
| localparam real list_of_param_assignments
| localparam realtime list_of_param_assignments
| localparam time list_of_param_assignments

parameter_declaration ::=
parameter [ signed ] [ range ] list_of_param_assignments
| parameter integer list_of_param_assignments
| parameter real list_of_param_assignments
| parameter realtime list_of_param_assignments
| parameter time list_of_param_assignments

(Note: #114 deleted ";" at end of these lines.)

WITH

local_parameter_declaration ::=
localparam [ signed ] [ range ] list_of_param_assignments
| localparam parameter_type list_of_param_assignments

parameter_declaration ::=
parameter [ signed ] [ range ] list_of_param_assignments
| parameter parameter_type list_of_param_assignments

parameter_type ::= integer | real | realtime | time



2. In 10.2.1 (Syntax 10-1) and A.2.7, CHANGE

task_port_type ::=
time | real | realtime | integer

TO

task_port_type ::=
integer | real | realtime | time

(This simply changes order to alphabetical.)


(I had considered changing the names of real_type and
variable_type, but I did not find a good replacement, so I
did not change them.)


Unformatted


Hosted by Boyd Technology