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

Subversion Repositories neural_net_perceptron

[/] [neural_net_perceptron/] [trunk/] [rtl/] [vhdl/] [p0300_m00000_s_v03_top_level_blk.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 fpga_is_fu
-- COPYRIGHT (C) 2022 by Jens Gutschmidt / VIVARE GmbH Switzerland
2
-- (email: opencores@vivare-services.com)
3
-- 
4
-- This program is free software: you can redistribute it and/or modify it
5
-- under the terms of the GNU General Public License as published by
6
-- the Free Software Foundation, either version 3 of the License, or any
7
-- later version.
8
-- 
9
-- This program is distributed in the hope that it will be useful, but
10
-- WITHOUT ANY WARRANTY; without even the implied warranty of
11
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12
-- See the GNU General Public License for more details.
13
-- 
14
-- You should have received a copy of the GNU General Public License
15
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
-- 
17
-- 
18
LIBRARY ieee;
19
USE ieee.std_logic_1164.all;
20
USE ieee.std_logic_arith.all;
21
--USE ieee.numeric_std.all;
22
LIBRARY work;
23
USE work.memory_vhd_v03_pkg.ALL;
24
 
25
ENTITY p0300_m00000_s_v03_top_level_blk IS
26
   PORT(
27
      wb_adr_i   : IN     WB_ADDR_WIDTH_T;
28
      wb_clk_i   : IN     std_logic;
29
      wb_cyc_i   : IN     std_logic;
30
      wb_dat_i   : IN     WB_DATA_WIDTH_T;
31
      wb_rst_i   : IN     std_logic;
32
      wb_stb_i   : IN     std_logic;
33
      wb_we_i    : IN     std_logic;
34
      ctrl_int_o : OUT    std_logic;
35
      wb_ack_o   : OUT    std_logic;
36
      wb_dat_o   : OUT    WB_DATA_WIDTH_T
37
   );
38
 
39
-- Declarations
40
 
41
END p0300_m00000_s_v03_top_level_blk ;
42
-- COPYRIGHT (C) 2022 Jens Gutschmidt /
43
-- VIVARE GmbH Switzerland
44
-- (email: opencores@vivare-services.com)
45
-- 
46
-- Versions:
47
-- 
48
-- Revision 3.0  2022/07/04
49
-- - Update wiring and connections
50
-- - Insert new versioned symbol of U_0
51
-- Revision 2.0  2022/06/13
52
-- - Insert new versioned symbol of U_0
53
-- Revision 1.0  2022/06/12
54
-- -- First draft
55
-- 
56
LIBRARY ieee;
57
USE ieee.std_logic_1164.all;
58
USE ieee.std_logic_arith.all;
59
--USE ieee.numeric_std.all;
60
LIBRARY work;
61
USE work.memory_vhd_v03_pkg.ALL;
62
 
63
 
64
ARCHITECTURE struct OF p0300_m00000_s_v03_top_level_blk IS
65
 
66
   -- Architecture declarations
67
 
68
   -- Internal signal declarations
69
   SIGNAL addr_i_oi   : ADDRESS_S_T;
70
   SIGNAL addr_j_oi   : ADDRESS_T_T;
71
   SIGNAL dbias_oi    : DATA_T;
72
   SIGNAL dout1_oi    : DATA_T;
73
   SIGNAL dout2_oi    : DATA_T;
74
   SIGNAL dout3_oi    : DATA_T;
75
   SIGNAL dout4_oi    : DATA_T;
76
   SIGNAL dout5_oi    : DATA_T;
77
   SIGNAL dout7_oi    : DATA_T;
78
   SIGNAL ds_oi       : DATA_T;
79
   SIGNAL dt_oi       : DATA_T;
80
   SIGNAL dw_oi       : DATA_T;
81
   SIGNAL dy_oi       : DATA_T;
82
   SIGNAL we_bias2_oi : std_logic;
83
   SIGNAL we_bias3_oi : std_logic;
84
   SIGNAL we_bias5_oi : std_logic;
85
   SIGNAL we_s3_oi    : std_logic;
86
   SIGNAL we_s4_oi    : std_logic;
87
   SIGNAL we_s5_oi    : std_logic;
88
   SIGNAL we_t3_oi    : std_logic;
89
   SIGNAL we_t4_oi    : std_logic;
90
   SIGNAL we_t5_oi    : std_logic;
91
   SIGNAL we_w2_oi    : std_logic;
92
   SIGNAL we_w3_oi    : std_logic;
93
   SIGNAL we_w4_oi    : std_logic;
94
   SIGNAL we_w5_oi    : std_logic;
95
   SIGNAL we_w7_oi    : std_logic;
96
   SIGNAL we_y1_oi    : std_logic;
97
   SIGNAL we_y3_oi    : std_logic;
98
   SIGNAL we_y5_oi    : std_logic;
99
 
100
 
101
   -- Component Declarations
102
   COMPONENT p0300_m00020_s_v03_perceptron_blk
103
   PORT (
104
      clk_i      : IN     std_logic ;
105
      dbias_i    : IN     DATA_T ;
106
      ds_i       : IN     DATA_T ;
107
      dt_i       : IN     DATA_T ;
108
      dw_i       : IN     DATA_T ;
109
      dy_i       : IN     DATA_T ;
110
      rst_i      : IN     std_logic ;
111
      wb_adr_i   : IN     WB_ADDR_WIDTH_T ;
112
      wb_cyc_i   : IN     std_logic ;
113
      wb_dat_i   : IN     WB_DATA_WIDTH_T ;
114
      wb_stb_i   : IN     std_logic ;
115
      wb_we_i    : IN     std_logic ;
116
      addr_i_o   : OUT    ADDRESS_S_T ;
117
      addr_j_o   : OUT    ADDRESS_T_T ;
118
      ctrl_int_o : OUT    std_logic ;
119
      dout1_o    : OUT    DATA_T ;
120
      dout2_o    : OUT    DATA_T ;
121
      dout3_o    : OUT    DATA_T ;
122
      dout4_o    : OUT    DATA_T ;
123
      dout5_o    : OUT    DATA_T ;
124
      dout7_o    : OUT    DATA_T ;
125
      wb_ack_o   : OUT    std_logic ;
126
      wb_dat_o   : OUT    WB_DATA_WIDTH_T ;
127
      we_bias2_o : OUT    std_logic ;
128
      we_bias3_o : OUT    std_logic ;
129
      we_bias5_o : OUT    std_logic ;
130
      we_s3_o    : OUT    std_logic ;
131
      we_s4_o    : OUT    std_logic ;
132
      we_s5_o    : OUT    std_logic ;
133
      we_t3_o    : OUT    std_logic ;
134
      we_t4_o    : OUT    std_logic ;
135
      we_t5_o    : OUT    std_logic ;
136
      we_w2_o    : OUT    std_logic ;
137
      we_w3_o    : OUT    std_logic ;
138
      we_w4_o    : OUT    std_logic ;
139
      we_w5_o    : OUT    std_logic ;
140
      we_w7_o    : OUT    std_logic ;
141
      we_y1_o    : OUT    std_logic ;
142
      we_y3_o    : OUT    std_logic ;
143
      we_y5_o    : OUT    std_logic
144
   );
145
   END COMPONENT;
146
   COMPONENT p0300_m00100_s_v01_mem_gen_blk
147
   PORT (
148
      addr_i_i   : IN     ADDRESS_S_T ;
149
      addr_j_i   : IN     ADDRESS_T_T ;
150
      clk_i      : IN     std_logic ;
151
      din1_i     : IN     DATA_T ;
152
      din2_i     : IN     DATA_T ;
153
      din3_i     : IN     DATA_T ;
154
      din4_i     : IN     DATA_T ;
155
      din5_i     : IN     DATA_T ;
156
      din7_i     : IN     DATA_T ;
157
      we_bias2_i : IN     std_logic ;
158
      we_bias3_i : IN     std_logic ;
159
      we_bias5_i : IN     std_logic ;
160
      we_s3_i    : IN     std_logic ;
161
      we_s4_i    : IN     std_logic ;
162
      we_s5_i    : IN     std_logic ;
163
      we_t3_i    : IN     std_logic ;
164
      we_t4_i    : IN     std_logic ;
165
      we_t5_i    : IN     std_logic ;
166
      we_w2_i    : IN     std_logic ;
167
      we_w3_i    : IN     std_logic ;
168
      we_w4_i    : IN     std_logic ;
169
      we_w5_i    : IN     std_logic ;
170
      we_w7_i    : IN     std_logic ;
171
      we_y1_i    : IN     std_logic ;
172
      we_y3_i    : IN     std_logic ;
173
      we_y5_i    : IN     std_logic ;
174
      dbias_o    : OUT    DATA_T ;
175
      ds_o       : OUT    DATA_T ;
176
      dt_o       : OUT    DATA_T ;
177
      dw_o       : OUT    DATA_T ;
178
      dy_o       : OUT    DATA_T
179
   );
180
   END COMPONENT;
181
 
182
   -- Optional embedded configurations
183
   -- pragma synthesis_off
184
   FOR ALL : p0300_m00020_s_v03_perceptron_blk USE ENTITY work.p0300_m00020_s_v03_perceptron_blk;
185
   FOR ALL : p0300_m00100_s_v01_mem_gen_blk USE ENTITY work.p0300_m00100_s_v01_mem_gen_blk;
186
   -- pragma synthesis_on
187
 
188
 
189
BEGIN
190
 
191
   -- Instance port mappings.
192
   U_0 : p0300_m00020_s_v03_perceptron_blk
193
      PORT MAP (
194
         clk_i      => wb_clk_i,
195
         dbias_i    => dbias_oi,
196
         ds_i       => ds_oi,
197
         dt_i       => dt_oi,
198
         dw_i       => dw_oi,
199
         dy_i       => dy_oi,
200
         rst_i      => wb_rst_i,
201
         wb_adr_i   => wb_adr_i,
202
         wb_cyc_i   => wb_cyc_i,
203
         wb_dat_i   => wb_dat_i,
204
         wb_stb_i   => wb_stb_i,
205
         wb_we_i    => wb_we_i,
206
         addr_i_o   => addr_i_oi,
207
         addr_j_o   => addr_j_oi,
208
         ctrl_int_o => ctrl_int_o,
209
         dout1_o    => dout1_oi,
210
         dout2_o    => dout2_oi,
211
         dout3_o    => dout3_oi,
212
         dout4_o    => dout4_oi,
213
         dout5_o    => dout5_oi,
214
         dout7_o    => dout7_oi,
215
         wb_ack_o   => wb_ack_o,
216
         wb_dat_o   => wb_dat_o,
217
         we_bias2_o => we_bias2_oi,
218
         we_bias3_o => we_bias3_oi,
219
         we_bias5_o => we_bias5_oi,
220
         we_s3_o    => we_s3_oi,
221
         we_s4_o    => we_s4_oi,
222
         we_s5_o    => we_s5_oi,
223
         we_t3_o    => we_t3_oi,
224
         we_t4_o    => we_t4_oi,
225
         we_t5_o    => we_t5_oi,
226
         we_w2_o    => we_w2_oi,
227
         we_w3_o    => we_w3_oi,
228
         we_w4_o    => we_w4_oi,
229
         we_w5_o    => we_w5_oi,
230
         we_w7_o    => we_w7_oi,
231
         we_y1_o    => we_y1_oi,
232
         we_y3_o    => we_y3_oi,
233
         we_y5_o    => we_y5_oi
234
      );
235
   U_1 : p0300_m00100_s_v01_mem_gen_blk
236
      PORT MAP (
237
         addr_i_i   => addr_i_oi,
238
         addr_j_i   => addr_j_oi,
239
         clk_i      => wb_clk_i,
240
         din1_i     => dout1_oi,
241
         din2_i     => dout2_oi,
242
         din3_i     => dout3_oi,
243
         din4_i     => dout4_oi,
244
         din5_i     => dout5_oi,
245
         din7_i     => dout7_oi,
246
         we_bias2_i => we_bias2_oi,
247
         we_bias3_i => we_bias3_oi,
248
         we_bias5_i => we_bias5_oi,
249
         we_s3_i    => we_s3_oi,
250
         we_s4_i    => we_s4_oi,
251
         we_s5_i    => we_s5_oi,
252
         we_t3_i    => we_t3_oi,
253
         we_t4_i    => we_t4_oi,
254
         we_t5_i    => we_t5_oi,
255
         we_w2_i    => we_w2_oi,
256
         we_w3_i    => we_w3_oi,
257
         we_w4_i    => we_w4_oi,
258
         we_w5_i    => we_w5_oi,
259
         we_w7_i    => we_w7_oi,
260
         we_y1_i    => we_y1_oi,
261
         we_y3_i    => we_y3_oi,
262
         we_y5_i    => we_y5_oi,
263
         dbias_o    => dbias_oi,
264
         ds_o       => ds_oi,
265
         dt_o       => dt_oi,
266
         dw_o       => dw_oi,
267
         dy_o       => dy_oi
268
      );
269
 
270
END struct;

powered by: WebSVN 2.1.0

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