From: Brad Pierce (Brad.Pierce@synopsys.com)
Date: Wed Sep 10 2003 - 09:30:01 PDT
Precedence: bulk
The following reply was made to PR errata/217; it has been noted by GNATS.
From: "Brad Pierce" <Brad.Pierce@synopsys.com>
To: <etf-bugs@boyd.com>
Cc:
Subject: Re: errata/217: PROPOSAL - Note that task/func params can only be overridden by defparams
Date: Wed, 10 Sep 2003 09:21:35 -0700
Exactly.
module m #(parameter P=2) ();
parameter Q = 3 ; // definitely a localparam
task t ;
parameter t_p = 3 ; // localparam or parameter?
endtask
...
endmodule
A possibility is that 3.11.1 was only intended to
treat top-level 'parameter' declarations as 'localparam'
declarations, and was not intended to apply to lower-level
'parameter' declarations.
It would have been nicer if it were simply illegal to use
the 'parameter' keyword in contexts where it is currently
an alias for 'localparam'. This would have been analogous
to the approach taken with ANSI-style port declarations
in 12.3.4 --
"Each module shall either be declared entirely with
the list of ports syntax as described in 12.3.2 or
entirely using the list_of_port_declarations as
described in this section."
-- Brad
This archive was generated by hypermail 2.1.4
: Wed Sep 10 2003 - 09:32:45 PDT
and
sponsored by Boyd Technology, Inc.