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

Subversion Repositories fpuvhdl

[/] [fpuvhdl/] [trunk/] [fpuvhdl/] [adder/] [fpadd_stage5_struct.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 gmarcus
-- VHDL Entity work.FPadd_stage5.interface
2 3 gmarcus
--
3
-- Created by
4
-- Guillermo Marcus, gmarcus@ieee.org
5
-- using Mentor Graphics FPGA Advantage tools.
6
--
7
-- Visit "http://fpga.mty.itesm.mx" for more info.
8
--
9
-- 2003-2004. V1.0
10
--
11
 
12
LIBRARY ieee;
13
USE ieee.std_logic_1164.all;
14
USE ieee.std_logic_arith.all;
15
 
16
ENTITY FPadd_stage5 IS
17
   PORT(
18
      EXP_norm         : IN     std_logic_vector (7 DOWNTO 0);
19
      OV_stage4        : IN     std_logic;
20
      SIG_norm         : IN     std_logic_vector (27 DOWNTO 0);
21
      Z_SIGN_stage4    : IN     std_logic;
22
      clk              : IN     std_logic;
23
      isINF_tab_stage4 : IN     std_logic;
24
      isNaN_stage4     : IN     std_logic;
25
      isZ_tab_stage4   : IN     std_logic;
26
      zero_stage4      : IN     std_logic;
27
      OV               : OUT    std_logic;
28
      SIG_norm2        : OUT    std_logic_vector (27 DOWNTO 0);
29
      Z_EXP            : OUT    std_logic_vector (7 DOWNTO 0);
30
      Z_SIGN           : OUT    std_logic;
31
      isINF_tab        : OUT    std_logic;
32
      isNaN            : OUT    std_logic;
33
      isZ_tab          : OUT    std_logic;
34
      zero             : OUT    std_logic
35
   );
36
 
37
-- Declarations
38
 
39
END FPadd_stage5 ;
40
 
41
--
42 4 gmarcus
-- VHDL Architecture work.FPadd_stage5.struct
43 3 gmarcus
--
44
-- Created by
45
-- Guillermo Marcus, gmarcus@ieee.org
46
-- using Mentor Graphics FPGA Advantage tools.
47
--
48
-- Visit "http://fpga.mty.itesm.mx" for more info.
49
--
50
-- Copyright 2003-2004. V1.0
51
--
52
 
53
 
54
LIBRARY ieee;
55
USE ieee.std_logic_1164.all;
56
USE ieee.std_logic_arith.all;
57
 
58
ARCHITECTURE struct OF FPadd_stage5 IS
59
 
60
   -- Architecture declarations
61
 
62
   -- Internal signal declarations
63
   SIGNAL EXP_round_int : std_logic_vector(7 DOWNTO 0);
64
   SIGNAL SIG_norm2_int : std_logic_vector(27 DOWNTO 0);
65
   SIGNAL SIG_round_int : std_logic_vector(27 DOWNTO 0);
66
   SIGNAL Z_EXP_int     : std_logic_vector(7 DOWNTO 0);
67
 
68
 
69
   -- Component Declarations
70
   COMPONENT FPnormalize
71
   GENERIC (
72
      SIG_width : integer := 28
73
   );
74
   PORT (
75
      SIG_in  : IN     std_logic_vector (SIG_width-1 DOWNTO 0);
76
      EXP_in  : IN     std_logic_vector (7 DOWNTO 0);
77
      SIG_out : OUT    std_logic_vector (SIG_width-1 DOWNTO 0);
78
      EXP_out : OUT    std_logic_vector (7 DOWNTO 0)
79
   );
80
   END COMPONENT;
81
   COMPONENT FPround
82
   GENERIC (
83
      SIG_width : integer := 28
84
   );
85
   PORT (
86
      SIG_in  : IN     std_logic_vector (SIG_width-1 DOWNTO 0);
87
      EXP_in  : IN     std_logic_vector (7 DOWNTO 0);
88
      SIG_out : OUT    std_logic_vector (SIG_width-1 DOWNTO 0);
89
      EXP_out : OUT    std_logic_vector (7 DOWNTO 0)
90
   );
91
   END COMPONENT;
92
 
93
   -- Optional embedded configurations
94
   -- pragma synthesis_off
95 4 gmarcus
   FOR ALL : FPnormalize USE ENTITY work.FPnormalize;
96
   FOR ALL : FPround USE ENTITY work.FPround;
97 3 gmarcus
   -- pragma synthesis_on
98
 
99
 
100
BEGIN
101
   -- Architecture concurrent statements
102
   -- HDL Embedded Text Block 1 eb1
103
   --reg1 1
104
   PROCESS(clk)
105
   BEGIN
106
      IF RISING_EDGE(clk) THEN
107
         Z_EXP <= Z_EXP_int;
108
         SIG_norm2 <= SIG_norm2_int;
109
         Z_SIGN <= Z_SIGN_stage4;
110
         OV <= OV_stage4;
111
         zero <= zero_stage4;
112
         isINF_tab <= isINF_tab_stage4;
113
         isNaN <= isNaN_stage4;
114
         isZ_tab <= isZ_tab_stage4;
115
      END IF;
116
   END PROCESS;
117
 
118
 
119
   -- Instance port mappings.
120
   I11 : FPnormalize
121
      GENERIC MAP (
122
         SIG_width => 28
123
      )
124
      PORT MAP (
125
         SIG_in  => SIG_round_int,
126
         EXP_in  => EXP_round_int,
127
         SIG_out => SIG_norm2_int,
128
         EXP_out => Z_EXP_int
129
      );
130
   I10 : FPround
131
      GENERIC MAP (
132
         SIG_width => 28
133
      )
134
      PORT MAP (
135
         SIG_in  => SIG_norm,
136
         EXP_in  => EXP_norm,
137
         SIG_out => SIG_round_int,
138
         EXP_out => EXP_round_int
139
      );
140
 
141
END struct;

powered by: WebSVN 2.1.0

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