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

Subversion Repositories complexise

[/] [complexise/] [trunk/] [datapath.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 iloveliora
-- Copyright (C) 1991-2009 Altera Corporation
2
-- Your use of Altera Corporation's design tools, logic functions 
3
-- and other software and tools, and its AMPP partner logic 
4
-- functions, and any output files from any of the foregoing 
5
-- (including device programming or simulation files), and any 
6
-- associated documentation or information are expressly subject 
7
-- to the terms and conditions of the Altera Program License 
8
-- Subscription Agreement, Altera MegaCore Function License 
9
-- Agreement, or other applicable license agreement, including, 
10
-- without limitation, that your use is for the sole purpose of 
11
-- programming logic devices manufactured by Altera and sold by 
12
-- Altera or its authorized distributors.  Please refer to the 
13
-- applicable agreement for further details.
14
 
15
-- PROGRAM              "Quartus II"
16
-- VERSION              "Version 9.0 Build 235 06/17/2009 Service Pack 2 SJ Web Edition"
17
-- CREATED ON           "Wed May 26 16:13:38 2010"
18
 
19
LIBRARY ieee;
20
USE ieee.std_logic_1164.all;
21
 
22
LIBRARY work;
23
 
24
ENTITY datapath IS
25
        PORT
26
        (
27
                clk :  IN  STD_LOGIC;
28
                clk_en :  IN  STD_LOGIC;
29
                aclr :  IN  STD_LOGIC;
30
                dataa :  IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
31
                datab :  IN  STD_LOGIC_VECTOR(31 DOWNTO 0);
32
                sel :  IN  STD_LOGIC_VECTOR(1 DOWNTO 0);
33
                NaN :  OUT  STD_LOGIC;
34
                underflow :  OUT  STD_LOGIC;
35
                zero :  OUT  STD_LOGIC;
36
                overflow :  OUT  STD_LOGIC;
37
                division_by_zero :  OUT  STD_LOGIC;
38
                result :  OUT  STD_LOGIC_VECTOR(31 DOWNTO 0)
39
        );
40
END datapath;
41
 
42
ARCHITECTURE bdf_type OF datapath IS
43
 
44
COMPONENT ci_altfp_add_sub
45
        PORT(aclr : IN STD_LOGIC;
46
                 clk_en : IN STD_LOGIC;
47
                 clock : IN STD_LOGIC;
48
                 dataa : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
49
                 datab : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
50
                 nan : OUT STD_LOGIC;
51
                 overflow : OUT STD_LOGIC;
52
                 underflow : OUT STD_LOGIC;
53
                 zero : OUT STD_LOGIC;
54
                 result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
55
        );
56
END COMPONENT;
57
 
58
COMPONENT lpm_mux0
59
        PORT(data0x : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
60
                 data1x : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
61
                 data2x : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
62
                 sel : IN STD_LOGIC_VECTOR(1 DOWNTO 0);
63
                 result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
64
        );
65
END COMPONENT;
66
 
67
 
68
 
69
--component lpm_mux1
70
--      PORT
71
--      (
72
--              data0x          : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
73
--              data1x          : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
74
--              data2x          : IN STD_LOGIC_VECTOR (31 DOWNTO 0);
75
--              sel             : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
76
--              result          : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
77
--      );
78
--end component;
79
 
80
 
81
 
82
COMPONENT ci_altfp_div
83
        PORT(aclr : IN STD_LOGIC;
84
                 clk_en : IN STD_LOGIC;
85
                 clock : IN STD_LOGIC;
86
                 dataa : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
87
                 datab : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
88
                 division_by_zero : OUT STD_LOGIC;
89
                 nan : OUT STD_LOGIC;
90
                 overflow : OUT STD_LOGIC;
91
                 underflow : OUT STD_LOGIC;
92
                 zero : OUT STD_LOGIC;
93
                 result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
94
        );
95
END COMPONENT;
96
 
97
COMPONENT ci_altfp_mult
98
        PORT(aclr : IN STD_LOGIC;
99
                 clk_en : IN STD_LOGIC;
100
                 clock : IN STD_LOGIC;
101
                 dataa : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
102
                 datab : IN STD_LOGIC_VECTOR(31 DOWNTO 0);
103
                 nan : OUT STD_LOGIC;
104
                 overflow : OUT STD_LOGIC;
105
                 underflow : OUT STD_LOGIC;
106
                 zero : OUT STD_LOGIC;
107
                 result : OUT STD_LOGIC_VECTOR(31 DOWNTO 0)
108
        );
109
END COMPONENT;
110
 
111
SIGNAL  SYNTHESIZED_WIRE_0 :  STD_LOGIC_VECTOR(31 DOWNTO 0);
112
SIGNAL  SYNTHESIZED_WIRE_1 :  STD_LOGIC_VECTOR(31 DOWNTO 0);
113
SIGNAL  SYNTHESIZED_WIRE_2 :  STD_LOGIC_VECTOR(31 DOWNTO 0);
114
SIGNAL  SYNTHESIZED_WIRE_3 :  STD_LOGIC;
115
SIGNAL  SYNTHESIZED_WIRE_4 :  STD_LOGIC;
116
SIGNAL  SYNTHESIZED_WIRE_5 :  STD_LOGIC;
117
SIGNAL  SYNTHESIZED_WIRE_6 :  STD_LOGIC;
118
SIGNAL  SYNTHESIZED_WIRE_7 :  STD_LOGIC;
119
SIGNAL  SYNTHESIZED_WIRE_8 :  STD_LOGIC;
120
SIGNAL  SYNTHESIZED_WIRE_9 :  STD_LOGIC;
121
SIGNAL  SYNTHESIZED_WIRE_10 :  STD_LOGIC;
122
SIGNAL  SYNTHESIZED_WIRE_11 :  STD_LOGIC;
123
SIGNAL  SYNTHESIZED_WIRE_12 :  STD_LOGIC;
124
SIGNAL  SYNTHESIZED_WIRE_13 :  STD_LOGIC;
125
SIGNAL  SYNTHESIZED_WIRE_14 :  STD_LOGIC;
126
 
127
 
128
BEGIN
129
 
130
 
131
 
132
b2v_inst1 : ci_altfp_add_sub
133
PORT MAP(aclr => aclr,
134
                 clk_en => clk_en,-- and sel(0) and not sel(1),
135
                 clock => clk,
136
                 dataa => dataa,
137
                 datab => datab,
138
                 nan => SYNTHESIZED_WIRE_14,
139
                 overflow => SYNTHESIZED_WIRE_11,
140
                 underflow => SYNTHESIZED_WIRE_8,
141
                 zero => SYNTHESIZED_WIRE_5,
142
                 result => SYNTHESIZED_WIRE_1);
143
 
144
 
145
b2v_inst10 : lpm_mux0
146
PORT MAP(data0x => SYNTHESIZED_WIRE_0,
147
                 data1x => SYNTHESIZED_WIRE_1,
148
                 data2x => SYNTHESIZED_WIRE_2,
149
                 sel => sel,
150
                 result => result);
151
 
152
 
153
 
154
 
155
b2v_inst2 : ci_altfp_div
156
PORT MAP(aclr => aclr,
157
                 clk_en => clk_en, -- and not sel(0) and sel(1),
158
                 clock => clk,
159
                 dataa => dataa,
160
                 datab => datab,
161
                 division_by_zero => division_by_zero,
162
                 nan => SYNTHESIZED_WIRE_12,
163
                 overflow => SYNTHESIZED_WIRE_9,
164
                 underflow => SYNTHESIZED_WIRE_6,
165
                 zero => SYNTHESIZED_WIRE_3,
166
                 result => SYNTHESIZED_WIRE_2);
167
 
168
 
169
b2v_inst3 : ci_altfp_mult
170
PORT MAP(aclr => aclr,
171
                 clk_en => clk_en, -- and not sel(0) and not sel(1) ,
172
                 clock => clk,
173
                 dataa => dataa,
174
                 datab => datab,
175
                 nan => SYNTHESIZED_WIRE_13,
176
                 overflow => SYNTHESIZED_WIRE_10,
177
                 underflow => SYNTHESIZED_WIRE_7,
178
                 zero => SYNTHESIZED_WIRE_4,
179
                 result => SYNTHESIZED_WIRE_0);
180
 
181
 
182
zero <= SYNTHESIZED_WIRE_3 OR SYNTHESIZED_WIRE_4 OR SYNTHESIZED_WIRE_5;
183
 
184
 
185
underflow <= SYNTHESIZED_WIRE_6 OR SYNTHESIZED_WIRE_7 OR SYNTHESIZED_WIRE_8;
186
 
187
 
188
overflow <= SYNTHESIZED_WIRE_9 OR SYNTHESIZED_WIRE_10 OR SYNTHESIZED_WIRE_11;
189
 
190
 
191
NaN <= SYNTHESIZED_WIRE_12 OR SYNTHESIZED_WIRE_13 OR SYNTHESIZED_WIRE_14;
192
 
193
 
194
END bdf_type;

powered by: WebSVN 2.1.0

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