Project

General

Profile

Download (2.32 KB) Statistics
| Branch: | Tag: | Revision:
1

    
2
-- Copyright (C) 1996 Morgan Kaufmann Publishers, Inc
3

    
4
-- This file is part of VESTs (Vhdl tESTs).
5

    
6
-- VESTs is free software; you can redistribute it and/or modify it
7
-- under the terms of the GNU General Public License as published by the
8
-- Free Software Foundation; either version 2 of the License, or (at
9
-- your option) any later version. 
10

    
11
-- VESTs is distributed in the hope that it will be useful, but WITHOUT
12
-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
-- for more details. 
15

    
16
-- You should have received a copy of the GNU General Public License
17
-- along with VESTs; if not, write to the Free Software Foundation,
18
-- Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
19

    
20
-- ---------------------------------------------------------------------
21
--
22
-- $Id: ch_19_random.vhd,v 1.2 2001-10-26 16:29:36 paw Exp $
23
-- $Revision: 1.2 $
24
--
25
-- ---------------------------------------------------------------------
26

    
27
package random is
28

    
29
  type distribution_type is (fixed, uniform, exponential);
30

    
31
  subtype probability is real range 0.0 to 1.0;
32

    
33
  type probability_vector is array (positive range <>) of probability;
34

    
35
  type seed_type is record
36
                      seed1, seed2 : positive;
37
                    end record seed_type;
38
  type seed_array is array ( natural range <> ) of seed_type;
39
  constant sample_seeds : seed_array(0 to 50);
40

    
41
  type random_info_record is record
42
                               seed : seed_type;
43
                               distribution : distribution_type;
44
                               mean : real;
45
                               lower_bound, upper_bound : real;
46
                             end record random_info_record;
47

    
48

    
49
  procedure init_fixed ( random_info : out random_info_record;
50
                         mean : in real );
51

    
52
  procedure init_uniform ( random_info : out random_info_record;
53
                           lower_bound, upper_bound : in real;
54
                           seed : in seed_type );
55

    
56
  procedure init_exponential ( random_info : out random_info_record;
57
                               mean : in real;
58
                               seed : in seed_type );
59

    
60
  procedure generate_random ( random_info : inout random_info_record;
61
                              random_number : out real );
62

    
63
end package random;
(239-239/267)