Unsigned to signed vector.

I have a question about a conversion of an unsigned 10-bit vector to signed 8 bit vector. What is the best :

signed_data(7 downto 0)

Reply to
LilacSkin
Loading thread data ...

formatting link

Reply to
Symon

u(7)

Reply to
comp.arch.fpga

unsigned =3D> signed

Reply to
LilacSkin

Reply to
Jonathan Bromley

What I want to do is :

unsigned min: 0000000000 => signed min: 1 000001 => integer min :

-127 unsigned max: 1111111111 => signed max: 0 1111111 => integer max : 127

Reply to
LilacSkin

You didn't tell us that :-)

Do you also want linear scaling between these two endpoints? I guess so. Let's start again.

You have unsigned input U in the range [0,1023].

You have signed output S in the range [-127, +127]. I don't know why you choose to exclude -128, but hey, that's OK.

So what do you want to do?

S = U/4 - 127

is pretty close, I think, if U/4 is taken to mean the whole-number part of the result (throw away the fraction). But unfortunately, 1020/4 = 255 and 255-127 = 128, so you'll get +128 rather than +127 as the upper limit. If you can accept -128 as the lower limit (this is the true minimum value of a signed 8-bit) then you can do

S = U/4 - 128

and all is well. Now, U/4 is simply the eight most significant bits of U; and -128 is easily done by just flipping the MSB; so

S
Reply to
Jonathan Bromley

7

so, I return to my first message, that is correct :

if ( unsigned_data =3D "00000000" ) then signed_data

Reply to
LilacSkin

No, it's not; you're being unacceptably careless.

This test will never be true, because unsigned_data is

10 bits wide and can never be equal to an 8-bit vector.

And now you're trying to copy a 10-bit expression into an 8-bit result.

But yes, you're on the right track.

--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.
Reply to
Jonathan Bromley

Always true, usually ignored!

Reply to
RCIngham

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.