OpenCores
URL https://opencores.org/ocsvn/complex-gaussian-pseudo-random-number-generator/complex-gaussian-pseudo-random-number-generator/trunk

Subversion Repositories complex-gaussian-pseudo-random-number-generator

[/] [complex-gaussian-pseudo-random-number-generator/] [trunk/] [urng/] [MAGIC.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 cowboyor
--/////////////////////////MAGIC BLOCK///////////////////////////////
2
--Purpose: to produce the equivalent funtionality of following C code
3
--                              #define MAGIC(y) (((y)&0x1) ? 0x9908b0dfUL : 0)
4
--Created by: Minzhen Ren
5
--Last Modified by: Minzhen Ren
6
--Last Modified Date: Auguest 28, 2010
7
--Lately Updates: 
8
--/////////////////////////////////////////////////////////////////
9
library ieee;
10
        use ieee.std_logic_1164.all;
11
        use ieee.std_logic_unsigned.all;
12
        use ieee.numeric_std.all;
13
        use ieee.math_real.all;
14
 
15
entity MAGIC is
16
        generic(
17
                DATA_WIDTH : Natural := 32
18
        );
19
        port(
20
                Y_IN  : in  std_logic_vector( DATA_WIDTH-1 downto 0 );
21
                Y_OUT : out std_logic_vector( DATA_WIDTH-1 downto 0 )
22
        );
23
end MAGIC;
24
 
25
architecture BEHAVE of MAGIC is
26
 
27
        begin
28
 
29
        WHOLE : process(Y_IN)
30
        begin
31
                if (Y_IN(0) and '1') = '1' then
32
                        Y_OUT <= "10011001000010001011000011011111"; -- 0x9908b0dfUL
33
                else
34
                        Y_OUT <= ( others => '0' );
35
                end if;
36
        end process;
37
 
38
 
39
end BEHAVE;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.