Line 48... |
Line 48... |
--! Entidad opcoder: opcoder decodifica la operaci—n que se va a realizar. Para tal fin coloca en la entrada de uf (unidad funcional), cuales van a ser los operandos de los multiplicadores con los que uf cuenta y adem‡s escribe en el selector de operaci—n de uf, el tipo de operaci—n a realizar.
|
--! Entidad opcoder: opcoder decodifica la operaci—n que se va a realizar. Para tal fin coloca en la entrada de uf (unidad funcional), cuales van a ser los operandos de los multiplicadores con los que uf cuenta y adem‡s escribe en el selector de operaci—n de uf, el tipo de operaci—n a realizar.
|
component opcoder
|
component opcoder
|
generic (
|
generic (
|
width : integer := 18;
|
width : integer := 18;
|
structuralDescription : string:= "NO"
|
structuralDescription : string:= "NO"
|
)
|
);
|
port (
|
port (
|
Ax,Bx,Cx,Dx,Ay,By,Cy,Dy,Az,Bz,Cz,Dz : in std_logic_vector (17 downto 0);
|
Ax,Bx,Cx,Dx,Ay,By,Cy,Dy,Az,Bz,Cz,Dz : in std_logic_vector (17 downto 0);
|
m0f0,m0f1,m1f0,m1f1,m2f0,m2f1,m3f0,m3f1,m4f0,m4f1,m5f0,m5f1 : out std_logic_vector (17 downto 0);
|
m0f0,m0f1,m1f0,m1f1,m2f0,m2f1,m3f0,m3f1,m4f0,m4f1,m5f0,m5f1 : out std_logic_vector (17 downto 0);
|
opcode,addcode : in std_logic
|
opcode,addcode : in std_logic
|
);
|
);
|
end component;
|
end component;
|
|
|
--! Multiplexor estructural.
|
--! Multiplexor estructural.
|
entity fastmux is
|
component fastmux is
|
generic (
|
generic (
|
width : integer := 18
|
width : integer := 18
|
)
|
);
|
port (
|
port (
|
a,b:in std_logic_vector(w-1 downto 0);
|
a,b:in std_logic_vector(width-1 downto 0);
|
s:in std_logic;
|
s:in std_logic;
|
c: out std_logic_vector(w-1 downto 0)
|
c: out std_logic_vector(width-1 downto 0)
|
)
|
);
|
end entity;
|
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
|
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);
|