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

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [ip.hwp.communication/] [hibi/] [3.0/] [vhd/] [hibi_segment_6p.vhd] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 lanttu
-- ***************************************************
2 174 lanttu
-- File         : hibi_segment_6p.vhd
3
-- Creation date: 10.04.2013
4
-- Creation time: 08:14:08
5
-- Description  : 
6
 
7
-- 
8
-- Created by   : matilail
9
-- This file was generated with Kactus2 vhdl generator
10
-- based on IP-XACT component TUT:ip.hwp.communication:hibi_segment_6p:3.0
11
-- whose XML file is D:/user/matilail/repos/opencores_lib/TUT/ip.hwp.communication/hibi/3.0/ip_xact/hibi_segment_6p.3.0.xml
12 158 lanttu
-- ***************************************************
13
library IEEE;
14
library hibi;
15
library work;
16
use hibi.all;
17
use work.all;
18
use IEEE.std_logic_1164.all;
19
 
20
entity hibi_segment_6p is
21
 
22 174 lanttu
  generic (
23
    ip_mslave_0_addr_end : integer := 2; -- HIBI end address for interface 0
24
    ip_mslave_0_addr_start : integer := 1; -- HIBI address for interface 0
25
    ip_mslave_1_addr_end : integer := 4; -- HIBI end address for interface 1
26
    ip_mslave_1_addr_start : integer := 3; -- HIBI address for interface 1
27
    ip_mslave_2_addr_end : integer := 6; -- HIBI end address for interface 2
28
    ip_mslave_2_addr_start : integer := 5; -- HIBI address for interface 2
29
    ip_mslave_3_addr_end : integer := 8; -- HIBI end address for interface 3
30
    ip_mslave_3_addr_start : integer := 7; -- HIBI address for interface 3
31
    ip_mslave_4_addr_end : integer := 10; -- HIBI end address for interface 3
32
    ip_mslave_4_addr_start : integer := 9; -- HIBI address for interface 3
33
    ip_mslave_5_addr_end : integer := 12; -- HIBI end address for interface 3
34
    ip_mslave_5_addr_start : integer := 11 -- HIBI address for interface 3
35
  );
36 158 lanttu
 
