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

Subversion Repositories fpuvhdl

[/] [fpuvhdl/] [trunk/] [fpuvhdl/] [common/] [packfp_packfp.vhd] - Diff between revs 3 and 5

Only display areas with differences | Details | Blame | View Log

Rev 3 Rev 5
--
--
-- VHDL Architecture HAVOC.PackFP.PackFP
-- VHDL Architecture HAVOC.PackFP.PackFP
--
--
-- Created:
-- Created:
--          by - Guillermo
--          by - Guillermo
--          at - ITESM, 09:57:50 07/16/03
--          at - ITESM, 09:57:50 07/16/03
--
--
-- Generated by Mentor Graphics' HDL Designer(TM) 2002.1b (Build 7)
-- Generated by Mentor Graphics' HDL Designer(TM) 2002.1b (Build 7)
--
--
-- hds interface_start
-- hds interface_start
LIBRARY ieee;
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
USE ieee.std_logic_arith.all;
 
 
 
 
ENTITY PackFP IS
ENTITY PackFP IS
   PORT(
   PORT(
      SIGN  : IN     std_logic;
      SIGN  : IN     std_logic;
      EXP   : IN     std_logic_vector (7 DOWNTO 0);
      EXP   : IN     std_logic_vector (7 DOWNTO 0);
      SIG   : IN     std_logic_vector (22 DOWNTO 0);
      SIG   : IN     std_logic_vector (22 DOWNTO 0);
      isNaN : IN     std_logic;
      isNaN : IN     std_logic;
      isINF : IN     std_logic;
      isINF : IN     std_logic;
          isZ   : IN     std_logic;
          isZ   : IN     std_logic;
      FP    : OUT    std_logic_vector (31 DOWNTO 0)
      FP    : OUT    std_logic_vector (31 DOWNTO 0)
   );
   );
 
 
-- Declarations
-- Declarations
 
 
END PackFP ;
END PackFP ;
 
 
 
 
-- hds interface_end
-- hds interface_end
ARCHITECTURE PackFP OF PackFP IS
ARCHITECTURE PackFP OF PackFP IS
BEGIN
BEGIN
PROCESS(isNaN,isINF,isZ,SIGN,EXP,SIG)
PROCESS(isNaN,isINF,isZ,SIGN,EXP,SIG)
BEGIN
BEGIN
 
 
        IF (isNaN='1') THEN
        IF (isNaN='1') THEN
                FP(31) <= SIGN;
                FP(31) <= SIGN;
                FP(30 DOWNTO 23) <= X"FF";
                FP(30 DOWNTO 23) <= X"FF";
                FP(22 DOWNTO 0) <= "100" & X"00000";
                FP(22 DOWNTO 0) <= "100" & X"00000";
        ELSIF (isINF='1') THEN
        ELSIF (isINF='1') THEN
                FP(31) <= SIGN;
                FP(31) <= SIGN;
                FP(30 DOWNTO 23) <= X"FF";
                FP(30 DOWNTO 23) <= X"FF";
                FP(22 DOWNTO 0) <= (OTHERS => '0');
                FP(22 DOWNTO 0) <= (OTHERS => '0');
        ELSIF (isZ='1') THEN
        ELSIF (isZ='1') THEN
                FP(31) <= SIGN;
                FP(31) <= SIGN;
                FP(30 DOWNTO 23) <= X"00";
                FP(30 DOWNTO 23) <= X"00";
                FP(22 DOWNTO 0) <= (OTHERS => '0');
                FP(22 DOWNTO 0) <= (OTHERS => '0');
    ELSE
    ELSE
                FP(31) <= SIGN;
                FP(31) <= SIGN;
                FP(30 DOWNTO 23) <= EXP;
                FP(30 DOWNTO 23) <= EXP;
                FP(22 DOWNTO 0) <= SIG;
                FP(22 DOWNTO 0) <= SIG;
        END IF;
        END IF;
END PROCESS;
END PROCESS;
 
 
END PackFP;
END PackFP;
 
 
 
 

powered by: WebSVN 2.1.0

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