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

Subversion Repositories fpuvhdl

[/] [fpuvhdl/] [trunk/] [fpuvhdl/] [multiplier/] [fpmul_stage3_struct.vhd] - Blame information for rev 3

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 gmarcus
-- VHDL Entity HAVOC.FPmul_stage3.interface
2
--
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 FPmul_stage3 IS
17
   PORT(
18
      EXP_in          : IN     std_logic_vector (7 DOWNTO 0);
19
      EXP_neg_stage2  : IN     std_logic;
20
      EXP_pos_stage2  : IN     std_logic;
21
      SIGN_out_stage2 : IN     std_logic;
22
      SIG_in          : IN     std_logic_vector (27 DOWNTO 0);
23
      clk             : IN     std_logic;
24
      isINF_stage2    : IN     std_logic;
25
      isNaN_stage2    : IN     std_logic;
26
      isZ_tab_stage2  : IN     std_logic;
27
      EXP_neg         : OUT    std_logic;
28
      EXP_out_round   : OUT    std_logic_vector (7 DOWNTO 0);
29
      EXP_pos         : OUT    std_logic;
30
      SIGN_out        : OUT    std_logic;
31
      SIG_out_round   : OUT    std_logic_vector (27 DOWNTO 0);
32
      isINF_tab       : OUT    std_logic;
33
      isNaN           : OUT    std_logic;
34
      isZ_tab         : OUT    std_logic
35
   );
36
 
37
-- Declarations
38
 
39
END FPmul_stage3 ;
40
 
41
--
42
-- VHDL Architecture HAVOC.FPmul_stage3.struct
43
--
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
LIBRARY HAVOC;
59
 
60
ARCHITECTURE struct OF FPmul_stage3 IS
61
 
62
   -- Architecture declarations
63
 
64
   -- Internal signal declarations
65
   SIGNAL EXP_out      : std_logic_vector(7 DOWNTO 0);
66
   SIGNAL EXP_out_norm : std_logic_vector(7 DOWNTO 0);
67
   SIGNAL SIG_out      : std_logic_vector(27 DOWNTO 0);
68
   SIGNAL SIG_out_norm : std_logic_vector(27 DOWNTO 0);
69
 
70
 
71
   -- Component Declarations
72
   COMPONENT FPnormalize
73
   GENERIC (
74
      SIG_width : integer := 28
75
   );
76
   PORT (
77
      SIG_in  : IN     std_logic_vector (SIG_width-1 DOWNTO 0);
78
      EXP_in  : IN     std_logic_vector (7 DOWNTO 0);
79
      SIG_out : OUT    std_logic_vector (SIG_width-1 DOWNTO 0);
80
      EXP_out : OUT    std_logic_vector (7 DOWNTO 0)
81
   );
82
   END COMPONENT;
83
   COMPONENT FPround
84
   GENERIC (
85
      SIG_width : integer := 28
86
   );
87
   PORT (
88
      SIG_in  : IN     std_logic_vector (SIG_width-1 DOWNTO 0);
89
      EXP_in  : IN     std_logic_vector (7 DOWNTO 0);
90
      SIG_out : OUT    std_logic_vector (SIG_width-1 DOWNTO 0);
91
      EXP_out : OUT    std_logic_vector (7 DOWNTO 0)
92
   );
93
   END COMPONENT;
94
 
95
   -- Optional embedded configurations
96
   -- pragma synthesis_off
97
   FOR ALL : FPnormalize USE ENTITY HAVOC.FPnormalize;
98
   FOR ALL : FPround USE ENTITY HAVOC.FPround;
99
   -- pragma synthesis_on
100
 
101
 
102
BEGIN
103
   -- Architecture concurrent statements
104
   -- HDL Embedded Text Block 1 latch
105
   -- latch 1
106
   PROCESS(clk)
107
   BEGIN
108
      IF RISING_EDGE(clk) THEN
109
         EXP_out_round <= EXP_out;
110
         SIG_out_round <= SIG_out;
111
      END IF;
112
   END PROCESS;
113
 
114
   -- HDL Embedded Text Block 2 latch2
115
   -- latch2 2
116
   PROCESS(clk)
117
   BEGIN
118
      IF RISING_EDGE(clk) THEN
119
         isINF_tab <= isINF_stage2;
120
         isNaN <= isNaN_stage2;
121
         isZ_tab <= isZ_tab_stage2;
122
         SIGN_out <= SIGN_out_stage2;
123
         EXP_pos <= EXP_pos_stage2;
124
         EXP_neg <= EXP_neg_stage2;
125
      END IF;
126
   END PROCESS;
127
 
128
 
129
   -- Instance port mappings.
130
   I9 : FPnormalize
131
      GENERIC MAP (
132
         SIG_width => 28
133
      )
134
      PORT MAP (
135
         SIG_in  => SIG_in,
136
         EXP_in  => EXP_in,
137
         SIG_out => SIG_out_norm,
138
         EXP_out => EXP_out_norm
139
      );
140
   I11 : FPround
141
      GENERIC MAP (
142
         SIG_width => 28
143
      )
144
      PORT MAP (
145
         SIG_in  => SIG_out_norm,
146
         EXP_in  => EXP_out_norm,
147
         SIG_out => SIG_out,
148
         EXP_out => EXP_out
149
      );
150
 
151
END struct;

powered by: WebSVN 2.1.0

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