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

Subversion Repositories fpuvhdl

[/] [fpuvhdl/] [trunk/] [fpuvhdl/] [multiplier/] [fpmul_single_cycle.vhd] - Diff between revs 3 and 4

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

Rev 3 Rev 4
Line 40... Line 40...
 
 
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;
 
 
LIBRARY HAVOC;
 
 
 
ARCHITECTURE single_cycle OF FPmul IS
ARCHITECTURE single_cycle OF FPmul IS
 
 
   -- Architecture declarations
   -- Architecture declarations
      -- Non hierarchical truthtable declarations
      -- Non hierarchical truthtable declarations
 
 
Line 132... Line 130...
   );
   );
   END COMPONENT;
   END COMPONENT;
 
 
   -- Optional embedded configurations
   -- Optional embedded configurations
   -- pragma synthesis_off
   -- pragma synthesis_off
   FOR ALL : FPnormalize USE ENTITY HAVOC.FPnormalize;
   FOR ALL : FPnormalize USE ENTITY work.FPnormalize;
   FOR ALL : FPround USE ENTITY HAVOC.FPround;
   FOR ALL : FPround USE ENTITY work.FPround;
   FOR ALL : PackFP USE ENTITY HAVOC.PackFP;
   FOR ALL : PackFP USE ENTITY work.PackFP;
   FOR ALL : UnpackFP USE ENTITY HAVOC.UnpackFP;
   FOR ALL : UnpackFP USE ENTITY work.UnpackFP;
   -- pragma synthesis_on
   -- pragma synthesis_on
 
 
 
 
BEGIN
BEGIN
   -- Architecture concurrent statements
   -- Architecture concurrent statements
Line 232... Line 230...
 
 
   -- HDL Embedded Text Block 6 eb6
   -- HDL Embedded Text Block 6 eb6
   -- eb6 6
   -- eb6 6
   PROCESS(SIG_out_norm2,A_EXP,B_EXP, EXP_out)
   PROCESS(SIG_out_norm2,A_EXP,B_EXP, EXP_out)
   BEGIN
   BEGIN
      IF (EXP_out(7)='1' AND A_EXP(7)='0' AND B_EXP(7)='0') OR
      IF ( EXP_out(7)='1' AND
         (SIG_out_norm2(26 DOWNTO 3)="000000000000000000000000") THEN
                    ( (A_EXP(7)='0' AND NOT (A_EXP=X"7F")) AND
 
                           (B_EXP(7)='0' AND NOT (B_EXP=X"7F")) ) ) OR
 
         (SIG_out_norm2(26 DOWNTO 3)=X"000000") THEN
         -- Underflow or zero significand
         -- Underflow or zero significand
         SIG_isZ <= '1';
         SIG_isZ <= '1';
      ELSE
      ELSE
         SIG_isZ <= '0';
         SIG_isZ <= '0';
      END IF;
      END IF;

powered by: WebSVN 2.1.0

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