From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Tue Nov 16 2004 - 18:30:00 PST
The following reply was made to PR errata/634; it has been noted by GNATS.
From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: Re: errata/634: 3.11.1: When is a parameter not a parameter
Date: Tue, 16 Nov 2004 18:33:54 -0800
Shalom,
How would this proposed language impact the question in
http://www.boyd.com/1364_btf/report/full_pr/217.html
of whether parameters declared in named blocks are overridable
when the V2K-style #() notation is used in the module header?
-- Brad
-----Original Message-----
From: owner-etf@boyd.com [mailto:owner-etf@boyd.com]On Behalf Of
Shalom.Bresticker@freescale.com
Sent: Tuesday, November 16, 2004 12:04 AM
To: etf-bugs@boyd.com
Subject: errata/634: 3.11.1: When is a parameter not a parameter
>Number: 634
>Notify-List:
>Category: errata
>Originator: Shalom.Bresticker@freescale.com (Behavioral Task Force)
>Environment:
>Description:
3.11.1 describes how parameters can be declared either
"as a set of module_items or in the module declaration in the
module_parameter_port_list".
Then it says,
"If any param_assignments appear in a module_parameter_port_list, then any
param_assignments that appear in the module become local parameters and
shall not be overridden by any method."
Similarly, 12.2 says,
"There are two different ways that parameters can be defined.
The first is the module_parameter_port_list (see 12.1), and
the second is as a module_item (see 3.11). A module declaration can contain
parameter definitions of either or both types, or no parameter definitions."
This is confusing.
It means you write 'parameter' and get 'localparam'.
It would be better to say that parameters can be declared
either entirely in the module header or entirely within the
module body, but not a mixture of both.
We do the same with port declarations.
So the proposal is to change in 12.2 FROM
"A module declaration can contain parameter definitions of either or both
types, or no parameter definitions."
AND in 3.11.1 FROM
"If any param_assignments appear in a module_parameter_port_list, then any
param_assignments that appear in the module become local parameters and
shall not be overridden by any method."
BOTH TO
"A module declaration may contain parameter definitions of
either type (or no parameter definitions), but not of both
types together in the same module declaration. However, local
parameter declarations shall be permitted as module_items within
the module declaration body in any case."
(Thanks to Brad for help.)
This archive was generated by hypermail 2.1.4
: Tue Nov 16 2004 - 18:30:13 PST
and
sponsored by Boyd Technology, Inc.