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

Subversion Repositories raytrac

[/] [raytrac/] [trunk/] [rca_logic_block.vhd] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 jguarin200
library ieee;
2
use ieee.std_logic_1164.all;
3
 
4
entity rca_logic_block is
5
        generic (
6
                w : integer := 8
7
        );
8
        port (
9
                p,g: in std_logic_vector(w-1 downto 0);
10
                cin : in std_logic;
11
 
12
                c : out std_logic_vector(w downto 1)
13
        );
14
end rca_logic_block;
15
 
16
 
17
architecture rca_logic_block_arch of rca_logic_block is
18
 
19
 
20
 
21
begin
22
 
23
        rcaProc:                -- rcaProc instancia funciones combinatorias en sCarry(i) haciendo uso de los resultados intermedios obtenidos
24
                                -- en sCarry(i-1), por lo que se crea un delay path en el calculo del Cout del circuito
25
        process (p,g,cin)
26
                variable i:                     integer range 0 to 2*w;
27
                variable sCarry:        std_logic_vector(w downto 1);
28
        begin
29
 
30
                sCarry(w downto 1) := g(w-1 downto 0);
31
                sCarry(1) := sCarry(1) or (p(0) and cin);
32
 
33
                for i in 1 to w-1 loop
34
                        sCarry(i+1) := sCarry(i+1) or (p(i) and sCarry(i));
35
                end loop;
36
 
37
                c <= sCarry;
38
 
39
 
40
        end process rcaProc;
41
end rca_logic_block_arch;

powered by: WebSVN 2.1.0

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