37 174 lanttu
  port (
38 158 lanttu
 
39 174 lanttu
    -- Interface: clocks_0
40
    -- Clock inputs  interface for hibi wrapper_3
41
    agent_clk        : in std_logic;
42
    agent_sync_clk   : in std_logic;
43
    bus_clk          : in std_logic;
44
    bus_sync_clk     : in std_logic;
45 158 lanttu
 
46 174 lanttu
    -- Interface: clocks_1
47
    -- Clock inputs  interface for hibi wrapper_3
48
    agent_clk_1      : in std_logic;
49
    agent_sync_clk_1 : in std_logic;
50
    bus_clk_1        : in std_logic;
51
    bus_sync_clk_1   : in std_logic;
52 158 lanttu
 
53 174 lanttu
    -- Interface: clocks_2
54
    -- Clock inputs  interface for hibi wrapper_3
55
    agent_clk_2      : in std_logic;
56
    agent_sync_clk_2 : in std_logic;
57
    bus_clk_2        : in std_logic;
58
    bus_sync_clk_2   : in std_logic;
59 158 lanttu
 
60 174 lanttu
    -- Interface: clocks_3
61
    -- Clock inputs  interface for hibi wrapper_3
62
    agent_clk_3      : in std_logic;
63
    agent_sync_clk_3 : in std_logic;
64
    bus_clk_3        : in std_logic;
65
    bus_sync_clk_3   : in std_logic;
66 158 lanttu
 
67 174 lanttu
    -- Interface: clocks_4
68
    agent_clk_4      : in std_logic;
69
    agent_sync_clk_4 : in std_logic;
70
    bus_clk_4        : in std_logic;
71
    bus_sync_clk_4   : in std_logic;
72 158 lanttu
 
73 174 lanttu
    -- Interface: clocks_5
74
    agent_clk_5      : in std_logic;
75
    agent_sync_clk_5 : in std_logic;
76
    bus_clk_5        : in std_logic;
77
    bus_sync_clk_5   : in std_logic;
78 158 lanttu
 
79 174 lanttu
    -- Interface: ip_mMaster_0
80
    -- HIBI ip mirrored master agent interface 0 (r4 wrapper)
81
    agent_av_in      : in std_logic;
82
    agent_comm_in    : in std_logic_vector(4 downto 0);
83
    agent_data_in    : in std_logic_vector(31 downto 0);
84
    agent_re_in      : in std_logic;
85
    agent_we_in      : in std_logic;
86 158 lanttu
 
87 174 lanttu
    -- Interface: ip_mMaster_1
88
    -- HIBI ip mirrored master agent interface 1 (r4 wrapper)
89
    agent_av_in_1    : in std_logic;
90
    agent_comm_in_1  : in std_logic_vector(4 downto 0);
91
    agent_data_in_1  : in std_logic_vector(31 downto 0);
92
    agent_re_in_1    : in std_logic;
93
    agent_we_in_1    : in std_logic;
94 158 lanttu
 
95 174 lanttu
    -- Interface: ip_mMaster_2
96
    -- HIBI ip mirrored master agent interface 2 (r4 wrapper)
97
    agent_av_in_2    : in std_logic;
98
    agent_comm_in_2  : in std_logic_vector(4 downto 0);
99
    agent_data_in_2  : in std_logic_vector(31 downto 0);
100
    agent_re_in_2    : in std_logic;
101
    agent_we_in_2    : in std_logic;
102 158 lanttu
 
103 174 lanttu
    -- Interface: ip_mMaster_3
104
    -- HIBI ip mirrored master agent interface 3 (r4 wrapper)
105
    agent_av_in_3    : in std_logic;
106
    agent_comm_in_3  : in std_logic_vector(4 downto 0);
107
    agent_data_in_3  : in std_logic_vector(31 downto 0);
108
    agent_re_in_3    : in std_logic;
109
    agent_we_in_3    : in std_logic;
110 158 lanttu
 
111 174 lanttu
    -- Interface: ip_mMaster_4
112
    agent_av_in_4    : in std_logic;
113
    agent_comm_in_4  : in std_logic_vector(4 downto 0);
114
    agent_data_in_4  : in std_logic_vector(31 downto 0);
115
    agent_re_in_4    : in std_logic;
116
    agent_we_in_4    : in std_logic;
117 158 lanttu
 
118 174 lanttu
    -- Interface: ip_mMaster_5
119
    agent_av_in_5    : in std_logic;
120
    agent_comm_in_5  : in std_logic_vector(4 downto 0);
121
    agent_data_in_5  : in std_logic_vector(31 downto 0);
122
    agent_re_in_5    : in std_logic;
123
    agent_we_in_5    : in std_logic;
124 158 lanttu
 
125 174 lanttu
    -- Interface: ip_mSlave_0
126
    -- HIBI ip mirrored slave agent interface 0 (r4 wrapper)
127
    agent_av_out     : out std_logic;
128
    agent_comm_out   : out std_logic_vector(4 downto 0);
129
    agent_data_out   : out std_logic_vector(31 downto 0);
130
    agent_empty_out  : out std_logic;
131
    agent_full_out   : out std_logic;
132
    agent_one_d_out  : out std_logic;
133
    agent_one_p_out  : out std_logic;
134 158 lanttu
 
135 174 lanttu
    -- Interface: ip_mSlave_1
136
    -- HIBI ip mirrored slave agent interface 1  (r4 wrapper)
137
    agent_av_out_1   : out std_logic;
138
    agent_comm_out_1 : out std_logic_vector(4 downto 0);
139
    agent_data_out_1 : out std_logic_vector(31 downto 0);
140
    agent_empty_out_1 : out std_logic;
141
    agent_full_out_1 : out std_logic;
142
    agent_one_d_out_1 : out std_logic;
143
    agent_one_p_out_1 : out std_logic;
144 158 lanttu
 
145 174 lanttu
    -- Interface: ip_mSlave_2
146
    -- HIBI ip mirrored slave agent interface 2 (r4 wrapper)
147
    agent_av_out_2   : out std_logic;
148
    agent_comm_out_2 : out std_logic_vector(4 downto 0);
149
    agent_data_out_2 : out std_logic_vector(31 downto 0);
150
    agent_empty_out_2 : out std_logic;
151
    agent_full_out_2 : out std_logic;
152
    agent_one_d_out_2 : out std_logic;
153
    agent_one_p_out_2 : out std_logic;
154 158 lanttu
 
155 174 lanttu
    -- Interface: ip_mSlave_3
156
    -- HIBI ip mirrored slave agent interface_3 (r4 wrapper)
157
    agent_av_out_3   : out std_logic;
158
    agent_comm_out_3 : out std_logic_vector(4 downto 0);
159
    agent_data_out_3 : out std_logic_vector(31 downto 0);
160
    agent_empty_out_3 : out std_logic;
161
    agent_full_out_3 : out std_logic;
162
    agent_one_d_out_3 : out std_logic;
163
    agent_one_p_out_3 : out std_logic;
164 158 lanttu
 
165 174 lanttu
    -- Interface: ip_mSlave_4
166
    agent_av_out_4   : out std_logic;
167
    agent_comm_out_4 : out std_logic_vector(4 downto 0);
168
    agent_data_out_4 : out std_logic_vector(31 downto 0);
169
    agent_empty_out_4 : out std_logic;
170
    agent_full_out_4 : out std_logic;
171
    agent_one_d_out_4 : out std_logic;
172
    agent_one_p_out_4 : out std_logic;
173 158 lanttu
 
174 174 lanttu
    -- Interface: ip_mSlave_5
175
    agent_av_out_5   : out std_logic;
176
    agent_comm_out_5 : out std_logic_vector(4 downto 0);
177
    agent_data_out_5 : out std_logic_vector(31 downto 0);
178
    agent_empty_out_5 : out std_logic;
179
    agent_full_out_5 : out std_logic;
180
    agent_one_d_out_5 : out std_logic;
181
    agent_one_p_out_5 : out std_logic;
182 158 lanttu
 
183 174 lanttu
    -- Interface: rst_n
184
    -- Active low reset interface.
185
    rst_n            : in std_logic
186
  );
