Line 22... |
Line 22... |
|
|
library ieee;
|
library ieee;
|
use ieee.std_logic_1164.all;
|
use ieee.std_logic_1164.all;
|
entity dpc is
|
entity dpc is
|
generic (
|
generic (
|
width : integer := 32
|
width : integer := 32;
|
|
external_readable_widthad : integer := integer(ceil(log(real(external_readable_blocks),2.0))))
|
);
|
);
|
port (
|
port (
|
paraminput : in std_logic_vector ((12*width)-1 downto 0); --! Vectores A,B,C,D
|
paraminput : in std_logic_vector ((12*width)-1 downto 0); --! Vectores A,B,C,D
|
prd32blko : in std_logic_vector ((06*width)-1 downto 0); --! Salidas de los 6 multiplicadores.
|
prd32blko : in std_logic_vector ((06*width)-1 downto 0); --! Salidas de los 6 multiplicadores.
|
add32blko : in std_logic_vector ((04*width)-1 downto 0); --! Salidas de los 4 sumadores.
|
add32blko : in std_logic_vector ((04*width)-1 downto 0); --! Salidas de los 4 sumadores.
|
Line 152... |
Line 153... |
sfactor(f7) <= sinv32blk;
|
sfactor(f7) <= sinv32blk;
|
sfactor(f8) <= snormfifo_q(ay);
|
sfactor(f8) <= snormfifo_q(ay);
|
sfactor(f9) <= sinv32blk;
|
sfactor(f9) <= sinv32blk;
|
sfactor(f10) <= snormfifo_q(az);
|
sfactor(f10) <= snormfifo_q(az);
|
sfactor(f11) <= sinv32blk;
|
sfactor(f11) <= sinv32blk;
|
elsif crossprod='0' then
|
elsif crossprod='1' then
|
--! Solo productos punto
|
--! Solo productos punto
|
sfactor(f0) <= sparaminput(ay);
|
sfactor(f0) <= sparaminput(ay);
|
sfactor(f1) <= sparaminput(bz);
|
sfactor(f1) <= sparaminput(bz);
|
sfactor(f2) <= sparaminput(az);
|
sfactor(f2) <= sparaminput(az);
|
sfactor(f3) <= sparaminput(by);
|
sfactor(f3) <= sparaminput(by);
|
Line 166... |
Line 167... |
sfactor(f7) <= sparaminput(bz);
|
sfactor(f7) <= sparaminput(bz);
|
sfactor(f8) <= sparaminput(ax);
|
sfactor(f8) <= sparaminput(ax);
|
sfactor(f9) <= sparaminput(by);
|
sfactor(f9) <= sparaminput(by);
|
sfactor(f10) <= sparaminput(ay);
|
sfactor(f10) <= sparaminput(ay);
|
sfactor(f11) <= sparaminput(bx);
|
sfactor(f11) <= sparaminput(bx);
|
elsif scalar='0' then
|
elsif scalar='0' then --! Producto punto
|
sfactor(f0) <= sparaminput(ax) ;
|
sfactor(f0) <= sparaminput(ax) ;
|
sfactor(f1) <= sparaminput(bx) ;
|
sfactor(f1) <= sparaminput(bx) ;
|
sfactor(f2) <= sparaminput(ay) ;
|
sfactor(f2) <= sparaminput(ay) ;
|
sfactor(f3) <= sparaminput(by) ;
|
sfactor(f3) <= sparaminput(by) ;
|
sfactor(f4) <= sparaminput(az) ;
|
sfactor(f4) <= sparaminput(az) ;
|