Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   VHDL (http://www.velocityreviews.com/forums/f18-vhdl.html)
-   -   Scaling data (http://www.velocityreviews.com/forums/t589214-scaling-data.html)

FPGA 02-03-2008 01:43 PM

Scaling data
 
Hello All,

I am using the UNIFORM procedure in VHDL to generate random numbers.
UNIFORM generates random numbers in the range 0.1 to 0.99999. I wish
to generate random signed and unsigned numbers of variable
widths(integer range). I would like to get some ideas on how I should
scale this data? Right now, when i convert the real output from real
to integer to signed, it just gives me an output of wither 0 or 1 .
Your comments would be appreciated

Thank you

Chris Maryan 02-03-2008 03:11 PM

Re: Scaling data
 
On Feb 3, 8:43 am, FPGA <FPGA.unkn...@gmail.com> wrote:
> Hello All,
>
> I am using the UNIFORM procedure in VHDL to generate random numbers.
> UNIFORM generates random numbers in the range 0.1 to 0.99999. I wish
> to generate random signed and unsigned numbers of variable
> widths(integer range). I would like to get some ideas on how I should
> scale this data? Right now, when i convert the real output from real
> to integer to signed, it just gives me an output of wither 0 or 1 .
> Your comments would be appreciated
>
> Thank you


Try multiplying it by a scaling factor before you convert it to
integer.

sudhi 02-03-2008 06:19 PM

Re: Scaling data
 
On Feb 3, 8:11*am, Chris Maryan <kmar...@gmail.com> wrote:
> On Feb 3, 8:43 am, FPGA <FPGA.unkn...@gmail.com> wrote:
>
> > Hello All,

>
> > I am using the UNIFORM procedure in VHDL to generate random numbers.
> > UNIFORM generates random numbers in the range 0.1 to 0.99999. I wish
> > to generate random signed and unsigned numbers of variable
> > widths(integer range). I would like to get some ideas on how I should
> > scale this data? Right now, when i convert the real output from real
> > to integer to signed, it just gives me an output of wither 0 or 1 .
> > Your comments would be appreciated

>
> > Thank you

>
> Try multiplying it by a scaling factor before you convert it to
> integer.


Let the real random number you generated be "my_random_number". Let
the random integer (my_random_integer) you want to generate be in the
range "my_range_low" to "my_range_high". Then after using UNIFORM on
"my_random_number", you would do

my_random_integer <= my_range_low + my_random_number*(my_range_high -
my_range_low)

- Sudheendra Kadri


All times are GMT. The time now is 06:59 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.