187 158 lanttu
 
188
end hibi_segment_6p;
189
 
190
 
191
architecture structural of hibi_segment_6p is
192
 
193 174 lanttu
  signal hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_AV : std_logic;
194
  signal hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_AV : std_logic;
195
  signal hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_AV : std_logic;
196
  signal hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_AV : std_logic;
197
  signal hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_AV : std_logic;
198
  signal hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_AV : std_logic;
199
  signal hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV : std_logic;
200
  signal hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_COMM : std_logic_vector(4 downto 0);
201
  signal hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_COMM : std_logic_vector(4 downto 0);
202
  signal hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_COMM : std_logic_vector(4 downto 0);
203
  signal hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_COMM : std_logic_vector(4 downto 0);
204
  signal hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_COMM : std_logic_vector(4 downto 0);
205
  signal hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_COMM : std_logic_vector(4 downto 0);
206
  signal hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM : std_logic_vector(4 downto 0);
207
  signal hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_DATA : std_logic_vector(31 downto 0);
208
  signal hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_DATA : std_logic_vector(31 downto 0);
209
  signal hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_DATA : std_logic_vector(31 downto 0);
210
  signal hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_DATA : std_logic_vector(31 downto 0);
211
  signal hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_DATA : std_logic_vector(31 downto 0);
212
  signal hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_DATA : std_logic_vector(31 downto 0);
213
  signal hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA : std_logic_vector(31 downto 0);
214
  signal hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_FULL : std_logic;
215
  signal hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_FULL : std_logic;
216
  signal hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_FULL : std_logic;
217
  signal hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_FULL : std_logic;
218
  signal hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_FULL : std_logic;
219
  signal hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_FULL : std_logic;
220
  signal hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL : std_logic;
221
  signal hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_LOCK : std_logic;
222
  signal hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_LOCK : std_logic;
223
  signal hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_LOCK : std_logic;
224
  signal hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_LOCK : std_logic;
225
  signal hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_LOCK : std_logic;
226
  signal hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_LOCK : std_logic;
227
  signal hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK : std_logic;
228 158 lanttu
 
229 174 lanttu
  -- IP-XACT VLNV: TUT:ip.hwp.communication:hibi_orbus_6p:3.0
230
  component hibi_orbus_6p
231
    generic (
232
      comm_width_g     : integer := 5; -- HIBI command width
233
      data_width_g     : integer := 32 -- HIBI data width
234
    );
