[vhdl-200x-ft] ft23 updated proposal

From: John Ries <johnr@model.com>
Date: Mon Nov 15 2004 - 16:31:58 PST

The list of ieee packages that the functions are considered locally static have been update.
The restriction that the functions be pure has also been added.

Regards,
   John

-- 
-- mailto: johnr@model.com     phone: (503)685-0864
--   http://www.model.com        fax: (503)685-0921
--

IEEE 200X Fast Track Change Proposal

ID: FT-23

Proposer: John Ries
email: johnr@model.com

Status: Open
Proposed: 04/20/04
Analyzed: Date
Resolved: Date

Enhancement Summary: Allow operations on std_logic and std_logic_vectors
to be considered locally static.
 
Related issues:
Relevant LRM section: 7.4.1

Enhancement Detail:
----------------------------

Locally static expressions are defined by a list, a through j, in
section 7.4.1. There is an additional restriction that an expression
is locally static if and only if every operator in the expression
denotes an implicitly defined operator whose operands and result are
scalar. Now that the std_logic_1164 and numeric_bit and numeric_std
package are part of the standard I propose the following change.

Original:

   "An expression is said to be locally static if and only if every
   operator in the expression denotes an implicitly defined operator
   whose operands and result are scalar and if every primary in the
   expression is a locally static primary, where locally static
   primary is defined to be one of the following:"

Modified:

   "An expression is said to be locally static if and only if every
   operator in the expression denotes an implicitly defined operator
   or an operator defined in the packages ieee.std_logic_1164,
   ieee.numeric_std, or ieee.numeric_bit, whose operands and result
   are scalar and if every primary in the expression is a locally
   static primary, where locally static primary is defined to be one
   of the following:"

Also an additional item, k, would be added to the list defining a
locally static primary.

  "k) A function call to a pure function whose function name denotes
      an operator or function that is declared in one of the following packages
      defined in the library ieee : std_logic_1164,.numeric_std, numeric_bit,
      numeric_unsigned, and numeric_unsigned_bit. Any actual parameters to the
      function must each be locally static expressions."

Since most usefully functions in the packages std_logic_1164,
numeric_bit and numeric_std operate on arrays, we need to allow for
array operands and array operands to be considered locally static.

Analysis:
----------------------------
[To be performed by the 200X Fast Track Working Group]

Resolution:
----------------------------
[To be performed by the 200X Fast Track Working Group]
Received on Mon Nov 15 16:32:05 2004

This archive was generated by hypermail 2.1.8 : Mon Nov 15 2004 - 16:32:07 PST