Line 25... |
Line 25... |
--! 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
|
--! 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;
|
|
|
|
--! Biblioteca de modulos parametrizados.
|
|
library lpm;
|
|
use lpm.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 61... |
Line 64... |
|
|
|
|
);
|
);
|
end component;
|
end component;
|
|
|
--! Componente memoria instanciado mediante la biblioteca de altera
|
--! componente memoria instanciado mediante la biblioteca de altera
|
component altsyncram
|
component altsyncram
|
generic (
|
generic (
|
address_aclr_a : string;
|
address_aclr_a : string;
|
clock_enable_input_a : string;
|
clock_enable_input_a : string;
|
clock_enable_output_a : string;
|
clock_enable_output_a : string;
|
Line 126... |
Line 129... |
c: out std_logic_vector(width-1 downto 0)
|
c: out std_logic_vector(width-1 downto 0)
|
);
|
);
|
end component;
|
end component;
|
--! Esta entidad corresponde al multiplicador que se instanciar’a dentro de la unidad funcional. El multiplicador registra los operandos a la entrada y el respectivo producto de la multiplicaci—n a la salida.
|
--! Esta entidad corresponde al multiplicador que se instanciar’a dentro de la unidad funcional. El multiplicador registra los operandos a la entrada y el respectivo producto de la multiplicaci—n a la salida.
|
component r_a18_b18_smul_c32_r
|
component r_a18_b18_smul_c32_r
|
|
generic (
|
|
lpm_hint : string := "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9";
|
|
lpm_pipeline : natural:= 2;
|
|
lpm_representation : string:="SIGNED";
|
|
lpm_type : string:="LPM_MULT";
|
|
lpm_widtha : natural:=18;
|
|
lpm_widthb : natural:=18;
|
|
lpm_widthp : natural:=32
|
|
);
|
port (
|
port (
|
aclr,clock:in std_logic;
|
aclr,clock:in std_logic;
|
dataa,datab:in std_logic_vector (17 downto 0);
|
dataa,datab:in std_logic_vector (17 downto 0);
|
result: out std_logic_vector(31 downto 0)
|
result: out std_logic_vector(31 downto 0)
|
);
|
);
|