235
    port (
236 158 lanttu
 
237 174 lanttu
      -- Interface: master
238
      -- HIBI bus <---> wrapper master interface
239
      bus_av_out       : out std_logic;
240
      bus_comm_out     : out std_logic_vector(4 downto 0);
241
      bus_data_out     : out std_logic_vector(31 downto 0);
242
      bus_full_out     : out std_logic;
243
      bus_lock_out     : out std_logic;
244 158 lanttu
 
245 174 lanttu
      -- Interface: slave_0
246
      -- HIBI bus <---> wrapper slave interface
247
      bus_av_0_in      : in std_logic;
248
      bus_comm_0_in    : in std_logic_vector(4 downto 0);
249
      bus_data_0_in    : in std_logic_vector(31 downto 0);
250
      bus_full_0_in    : in std_logic;
251
      bus_lock_0_in    : in std_logic;
252 158 lanttu
 
253 174 lanttu
      -- Interface: slave_1
254
      -- HIBI bus <---> wrapper slave interface
255
      bus_av_1_in      : in std_logic;
256
      bus_comm_1_in    : in std_logic_vector(4 downto 0);
257
      bus_data_1_in    : in std_logic_vector(31 downto 0);
258
      bus_full_1_in    : in std_logic;
259
      bus_lock_1_in    : in std_logic;
260 158 lanttu
 
261 174 lanttu
      -- Interface: slave_2
262
      -- HIBI bus <---> wrapper slave interface
263
      bus_av_2_in      : in std_logic;
264
      bus_comm_2_in    : in std_logic_vector(4 downto 0);
265
      bus_data_2_in    : in std_logic_vector(31 downto 0);
266
      bus_full_2_in    : in std_logic;
267
      bus_lock_2_in    : in std_logic;
268 158 lanttu
 
269 174 lanttu
      -- Interface: slave_3
270
      -- HIBI bus <---> wrapper slave interface
271
      bus_av_3_in      : in std_logic;
272
      bus_comm_3_in    : in std_logic_vector(4 downto 0);
273
      bus_data_3_in    : in std_logic_vector(31 downto 0);
274
      bus_full_3_in    : in std_logic;
275
      bus_lock_3_in    : in std_logic;
276 158 lanttu
 
277 174 lanttu
      -- Interface: slave_4
278
      -- HIBI bus <---> wrapper slave interface
279
      bus_av_4_in      : in std_logic;
280
      bus_comm_4_in    : in std_logic_vector(4 downto 0);
281
      bus_data_4_in    : in std_logic_vector(31 downto 0);
282
      bus_full_4_in    : in std_logic;
283
      bus_lock_4_in    : in std_logic;
284 158 lanttu
 
285 174 lanttu
      -- Interface: slave_5
286
      -- HIBI bus <---> wrapper slave interface
287
      bus_av_5_in      : in std_logic;
288
      bus_comm_5_in    : in std_logic_vector(4 downto 0);
289
      bus_data_5_in    : in std_logic_vector(31 downto 0);
290
      bus_full_5_in    : in std_logic;
291
      bus_lock_5_in    : in std_logic
292
    );
293
  end component;
294 162 lanttu
 
295 174 lanttu
  -- HIBI bus wrapper, interface revision 4 
296
  -- IP-XACT VLNV: TUT:ip.hwp.communication:hibi_wrapper_r4:3.0
297
  component hibi_wrapper_r4
298
    generic (
299
      addr_g           : integer := 46; -- addressing settings: unique for each wrapper
300
      addr_limit_g     : integer := 0; -- Upper address boundary
301
      addr_width_g     : integer := 32; -- HIBI address width
302
      arb_type_g       : integer := 0; -- Arbitration type 0 round-robin, 1 priority, 2 combined, 3 DAA. Ensure that
303
-- all wrappers in a segment agree on arb_type
304
      cfg_re_g         : integer := 0; --  enable reading config
305
      cfg_we_g         : integer := 0; -- enable writing config
306
      comm_width_g     : integer := 5; -- HIBI communication width (HIBI v.2=3, v.3 = 5 bits)
307
      counter_width_g  : integer := 7; -- greater than or equal (n_agents, max_send...) 
308
      data_width_g     : integer := 32; -- HIBI data width (less than or equal)
309
      debug_width_g    : integer := 2; -- For special monitors
310
      fifo_sel_g       : integer := 0; -- fifo_sel: 0 synch multiclk, 1 basic GALS,  2 Gray FIFO (depth=2^n!), 3
311
-- mixed clock pausible ( use 0 for synchronous systems)
312
      id_g             : integer := 5; --  used instead of addr in recfg
313
      id_max_g         : integer := 0; -- Only for bridges+cfg, zero for others!
314
      id_min_g         : integer := 0; -- Only for bridges+cfg, zero for others!
315
      id_width_g       : integer := 4; -- gte(log2(id_g))
316
      inv_addr_en_g    : integer := 0; -- Only for bridges
317
      keep_slot_g      : integer := 0; -- for TDMA
318
      max_send_g       : integer := 50; -- in words. Max_send can be wrapper-specific.
319
      n_agents_g       : integer := 4; -- Number of agents within one segment. Ensure that all wrappers in a segment
320
-- agree on n_agents
321
      n_cfg_pages_g    : integer := 1; -- Having multiple pages allows fast reconfig. Note that cfg memory initialization
322
-- is done with separate package if you have many time slots or configuration
323
-- pages
324
      n_extra_params_g : integer := 0; -- app-specific registers
325
      n_time_slots_g   : integer := 0; -- TDMA is enabled by setting n_time_slots > 0
326
      prior_g          : integer := 2; -- lte n_agents
327
      rel_agent_freq_g : integer := 1; -- Synch_multiclk FIFOs must know the ratio of frequencies
328
      rel_bus_freq_g   : integer := 1; -- Synch_multiclk FIFOs must know the ratio of frequencies
329
      rx_fifo_depth_g  : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.
330
      rx_msg_fifo_depth_g : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.Prefix
331
-- msg refers to hi-prior data
332
      separate_addr_g  : integer := 0; -- Transmits addr in parallel with data
333
      tx_fifo_depth_g  : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.
334
      tx_msg_fifo_depth_g : integer := 5 -- All FIFO depths are given in words. Allowed values 0,2,3... words.Prefix
335
-- msg refers to hi-prior data
336
    );
