Function ARCTAN doesn't exist in ieee.math_real library that HDT refers to
A function ATAN however exists, but this is - to my understanding - not the correct name. It should be ARCTAN.
- Forums:
A function ATAN however exists, but this is - to my understanding - not the correct name. It should be ARCTAN.
copyright issues
Hi Dirk,
The math_real package you see is a draft version. We cannot distribute the final version of this package due to IEEE's copyright requirements. We are working to resolve this issue by distributing a binary (compiled) version of the math_real package so that you can use the math_real package without any problems.
If you have a copy of the IEEE source files you can do the following as a workaround: You can remove the current IEEE library from your project's libraries and replace it with your own copy of those files. You can do this by going to Project > Properties > Libraries
More information is in the manual, chapter on VHDL Libraries.
Sorry for the inconvenience.
Vendor VHDL libraries
Is there a simple way to point to the vendor supplied VHDL libraries and have Hdt use those in stead of the Sigasi supplied ones. We use Altera devices, I tried replacing the std libraries as documented but then a lot of definitions are not found by Hdt. E.g. the conv_std_logic_vector() has gone missing.
Altera maybe pointed at here (they also have a different notion of vhdl packages), but we have not a lot to say about that ...
I believe such an option makes sense for the 'smaller' users who are less concerned about portability. A sort of Environment Variable would make live easy when we upgrade to the next version of the Quartus II software.
variable expansion
Hi Josy,
I'm not sure I understand your comment.
First, Altera Quartus does not support libraries (at least not last time I checked, which is two years ago). Everything goes into one big namespace.
I presume you replaced the IEEE libraries (not the STD?). If you want, I can take a look at it and see where your problems with conv_std_logic_vector come from. (Just email your project or at least your .libraries.xml file).
Finally, we do have something like the environment variable you refer to, but it is not document (yet) in our main documentation, because it is considered "advanced use". You can set these variables in Window > Preferences > VHDL > Libraries. Use them by inserting ${VARIABLENAME} in your library path. For now, you can only use this variable expansion by editing
.libraries.xmlmanually.Hope this helps
Philippe
conv_std_logic_vector
Hi Josy,
Thanks for sending us your project.
The problem is not with the using the vendor-provided (Altera) libraries, but with the function
conv_std_logic_vector. This function is declared in the (deprecated) librariesieee.std_logic_signed,ieee.std_logic_unsignedandieee.std_logic_arith, which you have removed (or rather: commented out) from your files.The problem with these libraries is that they were never standardized, and different vendors distribute different, incompatible versions of these libraries. You should probably use numeric_std and its
to_unsignedorto_signedfunctions, perhaps with a cast:std_logic_vector(to_unsigned(1,3));In your particular case, you can also use bit string literals:
O"1"="001", O"2"="010", O"7"="111".Kind regards
Philippe
Hi Philippe, interesting
Hi Philippe,
interesting ...
If you leave the deprecated libraries in, Hdt will issue warnings about those libraries. I do not like warnings because they clutter the output window. So I left those libraries out and used the
std_logic_vector(to_unsigned())construct like you suggested to get rid of the conv_std_logic_vector errors, but of course a few others pop up because e.g.std_logic_vector <= std_logic_vector + 1 ;do not longer work. But this is entirely due to my use of std_logic_vector types for internal counters and such. With some (rather a lot of) 'casting' the project compiles (and simulates!) fine. As I started off back in the 80-ties with PalAsm and Abel I stuck to AHDL and only recently (about one year and a half ago) switched to VHDL (which puts me in the 'newbie' class :))Another thing/lesson learned today, thanks
Josy
Post new comment