Line 1... |
Line 1... |
--! @file arithpack.vhd
|
--! @file arithpack.vhd
|
--! @author Juli‡n AndrŽs Guar’n Reyes
|
--! @author Julian Andres Guarin Reyes
|
--! @brief Este package contiene la descripc’on de los parametros y los puertos de las entidades: uf, opcoder, multiplicador, sumador, cla_logic_block y rca_logic_block.
|
--! @brief Este package contiene la descripcion de los parametros y los puertos de las entidades: uf, opcoder, multiplicador, sumador, cla_logic_block y rca_logic_block.
|
-- RAYTRAC
|
-- RAYTRAC
|
-- Author Julian Andres Guarin
|
-- Author Julian Andres Guarin
|
-- arithpack.vhd
|
-- arithpack.vhd
|
-- This file is part of raytrac.
|
-- This file is part of raytrac.
|
--
|
--
|
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;
|
|
|
|
--! Biblioteca de definicion de memorias de altera
|
|
library altera_mf;
|
|
|
|
--! Paquete para manejar memorias internas tipo M9K
|
|
|
--! Package con las definiciones de constantes y entidades, que conformar’an el Rt Engine.
|
--! 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
|
|
|
--! Constante con el nivel l—gico de reset.
|
--! Constante con el nivel l—gico de reset.
|
Line 40... |
Line 43... |
generic (tclk : time := 20 ns);
|
generic (tclk : time := 20 ns);
|
port (clk,rst : out std_logic);
|
port (clk,rst : out std_logic);
|
end component;
|
end component;
|
|
|
|
|
--! Memoria Rom Para Realizar TestBench
|
component altsyncram
|
component tbRom
|
|
generic (
|
generic (
|
tbRom_init_file : string := "X:/Tesis/Workspace/hw/rt_lib/arith/bin/mema.mif"
|
address_aclr_a : string;
|
|
clock_enable_input_a : string;
|
|
clock_enable_output_a : string;
|
|
init_file : string;
|
|
intended_device_family : string;
|
|
lpm_hint : string;
|
|
lpm_type : string;
|
|
numwords_a : natural;
|
|
operation_mode : string;
|
|
outdata_aclr_a : string;
|
|
outdata_reg_a : string;
|
|
ram_block_type : string;
|
|
widthad_a : natural;
|
|
width_a : natural;
|
|
width_byteena_a : natural
|
);
|
);
|
port
|
port (
|
(
|
clock0 : in std_logic ;
|
address : in std_logic_vector (3 downto 0);
|
address_a : in std_logic_vector (8 downto 0);
|
addressstall_a : in std_logic;
|
q_a : out std_logic_vector (17 downto 0)
|
clock : in std_logic;
|
|
q : out std_logic_vector (17 downto 0)
|
|
);
|
);
|
end component;
|
end component; --! Entidad uf: sus siglas significan undidad funcional. La unidad funcional se encarga de realizar las diferentes operaciones vectoriales (producto cruz — producto punto).
|
--! Entidad uf: sus siglas significan undidad funcional. La unidad funcional se encarga de realizar las diferentes operaciones vectoriales (producto cruz — producto punto).
|
|
component uf
|
component uf
|
generic (
|
generic (
|
use_std_logic_signed : string := "NO";
|
use_std_logic_signed : string := "NO";
|
carry_logic : string := "CLA"
|
carry_logic : string := "CLA"
|
);
|
);
|