337
    port (
338 162 lanttu
 
339 174 lanttu
      -- Interface: bus_mMaster
340
      -- HIBI bus interface
341
      bus_av_in        : in std_logic;
342
      bus_comm_in      : in std_logic_vector(4 downto 0);
343
      bus_data_in      : in std_logic_vector(31 downto 0);
344
      bus_full_in      : in std_logic;
345
      bus_lock_in      : in std_logic;
346 158 lanttu
 
347 174 lanttu
      -- Interface: bus_mSlave
348
      bus_av_out       : out std_logic;
349
      bus_comm_out     : out std_logic_vector(4 downto 0);
350
      bus_data_out     : out std_logic_vector(31 downto 0);
351
      bus_full_out     : out std_logic;
352
      bus_lock_out     : out std_logic;
353 158 lanttu
 
354 174 lanttu
      -- Interface: clocks
355
      -- HIBI clock input
356
      agent_clk        : in std_logic;
357
      agent_sync_clk   : in std_logic;
358
      bus_clk          : in std_logic;
359
      bus_sync_clk     : in std_logic;
360 158 lanttu
 
361 174 lanttu
      -- Interface: ip_mMaster
362
      -- HIBI IP  mirrored master interface revision 4.
363
      agent_av_in      : in std_logic;
364
      agent_comm_in    : in std_logic_vector(4 downto 0);
365
      agent_data_in    : in std_logic_vector(31 downto 0);
366
      agent_re_in      : in std_logic;
367
      agent_we_in      : in std_logic;
368 158 lanttu
 
369 174 lanttu
      -- Interface: ip_mSlave
370
      -- HIBI IP  mirrored slave interface revision 4.
371
      agent_av_out     : out std_logic;
372
      agent_comm_out   : out std_logic_vector(4 downto 0);
373
      agent_data_out   : out std_logic_vector(31 downto 0);
374
      agent_empty_out  : out std_logic;
375
      agent_full_out   : out std_logic;
376
      agent_one_d_out  : out std_logic;
377
      agent_one_p_out  : out std_logic;
378 158 lanttu
 
379 174 lanttu
      -- These ports are not in any interface
380
      -- debug_out        : out std_logic_vector(0 downto 0);
381 158 lanttu
 
382 174 lanttu
      -- Interface: rst_n
383
      rst_n            : in std_logic
384
    );
385
  end component;
386 158 lanttu
 
387 174 lanttu
  -- You can write vhdl code after this tag and it is saved through the generator.
388
  -- ##KACTUS2_BLACK_BOX_DECLARATIONS_BEGIN##
389
  -- ##KACTUS2_BLACK_BOX_DECLARATIONS_END##
390
  -- Do not write your code after this tag.
391 158 lanttu
 
392
 
393
begin
394
 
395 174 lanttu
  -- You can write vhdl code after this tag and it is saved through the generator.
396
  -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_BEGIN##
397
  -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_END##
398
  -- Do not write your code after this tag.
399 158 lanttu
 
400 174 lanttu
  hibi_orbus_6p_0 : hibi_orbus_6p
