![]() |
|
|
|||||||
![]() |
VHDL - Convert Real number to Std_logic_vector |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
Hi
I Have 2 constant values nu= 3.131764231e-3 and v = 0.993736471 Later on in my VHDL code I have to multiply these with two values which are std_logic_vectors of 20bits. So I would like to convert these constants to vectors of 20 bits without losing precision.How could I do so in VHDL tried to do conv_std_logic_vector(nu,20); unfortunately it didnt work! Please if anyone could help me I would be grateful Thanks Sudsy Sudhir |
|
|
|
|
#2 |
|
Posts: n/a
|
"Sudhir" <> wrote in message news: oups.com... > Hi > > I Have 2 constant values nu= 3.131764231e-3 > and v = 0.993736471 > > Later on in my VHDL code I have to multiply these with two values > which are std_logic_vectors of 20bits. So I would like to convert > these constants to vectors of 20 bits without losing precision.How > could I do so in VHDL You can't. The real numbers are represented with more than 20 bits of precision so converting them to 20 std_logic_vectors will result in lost precision. > > tried to do conv_std_logic_vector(nu,20); unfortunately it didnt work! Because you can't convert a real to a std_logic_vector using this function. > > Please if anyone could help me I would be grateful > Convert the std_logic_vectors into real numbers and keep the full precision of your calculation. Also since your attempt used the 'conv_std_logic_vector' this implies that you're using the 'ieee.std_logic_arith' package. This package is not a standard and really should not be used. Use the ieee.numeric_std package instead and you'll save yourself some headaches down the road. Kevin Jennings KJ |
|
|
|
#3 |
|
Posts: n/a
|
Sudhir wrote:
> Hi > > I Have 2 constant values nu= 3.131764231e-3 > and v = 0.993736471 > > Later on in my VHDL code I have to multiply these with two values > which are std_logic_vectors of 20bits. So I would like to convert > these constants to vectors of 20 bits without losing precision.How > could I do so in VHDL > > tried to do conv_std_logic_vector(nu,20); unfortunately it didnt work! > > Please if anyone could help me I would be grateful First off, these are real numbers. Real numbers don't synthesize. Internally they are represented as 64 bit floating point numbers. I would recommend using fixed point. Then you can convert the numbers into something synthesizable. http://www.vhdl.org/vhdl-200x/vhdl-2...ges/files.html For the documentation. For code to synthesize, look at: http://www.vhdl.org/fphdl/vhdl.html David Bishop |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| How to Rip DVD and Convert Video on Mac OS | dave345 | Media | 12 | 07-07-2008 09:32 AM |
| How to easily convert real video to wmv files? | Norm | DVD Video | 2 | 05-22-2007 10:03 AM |
| How to convert Real Audio *.rm files to mp3 for free? | kopn@hotbox.ru | DVD Video | 12 | 07-13-2006 06:44 AM |
| New Releases: Troy, Ultimate Matrix & status changes: Updated complete downloadable R1 DVD DB & info lists | Doug MacLean | DVD Video | 1 | 08-31-2004 01:02 PM |