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