401
    port map (
402
      bus_av_0_in      => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_AV,
403
      bus_av_1_in      => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_AV,
404
      bus_av_2_in      => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_AV,
405
      bus_av_3_in      => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_AV,
406
      bus_av_4_in      => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_AV,
407
      bus_av_5_in      => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_AV,
408
      bus_av_out       => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
409
      bus_comm_0_in(4 downto 0) => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_COMM(4 downto 0),
410
      bus_comm_1_in(4 downto 0) => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_COMM(4 downto 0),
411
      bus_comm_2_in(4 downto 0) => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_COMM(4 downto 0),
412
      bus_comm_3_in(4 downto 0) => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_COMM(4 downto 0),
413
      bus_comm_4_in(4 downto 0) => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_COMM(4 downto 0),
414
      bus_comm_5_in(4 downto 0) => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_COMM(4 downto 0),
415
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
416
      bus_data_0_in(31 downto 0) => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_DATA(31 downto 0),
417
      bus_data_1_in(31 downto 0) => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_DATA(31 downto 0),
418
      bus_data_2_in(31 downto 0) => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_DATA(31 downto 0),
419
      bus_data_3_in(31 downto 0) => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_DATA(31 downto 0),
420
      bus_data_4_in(31 downto 0) => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_DATA(31 downto 0),
421
      bus_data_5_in(31 downto 0) => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_DATA(31 downto 0),
422
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
423
      bus_full_0_in    => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_FULL,
424
      bus_full_1_in    => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_FULL,
425
      bus_full_2_in    => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_FULL,
426
      bus_full_3_in    => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_FULL,
427
      bus_full_4_in    => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_FULL,
428
      bus_full_5_in    => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_FULL,
429
      bus_full_out     => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
430
      bus_lock_0_in    => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_LOCK,
431
      bus_lock_1_in    => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_LOCK,
432
      bus_lock_2_in    => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_LOCK,
433
      bus_lock_3_in    => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_LOCK,
434
      bus_lock_4_in    => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_LOCK,
435
      bus_lock_5_in    => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_LOCK,
436
      bus_lock_out     => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK
437
    );
438 158 lanttu
 
439 174 lanttu
  hibi_wrapper_r4_0 : hibi_wrapper_r4
440
    generic map (
441
      addr_g           => ip_mSlave_0_addr_start,
442
      addr_limit_g     => ip_mSlave_0_addr_end,
443
      n_agents_g       => 6,
444
      prior_g          => 1
445
    )
446
    port map (
447
      agent_av_in      => agent_av_in,
448
      agent_av_out     => agent_av_out,
449
      agent_clk        => agent_clk,
450
      agent_comm_in(4 downto 0) => agent_comm_in(4 downto 0),
451
      agent_comm_out(4 downto 0) => agent_comm_out(4 downto 0),
452
      agent_data_in(31 downto 0) => agent_data_in(31 downto 0),
453
      agent_data_out(31 downto 0) => agent_data_out(31 downto 0),
454
      agent_empty_out  => agent_empty_out,
455
      agent_full_out   => agent_full_out,
456
      agent_one_d_out  => agent_one_d_out,
457
      agent_one_p_out  => agent_one_p_out,
458
      agent_re_in      => agent_re_in,
459
      agent_sync_clk   => agent_sync_clk,
460
      agent_we_in      => agent_we_in,
461
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
462
      bus_av_out       => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_AV,
463
      bus_clk          => bus_clk,
464
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
465
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_COMM(4 downto 0),
466
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
467
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_DATA(31 downto 0),
468
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
469
      bus_full_out     => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_FULL,
470
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
471
      bus_lock_out     => hibi_orbus_6p_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlave_LOCK,
472
      bus_sync_clk     => bus_sync_clk,
473
      rst_n            => rst_n
474
    );
475 158 lanttu
 
476 174 lanttu
  hibi_wrapper_r4_1 : hibi_wrapper_r4
477
    generic map (
478
      addr_g           => ip_mSlave_1_addr_start,
479
      addr_limit_g     => ip_mSlave_1_addr_end,
480
      n_agents_g       => 6,
481
      prior_g          => 2
482
    )
