[vhdl-200x-ft] Bit Rules & methodology for handling math issues

From: Jim Lewis <Jim@SynthWorks.com>
Date: Wed Jul 07 2004 - 08:18:08 PDT

>> PROPOSAL 5 Sizing of Fixed Point Arithmetic
--- snip ---
--- from John Williams
> For multiply and divide, these rules make sense.
> For addition this causes problems because:
> a <= a + b;
> will no longer work.
> The idea set forth by John Williams is to create a new operator
> "|+" which will be a bit growth add, and the standard add will
> remain the same.
> Sounds like an easy fix, but this one will also need a vote.

"|+" would solve one specific issue:
    Modulo arithmetic vs Maintain precsion of result

I think we have a large number of potential items that
need to be incorporated into future arithmetic.
Some of the ones I see are (and this is not a comprehensive
list):

   1) Error when out of range (like integer)
   2) Modulo arithmetic (like unsigned/signed)
   3) Maintain precision (bit growth, ...)
   4) Saturating arithmetic
   5) Fixed Point Rounding Style --- embedded in package
   6) Floating Point Rounding Style --- Constant in package
   7) Floating Point IEEE Extend --- Constant in package
   8) Floating Point Check Error --- Constant in package
   9) Sizing methodology for Real number mantissa and exponent

It would be nice to be able to come up with a
flexible method of handling these. Some possibilities
I see are (and again this is not a comprehensive list):
   1) Adding operators (as John suggests).
   2) Adding attributes
   3) Extending the sense of functions that can be attached
       to a subtype/data object. Perhaps to handle rounding.

I think we need to further enumerate the issues that need
to be solved and enumerate potential solutions.

Cheers,
Jim

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jim Lewis
Director of Training             mailto:Jim@SynthWorks.com
SynthWorks Design Inc.           http://www.SynthWorks.com
1-503-590-4787
Expert VHDL Training for Hardware Design and Verification
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Received on Wed Jul 7 08:18:10 2004

This archive was generated by hypermail 2.1.8 : Wed Jul 07 2004 - 08:18:15 PDT