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

Subversion Repositories raytrac

[/] [raytrac/] [branches/] [fp_sgdma/] [ap_n_dpc.vhd] - Diff between revs 145 and 147

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

Rev 145 Rev 147
Line 36... Line 36...
                sqr32blko,inv32blko             : in    std_logic_vector (width-1 downto 0);             --! Salidas de la raiz cuadradas y el inversor.
                sqr32blko,inv32blko             : in    std_logic_vector (width-1 downto 0);             --! Salidas de la raiz cuadradas y el inversor.
                fifo32x23_q                             : in    std_logic_vector (03*width-1 downto 0);          --! Salida de la cola intermedia.
                fifo32x23_q                             : in    std_logic_vector (03*width-1 downto 0);          --! Salida de la cola intermedia.
                fifo32x09_q                             : in    std_logic_vector (02*width-1 downto 0);  --! Salida de las colas de producto punto. 
                fifo32x09_q                             : in    std_logic_vector (02*width-1 downto 0);  --! Salida de las colas de producto punto. 
                unary,crossprod,addsub  : in    std_logic;                                                                      --! Bit con el identificador del bloque AB vs CD e identificador del sub bloque (A/B) o (C/D). 
                unary,crossprod,addsub  : in    std_logic;                                                                      --! Bit con el identificador del bloque AB vs CD e identificador del sub bloque (A/B) o (C/D). 
                sync_chain_0                    : in    std_logic;                                                                      --! Señal de dato valido que se va por toda la cadena de sincronizacion.
                sync_chain_0                    : in    std_logic;                                                                      --! Señal de dato valido que se va por toda la cadena de sincronizacion.
 
                eoi_int                                 : in    std_logic;                                                                      --! Sennal de interrupción de final de instrucción.
 
                eoi_demuxed_int                 : out   std_logic_vector (3 downto 0);                           --! Señal de interrupción de final de instrucción pero esta vez va asociada a la instruccón UCA.
                sqr32blki,inv32blki             : out   std_logic_vector (width-1 downto 0);             --! Salidas de las 2 raices cuadradas y los 2 inversores.
                sqr32blki,inv32blki             : out   std_logic_vector (width-1 downto 0);             --! Salidas de las 2 raices cuadradas y los 2 inversores.
                fifo32x26_d                             : out   std_logic_vector (03*width-1 downto 0);          --! Entrada a la cola intermedia para la normalización.
                fifo32x26_d                             : out   std_logic_vector (03*width-1 downto 0);          --! Entrada a la cola intermedia para la normalización.
                fifo32x09_d                             : out   std_logic_vector (02*width-1 downto 0);          --! Entrada a las colas intermedias del producto punto.         
                fifo32x09_d                             : out   std_logic_vector (02*width-1 downto 0);          --! Entrada a las colas intermedias del producto punto.         
                prd32blki                               : out   std_logic_vector ((12*width)-1 downto 0);        --! Entrada de los 12 factores en el bloque de multiplicación respectivamente.
                prd32blki                               : out   std_logic_vector ((12*width)-1 downto 0);        --! Entrada de los 12 factores en el bloque de multiplicación respectivamente.
                add32blki                               : out   std_logic_vector ((08*width)-1 downto 0);        --! Entrada de los 8 sumandos del bloque de 4 sumadores.  
                add32blki                               : out   std_logic_vector ((08*width)-1 downto 0);        --! Entrada de los 8 sumandos del bloque de 4 sumadores.  
Line 47... Line 49...
                res0w,res4w,fifo32x09_w : out   std_logic;
                res0w,res4w,fifo32x09_w : out   std_logic;
                fifo32x23_w,fifo32x09_r : out   std_logic;
                fifo32x23_w,fifo32x09_r : out   std_logic;
                fifo32x23_r                             : out   std_logic;
                fifo32x23_r                             : out   std_logic;
                res567f,res13f                  : in    std_logic;                                                                      --! Entradas de la señal de full de las colas de resultados. 
                res567f,res13f                  : in    std_logic;                                                                      --! Entradas de la señal de full de las colas de resultados. 
                res2f,res0f                             : in    std_logic;
                res2f,res0f                             : in    std_logic;
                resf                                    : out   std_logic;                                                                      --! Salida decodificada que indica que la cola de resultados de la operación está en curso.
                resf                                    : out   std_logic;                                                                      --! Salida decodificada que indica que la cola de resultados de la operación que está en curso.
                resultoutput                    : out   std_logic_vector ((08*width)-1 downto 0)         --! 8 salidas de resultados, pues lo máximo que podrá calcularse por cada clock son 2 vectores. 
                resultoutput                    : out   std_logic_vector ((08*width)-1 downto 0)         --! 8 salidas de resultados, pues lo máximo que podrá calcularse por cada clock son 2 vectores. 
        );
        );
end dpc;
end dpc;
 
 
architecture dpc_arch of dpc is
architecture dpc_arch of dpc is
Line 224... Line 226...
        --!El siguiente proceso conecta la señal de cola "casi llena", de la cola que corresponde al resultado de la operación indicada por los bit UCA (Unary, Crossprod, Addsub).
        --!El siguiente proceso conecta la señal de cola "casi llena", de la cola que corresponde al resultado de la operación indicada por los bit UCA (Unary, Crossprod, Addsub).
        fullQ:process(res0f,res13f,res2f,res567f,unary,crossprod,addsub)
        fullQ:process(res0f,res13f,res2f,res567f,unary,crossprod,addsub)
        begin
        begin
                if unary='0' then
                if unary='0' then
                        if crossprod='1' or addsub='1' then
                        if crossprod='1' or addsub='1' then
 
                                eoi_demuxed_int <= "00"&eoi_int&'0';
                                resf <= res13f;
                                resf <= res13f;
                        else
                        else
 
                                eoi_demuxed_int <= '0'&eoi_int&"00";
                                resf <= res2f;
                                resf <= res2f;
                        end if;
                        end if;
                elsif crossprod='1' or addsub='1' then
                elsif crossprod='1' or addsub='1' then
 
                        eoi_demuxed_int <= eoi_int&"000";
                        resf <= res567f;
                        resf <= res567f;
                else
                else
 
                        eoi_demuxed_int <= "000"&eoi_int;
                        resf <= res0f;
                        resf <= res0f;
                end if;
                end if;
        end process;
        end process;
 
 
        --! Decodificaci&oacute;n del Datapath.
        --! Decodificaci&oacute;n del Datapath.

powered by: WebSVN 2.1.0

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