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

Subversion Repositories raytrac

[/] [raytrac/] [trunk/] [arithpack.vhd] - Diff between revs 47 and 49

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 47 Rev 49
Line 23... Line 23...
--! Biblioteca de definicion de senales y tipos estandares, comportamiento de operadores aritmeticos y logicos. 
--! Biblioteca de definicion de senales y tipos estandares, comportamiento de operadores aritmeticos y logicos. 
library ieee;
library ieee;
--! Paquete de definicion estandard de logica.
--! Paquete de definicion estandard de logica.
use ieee.std_logic_1164.all;
use ieee.std_logic_1164.all;
 
 
 
--use ieee.std_logic_unsigned.conv_integer;
 
 
 
 
--! Biblioteca de definicion de memorias de altera
--! Biblioteca de definicion de memorias de altera
library altera_mf;
library altera_mf;
--! Paquete para manejar memorias internas tipo M9K
--! Paquete para manejar memorias internas tipo M9K
use altera_mf.all;
use altera_mf.all;
 
 
--! Biblioteca de modulos parametrizados.
--! Biblioteca de modulos parametrizados.
library lpm;
library lpm;
use lpm.all;
use lpm.all;
 
 
 
--! Package de entrada y salida de texto.
 
use std.textio.all;
 
 
 
 
 
 
--! Package con las definiciones de constantes y entidades, que conformaran el Rt Engine. Tambien con algunas descripciones para realizar test bench.
--! Package con las definiciones de constantes y entidades, que conformaran el Rt Engine. Tambien con algunas descripciones para realizar test bench.
 
 
--! En general el package cuenta con entidades para instanciar, multiplicadores, sumadores/restadores y un decodificador de operaciones. 
--! En general el package cuenta con entidades para instanciar, multiplicadores, sumadores/restadores y un decodificador de operaciones. 
package arithpack is
package arithpack is
 
 
Line 42... Line 51...
        type tbState is (abcd,axb,cxd,stop);
        type tbState is (abcd,axb,cxd,stop);
 
 
        --! Constante con el nivel l—gico de reset.
        --! Constante con el nivel l—gico de reset.
        constant rstMasterValue : std_logic := '1';
        constant rstMasterValue : std_logic := '1';
 
 
 
        --! Constante: periodo del reloj;
 
        constant tclk : time := 20 ns;
 
        constant tclk2: time := tclk/2;
 
        constant tclk4: time := tclk/4;
 
 
 
 
        --! Generacion de Clock y de Reset.
        --! Generacion de Clock y de Reset.
        component clock_gen
        component clock_gen
                generic (tclk : time := 20 ns);
                generic (tclk : time := tclk);
                port    (clk,rst : out std_logic);
                port    (clk,rst : out std_logic);
        end component;
        end component;
 
 
        --! Ray Trac: Implementacion del Rt Engine
        --! Ray Trac: Implementacion del Rt Engine
        component raytrac
        component raytrac
Line 180... Line 195...
                result  :       out std_logic_vector (width-1 downto 0);
                result  :       out std_logic_vector (width-1 downto 0);
                cout    :       out std_logic
                cout    :       out std_logic
        );
        );
        end component;
        end component;
 
 
 
 
 
        procedure hexwrite_0(l:inout line; h: in std_logic_vector);
 
 
end package;
end package;
 
 
 No newline at end of file
 No newline at end of file
 
package body arithpack is
 
        --! Funciones utilitarias, relacionadas sobre todo con el testbench
 
        constant hexchars : string (1 to 16) := "0123456789ABCDEF";
 
 
 
        procedure hexwrite_0(l:inout line;h:in std_logic_vector) is
 
                variable index_high,index_low,acc : integer;
 
        begin
 
                for i in (h'high)/4 downto 0 loop
 
                        index_low:=i*4;
 
                        if (index_low+3)>h'high then
 
                                index_high := h'high;
 
                        else
 
                                index_high := i*4+3;
 
                        end if;
 
                        write(l,hexchars(1+ieee.std_logic_unsigned.conv_integer(h(index_high downto index_low))));
 
                end loop;
 
        end procedure;
 
end package body arithpack;
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

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