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

Subversion Repositories raytrac

[/] [raytrac/] [branches/] [fp/] [dpc.vhd] - Diff between revs 176 and 179

Show entire file | Details | Blame | View Log

Rev 176 Rev 179
Line 247... Line 247...
        --! Conectar las entradas del sumador a, a la salida 
        --! Conectar las entradas del sumador a, a la salida 
        ssumando(s6) <= sadd32blk(a2);
        ssumando(s6) <= sadd32blk(a2);
        ssumando(s7) <= sdpfifo_q(dpfifocd);
        ssumando(s7) <= sdpfifo_q(dpfifocd);
 
 
        --!El siguiente proceso conecta la se&ntilde;al de cola "casi llena", de la cola que corresponde al resultado de la operaci&oacute;n indicada por los bit UCA (Unary, Crossprod, Addsub).
        --!El siguiente proceso conecta la se&ntilde;al de cola "casi llena", de la cola que corresponde al resultado de la operaci&oacute;n indicada por los bit UCA (Unary, Crossprod, Addsub).
 
        --!Adicionalmente codifca en formato one HOT la cola de la instruccion en la que se escriben los resultados de la ultima instrucci&oacute;n que haya finalizado.
        sres0f          <= resf_vector(0);
        sres0f          <= resf_vector(0);
        sres123f        <= resf_vector(1);
        sres123f        <= resf_vector(1);
        sres24f         <= resf_vector(2);
        sres24f         <= resf_vector(2);
        sres567f        <= resf_vector(3);
        sres567f        <= resf_vector(3);
        fullQ:process(sres0f,sres123f,sres24f,sres567f,unary,crossprod,addsub,eoi_int)
        fullQ:process(sres0f,sres123f,sres24f,sres567f,unary,crossprod,addsub,eoi_int)
        begin
        begin
                if unary='0' then
                if unary='0' then
                        if addsub='1' then
 
                                --! Suma o Resta 
                        if addsub='1' or crossprod='1' then
 
                                --! Suma o Resta o producto cruz, comparten la misma cola de resultados. 
                                eoi_demuxed_int <= "00"&eoi_int&'0';
                                eoi_demuxed_int <= "00"&eoi_int&'0';
                                resf_event <= sres123f;
                                resf_event <= sres123f;
                        elsif crossprod='0' then
                        else
                                --! Producto Punto
                                --! Producto Punto utiliza como salida las colas 2 y 4
                                eoi_demuxed_int <= '0'&eoi_int&"00";
                                eoi_demuxed_int <= '0'&eoi_int&"00";
                                resf_event <= sres24f;
                                resf_event <= sres24f;
                        else
 
                                --! Producto Cruz
 
                                eoi_demuxed_int <= "00"&eoi_int&'0';
 
                                resf_event <= sres123f;
 
                        end if;
                        end if;
                elsif crossprod='1' then
                elsif crossprod='1' then
 
 
                        --! Normalizaci&oacute;n o Producto Escalar
                        --! Normalizaci&oacute;n o Producto Escalar
                        eoi_demuxed_int <= eoi_int&"000";
                        eoi_demuxed_int <= eoi_int&"000";

powered by: WebSVN 2.1.0

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