[vhdl-200x-ft] "other" vhdl package

From: David Bishop <dbishop_at_.....>
Date: Thu Mar 10 2005 - 11:52:05 PST
As happens to me every few months, I got the question "which VHDL
packages should I use?", or worse, "Why doesn't tool XXX support the
numeric_misc package from tool YYY"?

I tell these people that they should stick with the standards packages.
Why? they ask.
I say because you can depend on what is in them to be consistant across
tools.  What is in the "numeric_misc" package in one tool may not be what
you seen in another tool.

I now actually have a matrix on what packages are supported by what tool,
and it is growing in both directions.

In going through some of these packages (again) I found a few things I
had forgotten about, so I'll throw them out here.

A) MUX.
    Typically a MUX is done as follows:
    R <= (A and S) or (B and not S);
    The basic problem here is that what if A and B are the same value
    and S is an X?  Then the output should be "1" or "0", and not "X".
    I would like to add a MUX primitive to fix this.  We should have:
    R <= MUX (A, B, S);   in Std_logic_1164.
B) The package "numeric_unsigned" is already in existance for some tools.
    Looking at it, the functionality is the same, but some of the primitives
    have a different name.  Is this a big enough deal for us to change
    the name of this package to "numeric_std_unsigned"?  We really don't
    want to break existing code.
C) Many of these package (numeri_unsigned, std_logic_arith, etc).  Allow
    you to freely mix signed and unsigned numbers.  A "numeric_mixed" package
    would be easy to create.


-- 
David W. Bishop dbishop@vhdl.org       All standard disclaimers apply.
Received on Thu Mar 10 11:52:08 2005

This archive was generated by hypermail 2.1.8 : Thu Mar 10 2005 - 11:52:26 PST