From David Bishop
------------------
-------- Original Message --------
From: David Bishop <dbishop@server.vhdl.org>
Subject: Some notes from last night's telecon (resend)
Here are some of my notes from last night's telecon. Some
of these are worth discussing.
FT02 - Reduction operators - Reimplement these functions
as recursive functions to improve synthesis performance.
Modify proposal?
FT5A - Modify the "to_string" functions so that the functions
are visible to synthesis, but hide the unsynthesizable parts
with --rtl_synthesis off
CP-007 - Rewrite this proposal to note that the procedures
in "std_logic_textio" have been moved into "std_logic_1164".
CP-010, N-007 - Change the "match" function to be a "=?" operator.
(also see FT24).
N-??? - Functions "to_unsigned(signed)" and "to_signed(unsigned)"
to be removed and replaced with "add_sign" and "remove_sign" functions.
N-005 - "numeric_unsigned" and "numeric_bit_unsigned" (which
are analogous to the "std_logic_unsigned" package) are currently independent
package. These should be made dependent on "numeric_std" and "numeric_bit"
so that synthesis tools will be able to immediately use them.
N-008 - Fixed point package
Modify the hidden "min" and "max" routines to return an error if they
see integer'low. These functions are only used for boundary checking.
Example: uf8_3 <= uf7_3 + "0001";
In this case, the literal "0001" will be interpreted is an array of
the range integer'low to integer'low+3 by the compiler. The result
will be of the range 3 downto integer'low (3 downto -32,000).
Remove to_ufixed(sfixed) and to_sfixed(ufixed). Replace these with
"add_sign" and "remove_sign" functions. This will allow the following:
uf8_3 <= uf7_3 + to_ufixed("0001");
In this case the literal will be expected to be an UNSIGNED and passed
as a fixed point 1.0.
Remove overloads between "sfixed" and "ufixed". Make the user convert
before doing any operations which mix these two types.
Modify the operations which use both "ufixed" and "real" so that the
real number has a range that is always positive.
Modify all of the conversion functions to do a "vector truncated" the
same way the numeric_std functions do it.
-- David W. Bishop dbishop@vhdl.org All standard disclaimers apply.Received on Tue Oct 19 13:18:01 2004
This archive was generated by hypermail 2.1.8 : Tue Oct 19 2004 - 13:18:04 PDT