OpenCores
URL https://opencores.org/ocsvn/raytrac/raytrac/trunk

Subversion Repositories raytrac

[/] [raytrac/] [trunk/] [fpbranch/] [arithpack.vhd] - Blame information for rev 22

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 16 jguarin200
 
2
-- RAYTRAC
3
-- Author Julian Andres Guarin
4
-- arithpack.vhd
5
-- This file is part of raytrac.
6
-- 
7
--     raytrac is free software: you can redistribute it and/or modify
8
--     it under the terms of the GNU General Public License as published by
9
--     the Free Software Foundation, either version 3 of the License, or
10
--     (at your option) any later version.
11
-- 
12
--     raytrac is distributed in the hope that it will be useful,
13
--     but WITHOUT ANY WARRANTY; without even the implied warranty of
14
--     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
--     GNU General Public License for more details.
16
-- 
17
--     You should have received a copy of the GNU General Public License
18
--     along with raytrac.  If not, see <http://www.gnu.org/licenses/>.library ieee;
19
 
20
 
21 22 jguarin200
--! Libreria de definicion de senales y tipos estandares, comportamiento de operadores aritmeticos y logicos.\n Signal and types definition library. This library also defines 
22
library ieee;
23
--! Paquete de definicion estandard de logica. Standard logic definition pack.
24 2 jguarin200
use ieee.std_logic_1164.all;
25
 
26 8 jguarin200
 
27
 
28
 
29 2 jguarin200
package arithpack is
30 10 jguarin200
 
31 15 jguarin200
        constant rstMasterValue : std_logic := '1';
32 8 jguarin200
 
33
        component uf
34
        port (
35
                opcode          : in std_logic;
36 12 jguarin200
                m0f0,m0f1,m1f0,m1f1,m2f0,m2f1,m3f0,m3f1,m4f0,m4f1,m5f0,m5f1 : in std_logic_vector(17 downto 0);
37 13 jguarin200
                cpx,cpy,cpz,dp0,dp1 : out std_logic_vector(31 downto 0);
38 8 jguarin200
                clk,rst         : in std_logic
39
        );
40
        end component;
41
 
42
        component opcoder
43
        port (
44
                Ax,Bx,Cx,Dx,Ay,By,Cy,Dy,Az,Bz,Cz,Dz : in std_logic_vector (17 downto 0);
45 14 jguarin200
                m0f0,m0f1,m1f0,m1f1,m2f0,m2f1,m3f0,m3f1,m4f0,m4f1,m5f0,m5f1 : out std_logic_vector (17 downto 0);
46 8 jguarin200
                opcode,addcode : in std_logic
47
        );
48
        end component;
49
 
50 2 jguarin200
 
51
        component r_a18_b18_smul_c32_r
52
        port (
53
                aclr,clock:in std_logic;
54
                dataa,datab:in std_logic_vector (17 downto 0);
55
                result: out std_logic_vector(31 downto 0)
56
        );
57
        end component;
58
        component cla_logic_block
59
        generic ( w: integer:=4);
60
        port (
61
                p,g:in std_logic_vector(w-1 downto 0);
62
                cin:in std_logic;
63
                c:out std_logic_vector(w downto 1)
64
        );
65
        end component;
66
        component rca_logic_block
67
        generic ( w : integer := 4);
68
        port (
69
                p,g: in std_logic_vector(w-1 downto 0);
70
                cin: in std_logic;
71
                c: out std_logic_vector(w downto 1)
72
        );
73
        end component;
74
        component adder
75
        generic (
76 14 jguarin200
                w                                               : integer := 4;
77
                carry_logic                             : string := "CLA";
78
                substractor_selector    : string := "YES"
79 2 jguarin200
        );
80
        port (
81
                a,b             :       in std_logic_vector (w-1 downto 0);
82
                s,ci    :       in      std_logic;
83
                result  :       out std_logic_vector (w-1 downto 0);
84
                cout    :       out std_logic
85
        );
86
        end component;
87
 
88
end package;

powered by: WebSVN 2.1.0

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