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

Subversion Repositories raytrac

[/] [raytrac/] [branches/] [fp/] [fmul32.vhd] - Diff between revs 155 and 157

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

Rev 155 Rev 157
Line 40... Line 40...
architecture fmul32_arch of fmul32 is
architecture fmul32_arch of fmul32 is
 
 
 
 
 
 
        --Stage 0 signals
        --Stage 0 signals
 
        signal s0dataa_alfa,s0dataa_beta,s0dataa_gama,s0datab : std_logic_vector(17 downto 0);
        --!TBXSTART:MULT_STAGE0 
        --!TBXSTART:MULT_STAGE0 
        signal s0sga,s0sgb,s0zrs : std_logic;
        signal s0sga,s0sgb,s0zrs : std_logic;
        signal s0exp : std_logic_vector(7 downto 0);
        signal s0exp : std_logic_vector(7 downto 0);
        signal s0uma,s0umb : std_logic_vector(22 downto 0);
        signal s0uma,s0umb : std_logic_vector(22 downto 0);
        signal s0ac : std_logic_vector(35 downto 0);
        signal s0ac : std_logic_vector(35 downto 0);
Line 98... Line 99...
        end process;
        end process;
 
 
        --! Combinatorial Gremlin Etapa 0 : multiplicacion de la mantissa, suma de los exponentes y multiplicación de los signos.
        --! Combinatorial Gremlin Etapa 0 : multiplicacion de la mantissa, suma de los exponentes y multiplicación de los signos.
 
 
        --! Multipliers
        --! Multipliers
 
        s0dataa_alfa <= s0zrs&s0uma(22 downto 6);
 
        s0datab <= s0zrs&s0umb(22 downto 6);
        mult18x18ac:lpm_mult
        mult18x18ac:lpm_mult
        generic map (
        generic map (
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_pipeline => 0,
                lpm_pipeline => 0,
                lpm_representation => "UNSIGNED",
                lpm_representation => "UNSIGNED",
Line 109... Line 112...
                lpm_widtha => 18,
                lpm_widtha => 18,
                lpm_widthb => 18,
                lpm_widthb => 18,
                lpm_widthp => 36
                lpm_widthp => 36
        )
        )
        port map (
        port map (
                dataa => s0zrs&s0uma(22 downto 6),
                dataa => s0dataa_alfa,
                datab => s0zrs&s0umb(22 downto 6),
                datab => s0datab,
                result => s0ac
                result => s0ac
        );
        );
 
        s0dataa_beta <= s0zrs&s0uma(22 downto 6);
        mult18x6ad:lpm_mult
        mult18x6ad:lpm_mult
        generic map (
        generic map (
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_pipeline => 0,
                lpm_pipeline => 0,
                lpm_representation => "UNSIGNED",
                lpm_representation => "UNSIGNED",
Line 124... Line 128...
                lpm_widtha => 18,
                lpm_widtha => 18,
                lpm_widthb => 6,
                lpm_widthb => 6,
                lpm_widthp => 24
                lpm_widthp => 24
        )
        )
        port map (
        port map (
                dataa => s0zrs&s0uma(22 downto 6),
                dataa => s0dataa_beta,
                datab => s0umb(5 downto 0),
                datab => s0umb(5 downto 0),
                result => s0ad
                result => s0ad
        );
        );
 
        s0dataa_gama <= s0zrs&s0umb(22 downto 6);
        mult18x6bc:lpm_mult
        mult18x6bc:lpm_mult
        generic map (
        generic map (
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_hint => "DEDICATED_MULTIPLIER_CIRCUITRY=YES,MAXIMIZE_SPEED=9",
                lpm_pipeline => 0,
                lpm_pipeline => 0,
                lpm_representation => "UNSIGNED",
                lpm_representation => "UNSIGNED",
Line 139... Line 144...
                lpm_widtha => 18,
                lpm_widtha => 18,
                lpm_widthb => 6,
                lpm_widthb => 6,
                lpm_widthp => 24
                lpm_widthp => 24
        )
        )
        port map (
        port map (
                dataa => s0zrs&s0umb(22 downto 6),
                dataa => s0dataa_gama,
                datab => s0uma(5 downto 0),
                datab => s0uma(5 downto 0),
                result => s0bc
                result => s0bc
        );
        );
 
 
        --! Exponent Addition 
        --! Exponent Addition 

powered by: WebSVN 2.1.0

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