483
    port map (
484
      agent_av_in      => agent_av_in_1,
485
      agent_av_out     => agent_av_out_1,
486
      agent_clk        => agent_clk_1,
487
      agent_comm_in(4 downto 0) => agent_comm_in_1(4 downto 0),
488
      agent_comm_out(4 downto 0) => agent_comm_out_1(4 downto 0),
489
      agent_data_in(31 downto 0) => agent_data_in_1(31 downto 0),
490
      agent_data_out(31 downto 0) => agent_data_out_1(31 downto 0),
491
      agent_empty_out  => agent_empty_out_1,
492
      agent_full_out   => agent_full_out_1,
493
      agent_one_d_out  => agent_one_d_out_1,
494
      agent_one_p_out  => agent_one_p_out_1,
495
      agent_re_in      => agent_re_in_1,
496
      agent_sync_clk   => agent_sync_clk_1,
497
      agent_we_in      => agent_we_in_1,
498
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
499
      bus_av_out       => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_AV,
500
      bus_clk          => bus_clk_1,
501
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
502
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_COMM(4 downto 0),
503
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
504
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_DATA(31 downto 0),
505
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
506
      bus_full_out     => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_FULL,
507
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
508
      bus_lock_out     => hibi_orbus_6p_0_slave_1_to_hibi_wrapper_r4_1_bus_mSlave_LOCK,
509
      bus_sync_clk     => bus_sync_clk_1,
510
      rst_n            => rst_n
511
    );
512 158 lanttu
 
513 174 lanttu
  hibi_wrapper_r4_2 : hibi_wrapper_r4
514
    generic map (
515
      addr_g           => ip_mSlave_2_addr_start,
516
      addr_limit_g     => ip_mSlave_2_addr_end,
517
      n_agents_g       => 6,
518
      prior_g          => 3
519
    )
520
    port map (
521
      agent_av_in      => agent_av_in_2,
522
      agent_av_out     => agent_av_out_2,
523
      agent_clk        => agent_clk_2,
524
      agent_comm_in(4 downto 0) => agent_comm_in_2(4 downto 0),
525
      agent_comm_out(4 downto 0) => agent_comm_out_2(4 downto 0),
526
      agent_data_in(31 downto 0) => agent_data_in_2(31 downto 0),
527
      agent_data_out(31 downto 0) => agent_data_out_2(31 downto 0),
528
      agent_empty_out  => agent_empty_out_2,
529
      agent_full_out   => agent_full_out_2,
530
      agent_one_d_out  => agent_one_d_out_2,
531
      agent_one_p_out  => agent_one_p_out_2,
532
      agent_re_in      => agent_re_in_2,
533
      agent_sync_clk   => agent_sync_clk_2,
534
      agent_we_in      => agent_we_in_2,
535
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
536
      bus_av_out       => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_AV,
537
      bus_clk          => bus_clk_2,
538
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
539
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_COMM(4 downto 0),
540
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
541
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_DATA(31 downto 0),
542
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
543
      bus_full_out     => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_FULL,
544
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
545
      bus_lock_out     => hibi_orbus_6p_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlave_LOCK,
546
      bus_sync_clk     => bus_sync_clk_2,
547
      rst_n            => rst_n
548
    );
549 158 lanttu
 
550 174 lanttu
  hibi_wrapper_r4_3 : hibi_wrapper_r4
551
    generic map (
552
      addr_g           => ip_mSlave_3_addr_start,
553
      addr_limit_g     => ip_mSlave_3_addr_end,
554
      n_agents_g       => 6,
555
      prior_g          => 4
556
    )
557
    port map (
558
      agent_av_in      => agent_av_in_3,
559
      agent_av_out     => agent_av_out_3,
560
      agent_clk        => agent_clk_3,
561
      agent_comm_in(4 downto 0) => agent_comm_in_3(4 downto 0),
562
      agent_comm_out(4 downto 0) => agent_comm_out_3(4 downto 0),
563
      agent_data_in(31 downto 0) => agent_data_in_3(31 downto 0),
564
      agent_data_out(31 downto 0) => agent_data_out_3(31 downto 0),
565
      agent_empty_out  => agent_empty_out_3,
566
      agent_full_out   => agent_full_out_3,
567
      agent_one_d_out  => agent_one_d_out_3,
568
      agent_one_p_out  => agent_one_p_out_3,
569
      agent_re_in      => agent_re_in_3,
570
      agent_sync_clk   => agent_sync_clk_3,
571
      agent_we_in      => agent_we_in_3,
572
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
573
      bus_av_out       => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_AV,
574
      bus_clk          => bus_clk_3,
575
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
576
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_COMM(4 downto 0),
577
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
578
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_DATA(31 downto 0),
579
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
580
      bus_full_out     => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_FULL,
581
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
582
      bus_lock_out     => hibi_orbus_6p_0_slave_3_to_hibi_wrapper_r4_3_bus_mSlave_LOCK,
583
      bus_sync_clk     => bus_sync_clk_3,
584
      rst_n            => rst_n
585
    );
