VHDL-200X-FT Meeting Minutes 20-Dec-04 ---------------------------------------------------------- Peter Ashenden Chuck Swart Jim Lewis David Bishop Next Meeting: January 10, 2pm - 4pm Discussion of Status 1076 Package Integration Part 1: David wondered if we should include 1076.6 RTL attributes as part of 1076? No. Keep 1076.6 separate. Include VITAL packages also? No. Too much stuff in VITAL that are outside of the language. Package Standard: David to update package standard to include boolean_vector, integer_vector, real_vector, time_vector in package standard (comming from ISAC approved issues). Will round up all package standard updates under FT30 Floating Point Standard Discussion about use model of floating point. For DSP type work are different sizes of floating point used within a single chip or in any given chip is only one size of floating point used? Currently the package architecture being considered is to constrain the width of the mantissa and exponent as package generics. With this approach one package would need to be instantiated per size of floating point being used in the design. Simple if only one size is being used. More interesting if a design uses multiple different sizes of floating point - in addition it would be a significantly different use model from types signed and unsigned in numeric_std. For generalized floating point, do different operations require a different number of guard bits (add/sub vs. multiply vs. divide). Do we need to specify these parameters separately? Discussion of call format for extended functions. Should it be a named function such as: function add ( l, r : floating_point; -- floating point input constant round_style : round_type := round_nearest; -- rounding option constant guard : natural := 3; -- number of guard bits constant check_error : boolean := true; -- check for errors constant ieee_extend : boolean := true) -- Use IEEE extended FP return floating_point; or should the "+" be extended to allow optional parameters: function "+" ( L, R : FP; round_style : round_type := default_round_style; denormalize : BOOLEAN := default_denormalize; check_error : BOOLEAN := default_check_error; guard_bits : NATURAL := default_guard_bits ) return FP; in this case, signal A, B, Y : FP(18 downto -7) ; Y <= A + B ; -- use the defaults Y <= "+"(A, B, ...) ; -- set values. 1076 Package Integration Part 2: Chuck wondered whether fixed point and floating point packages should be part of 1076 or a separate standard? Discussion as to what belongs to the standard and why.