URL
https://opencores.org/ocsvn/raytrac/raytrac/trunk
[/] [raytrac/] [branches/] [fp/] [fmul32.vhd] - Diff between revs 139 and 150
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 139 |
Rev 150 |
Line 24... |
Line 24... |
-- along with raytrac. If not, see <http://www.gnu.org/licenses/>
|
-- along with raytrac. If not, see <http://www.gnu.org/licenses/>
|
library ieee;
|
library ieee;
|
use ieee.std_logic_1164.all;
|
use ieee.std_logic_1164.all;
|
use ieee.std_logic_unsigned.all;
|
use ieee.std_logic_unsigned.all;
|
entity fmul32 is
|
entity fmul32 is
|
generic (
|
|
propagation_chain : string := "ON"
|
|
);
|
|
port (
|
port (
|
clk,prop_in : in std_logic;
|
clk : in std_logic;
|
a32,b32 : in std_logic_vector(31 downto 0);
|
a32,b32 : in std_logic_vector(31 downto 0);
|
p32,prop_out : out std_logic_vector(31 downto 0)
|
p32 : out std_logic_vector(31 downto 0)
|
|
|
);
|
);
|
end fmul32;
|
end fmul32;
|
architecture fmul32_arch of fmul32 is
|
architecture fmul32_arch of fmul32 is
|
|
|
Line 68... |
Line 66... |
|
|
signal s1ac,s1umu:std_logic_vector(35 downto 0);
|
signal s1ac,s1umu:std_logic_vector(35 downto 0);
|
signal s2umu:std_logic_vector(24 downto 0);
|
signal s2umu:std_logic_vector(24 downto 0);
|
signal sxprop : std_logic_vector(2 downto 0);
|
signal sxprop : std_logic_vector(2 downto 0);
|
begin
|
begin
|
propagation:
|
|
if propagation_chain="ON" generate
|
|
prop_out <= sxprop(2);
|
|
process (clk)
|
|
begin
|
|
if clk'event and clk='1' then
|
|
for i in 2 downto 1 loop
|
|
sxprop(i) <= sxprop(i-1);
|
|
end loop;
|
|
sxprop(0) <= prop_in;
|
|
end if;
|
|
end process;
|
|
end generate propagation ;
|
|
|
|
process(clk)
|
process(clk)
|
begin
|
begin
|
|
|
if clk'event and clk='1' then
|
if clk'event and clk='1' then
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.