586 158 lanttu
 
587 174 lanttu
  hibi_wrapper_r4_4 : hibi_wrapper_r4
588
    generic map (
589
      addr_g           => ip_mSlave_4_addr_start,
590
      addr_limit_g     => ip_mSlave_4_addr_end,
591
      n_agents_g       => 6,
592
      prior_g          => 5
593
    )
594
    port map (
595
      agent_av_in      => agent_av_in_4,
596
      agent_av_out     => agent_av_out_4,
597
      agent_clk        => agent_clk_4,
598
      agent_comm_in(4 downto 0) => agent_comm_in_4(4 downto 0),
599
      agent_comm_out(4 downto 0) => agent_comm_out_4(4 downto 0),
600
      agent_data_in(31 downto 0) => agent_data_in_4(31 downto 0),
601
      agent_data_out(31 downto 0) => agent_data_out_4(31 downto 0),
602
      agent_empty_out  => agent_empty_out_4,
603
      agent_full_out   => agent_full_out_4,
604
      agent_one_d_out  => agent_one_d_out_4,
605
      agent_one_p_out  => agent_one_p_out_4,
606
      agent_re_in      => agent_re_in_4,
607
      agent_sync_clk   => agent_sync_clk_4,
608
      agent_we_in      => agent_we_in_4,
609
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
610
      bus_av_out       => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_AV,
611
      bus_clk          => bus_clk_4,
612
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
613
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_COMM(4 downto 0),
614
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
615
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_DATA(31 downto 0),
616
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
617
      bus_full_out     => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_FULL,
618
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
619
      bus_lock_out     => hibi_orbus_6p_0_slave_4_to_hibi_wrapper_r4_4_bus_mSlave_LOCK,
620
      bus_sync_clk     => bus_sync_clk_4,
621
      rst_n            => rst_n
622
    );
623 158 lanttu
 
624 174 lanttu
  hibi_wrapper_r4_5 : hibi_wrapper_r4
625
    generic map (
626
      addr_g           => ip_mSlave_5_addr_start,
627
      addr_limit_g     => ip_mSlave_5_addr_end,
628
      n_agents_g       => 6,
629
      prior_g          => 6
630
    )
631
    port map (
632
      agent_av_in      => agent_av_in_5,
633
      agent_av_out     => agent_av_out_5,
634
      agent_clk        => agent_clk_5,
635
      agent_comm_in(4 downto 0) => agent_comm_in_5(4 downto 0),
636
      agent_comm_out(4 downto 0) => agent_comm_out_5(4 downto 0),
637
      agent_data_in(31 downto 0) => agent_data_in_5(31 downto 0),
638
      agent_data_out(31 downto 0) => agent_data_out_5(31 downto 0),
639
      agent_empty_out  => agent_empty_out_5,
640
      agent_full_out   => agent_full_out_5,
641
      agent_one_d_out  => agent_one_d_out_5,
642
      agent_one_p_out  => agent_one_p_out_5,
643
      agent_re_in      => agent_re_in_5,
644
      agent_sync_clk   => agent_sync_clk_5,
645
      agent_we_in      => agent_we_in_5,
646
      bus_av_in        => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_AV,
647
      bus_av_out       => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_AV,
648
      bus_clk          => bus_clk_5,
649
      bus_comm_in(4 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_COMM(4 downto 0),
650
      bus_comm_out(4 downto 0) => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_COMM(4 downto 0),
651
      bus_data_in(31 downto 0) => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_DATA(31 downto 0),
652
      bus_data_out(31 downto 0) => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_DATA(31 downto 0),
653
      bus_full_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_FULL,
654
      bus_full_out     => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_FULL,
655
      bus_lock_in      => hibi_orbus_6p_0_master_to_hibi_wrapper_r4_5_bus_mMaster_LOCK,
656
      bus_lock_out     => hibi_orbus_6p_0_slave_5_to_hibi_wrapper_r4_5_bus_mSlave_LOCK,
657
      bus_sync_clk     => bus_sync_clk_5,
658
      rst_n            => rst_n
659
    );
660 158 lanttu
 
661
end structural;
662
 

powered by: WebSVN 2.1.0

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