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.vhd] - Blame information for rev 145

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

Line No. Rev Author Line
1 145 lanttu
-- ***************************************************
2
-- File: hibi_segment.vhd
3
-- Creation date: 02.07.2012
4
-- Creation time: 15:39:00
5
-- Description: 
6
-- Created by: matilail
7
-- This file was generated with Kactus2 vhdl generator.
8
-- ***************************************************
9
library IEEE;
10
library hibi;
11
library work;
12
use hibi.all;
13
use work.all;
14
use IEEE.std_logic_1164.all;
15
 
16
entity hibi_segment is
17
 
18
        generic (
19
                hibi_addr_0_g : integer := 16#01000000#; -- HIBI address for interface 0
20
                hibi_addr_1_g : integer := 16#03000000#; -- HIBI address for interface 1
21
                hibi_addr_2_g : integer := 16#05000000#; -- HIBI address for interface 2
22
                hibi_addr_3_g : integer := 16#07000000# -- HIBI address for interface 3
23
        );
24
 
25
        port (
26
 
27
                -- Interface: clocks_0
28
                -- Clock inputs  interface for hibi wrapper_3
29
                agent_clk : in std_logic;
30
                agent_sync_clk : in std_logic;
31
                bus_clk : in std_logic;
32
                bus_sync_clk : in std_logic;
33
 
34
                -- Interface: clocks_1
35
                -- Clock inputs  interface for hibi wrapper_3
36
                agent_clk_1 : in std_logic;
37
                agent_sync_clk_1 : in std_logic;
38
                bus_clk_1 : in std_logic;
39
                bus_sync_clk_1 : in std_logic;
40
 
41
                -- Interface: clocks_2
42
                -- Clock inputs  interface for hibi wrapper_3
43
                agent_clk_2 : in std_logic;
44
                agent_sync_clk_2 : in std_logic;
45
                bus_clk_2 : in std_logic;
46
                bus_sync_clk_2 : in std_logic;
47
 
48
                -- Interface: clocks_3
49
                -- Clock inputs  interface for hibi wrapper_3
50
                agent_clk_3 : in std_logic;
51
                agent_sync_clk_3 : in std_logic;
52
                bus_clk_3 : in std_logic;
53
                bus_sync_clk_3 : in std_logic;
54
 
55
                -- Interface: ip_mMaster_0
56
                -- HIBI ip mirrored master agent interface 0 (r4 wrapper)
57
                agent_av_in : in std_logic;
58
                agent_comm_in : in std_logic_vector(4 downto 0);
59
                agent_data_in : in std_logic_vector(31 downto 0);
60
                agent_re_in : in std_logic;
61
                agent_we_in : in std_logic;
62
 
63
                -- Interface: ip_mMaster_1
64
                -- HIBI ip mirrored master agent interface 1 (r4 wrapper)
65
                agent_av_in_1 : in std_logic;
66
                agent_comm_in_1 : in std_logic_vector(4 downto 0);
67
                agent_data_in_1 : in std_logic_vector(31 downto 0);
68
                agent_re_in_1 : in std_logic;
69
                agent_we_in_1 : in std_logic;
70
 
71
                -- Interface: ip_mMaster_2
72
                -- HIBI ip mirrored master agent interface 2 (r4 wrapper)
73
                agent_av_in_2 : in std_logic;
74
                agent_comm_in_2 : in std_logic_vector(4 downto 0);
75
                agent_data_in_2 : in std_logic_vector(31 downto 0);
76
                agent_re_in_2 : in std_logic;
77
                agent_we_in_2 : in std_logic;
78
 
79
                -- Interface: ip_mMaster_3
80
                -- HIBI ip mirrored master agent interface 3 (r4 wrapper)
81
                agent_av_in_3 : in std_logic;
82
                agent_comm_in_3 : in std_logic_vector(4 downto 0);
83
                agent_data_in_3 : in std_logic_vector(31 downto 0);
84
                agent_re_in_3 : in std_logic;
85
                agent_we_in_3 : in std_logic;
86
 
87
                -- Interface: ip_mSlave_0
88
                -- HIBI ip mirrored slave agent interface 0 (r4 wrapper)
89
                agent_av_out : out std_logic;
90
                agent_comm_out : out std_logic_vector(4 downto 0);
91
                agent_data_out : out std_logic_vector(31 downto 0);
92
                agent_empty_out : out std_logic;
93
                agent_full_out : out std_logic;
94
                agent_one_d_out : out std_logic;
95
                agent_one_p_out : out std_logic;
96
 
97
                -- Interface: ip_mSlave_1
98
                -- HIBI ip mirrored slave agent interface 1  (r4 wrapper)
99
                agent_av_out_1 : out std_logic;
100
                agent_comm_out_1 : out std_logic_vector(4 downto 0);
101
                agent_data_out_1 : out std_logic_vector(31 downto 0);
102
                agent_empty_out_1 : out std_logic;
103
                agent_full_out_1 : out std_logic;
104
                agent_one_d_out_1 : out std_logic;
105
                agent_one_p_out_1 : out std_logic;
106
 
107
                -- Interface: ip_mSlave_2
108
                -- HIBI ip mirrored slave agent interface 2 (r4 wrapper)
109
                agent_av_out_2 : out std_logic;
110
                agent_comm_out_2 : out std_logic_vector(4 downto 0);
111
                agent_data_out_2 : out std_logic_vector(31 downto 0);
112
                agent_empty_out_2 : out std_logic;
113
                agent_full_out_2 : out std_logic;
114
                agent_one_d_out_2 : out std_logic;
115
                agent_one_p_out_2 : out std_logic;
116
 
117
                -- Interface: ip_mSlave_3
118
                -- HIBI ip mirrored slave agent interface_3 (r4 wrapper)
119
                agent_av_out_3 : out std_logic;
120
                agent_comm_out_3 : out std_logic_vector(4 downto 0);
121
                agent_data_out_3 : out std_logic_vector(31 downto 0);
122
                agent_empty_out_3 : out std_logic;
123
                agent_full_out_3 : out std_logic;
124
                agent_one_d_out_3 : out std_logic;
125
                agent_one_p_out_3 : out std_logic;
126
 
127
                -- Interface: rst_n
128
                -- Active low reset interface.
129
                rst_n : in std_logic
130
        );
131
 
132
end hibi_segment;
133
 
134
 
135
architecture structural of hibi_segment is
136
 
137
        signal hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveAV : std_logic;
138
        signal hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1AV : std_logic;
139
        signal hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveAV : std_logic;
140
        signal hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3AV : std_logic;
141
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV : std_logic;
142
        signal hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveCOMM : std_logic_vector(4 downto 0);
143
        signal hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1COMM : std_logic_vector(4 downto 0);
144
        signal hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveCOMM : std_logic_vector(4 downto 0);
145
        signal hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3COMM : std_logic_vector(4 downto 0);
146
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM : std_logic_vector(4 downto 0);
147
        signal hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveDATA : std_logic_vector(31 downto 0);
148
        signal hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1DATA : std_logic_vector(31 downto 0);
149
        signal hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveDATA : std_logic_vector(31 downto 0);
150
        signal hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3DATA : std_logic_vector(31 downto 0);
151
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA : std_logic_vector(31 downto 0);
152
        signal hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveFULL : std_logic;
153
        signal hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1FULL : std_logic;
154
        signal hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveFULL : std_logic;
155
        signal hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3FULL : std_logic;
156
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL : std_logic;
157
        signal hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveLOCK : std_logic;
158
        signal hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1LOCK : std_logic;
159
        signal hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveLOCK : std_logic;
160
        signal hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3LOCK : std_logic;
161
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK : std_logic;
162
 
163
        component hibi_orbus_small
164
                generic (
165
                        comm_width_g : integer := 5; -- HIBI command width
166
                        data_width_g : integer := 32 -- HIBI data width
167
 
168
                );
169
                port (
170
 
171
                        -- Interface: master
172
                        -- HIBI bus <---> wrapper master interface
173
                        bus_av_out : out std_logic;
174
                        bus_comm_out : out std_logic_vector(4 downto 0);
175
                        bus_data_out : out std_logic_vector(31 downto 0);
176
                        bus_full_out : out std_logic;
177
                        bus_lock_out : out std_logic;
178
 
179
                        -- Interface: slave_0
180
                        -- HIBI bus <---> wrapper slave interface
181
                        bus_av_0_in : in std_logic;
182
                        bus_comm_0_in : in std_logic_vector(4 downto 0);
183
                        bus_data_0_in : in std_logic_vector(31 downto 0);
184
                        bus_full_0_in : in std_logic;
185
                        bus_lock_0_in : in std_logic;
186
 
187
                        -- Interface: slave_1
188
                        -- HIBI bus <---> wrapper slave interface
189
                        bus_av_1_in : in std_logic;
190
                        bus_comm_1_in : in std_logic_vector(4 downto 0);
191
                        bus_data_1_in : in std_logic_vector(31 downto 0);
192
                        bus_full_1_in : in std_logic;
193
                        bus_lock_1_in : in std_logic;
194
 
195
                        -- Interface: slave_2
196
                        -- HIBI bus <---> wrapper slave interface
197
                        bus_av_2_in : in std_logic;
198
                        bus_comm_2_in : in std_logic_vector(4 downto 0);
199
                        bus_data_2_in : in std_logic_vector(31 downto 0);
200
                        bus_full_2_in : in std_logic;
201
                        bus_lock_2_in : in std_logic;
202
 
203
                        -- Interface: slave_3
204
                        -- HIBI bus <---> wrapper slave interface
205
                        bus_av_3_in : in std_logic;
206
                        bus_comm_3_in : in std_logic_vector(4 downto 0);
207
                        bus_data_3_in : in std_logic_vector(31 downto 0);
208
                        bus_full_3_in : in std_logic;
209
                        bus_lock_3_in : in std_logic
210
 
211
                );
212
        end component;
213
 
214
        -- HIBI bus wrapper, interface revision 4 
215
        component hibi_wrapper_r4
216
                generic (
217
                        addr_g : integer := 46; -- addressing settings: unique for each wrapper
218
                        addr_limit_g : integer := 0; -- Upper address boundary
219
                        addr_width_g : integer := 32; -- HIBI address width
220
                        arb_type_g : integer := 0; -- Arbitration type 0 round-robin, 1 priority, 2 combined, 3 DAA. Ensure that all wrappers in a segment agree on arb_type
221
                        cfg_re_g : integer := 0; --  enable reading config
222
                        cfg_we_g : integer := 0; -- enable writing config
223
                        comm_width_g : integer := 5; -- HIBI communication width (HIBI v.2=3, v.3 = 5 bits)
224
                        counter_width_g : integer := 7; -- greater than or equal (n_agents, max_send...) 
225
                        data_width_g : integer := 32; -- HIBI data width (less than or equal)
226
                        debug_width_g : integer := 0; -- For special monitors
227
                        fifo_sel_g : integer := 0; -- fifo_sel: 0 synch multiclk, 1 basic GALS,  2 Gray FIFO (depth=2^n!), 3 mixed clock pausible ( use 0 for synchronous systems)
228
                        id_g : integer := 5; --  used instead of addr in recfg
229
                        id_max_g : integer := 0; -- Only for bridges+cfg, zero for others!
230
                        id_min_g : integer := 0; -- Only for bridges+cfg, zero for others!
231
                        id_width_g : integer := 4; -- gte(log2(id_g))
232
                        inv_addr_en_g : integer := 0; -- Only for bridges
233
                        keep_slot_g : integer := 0; -- for TDMA
234
                        max_send_g : integer := 50; -- in words. Max_send can be wrapper-specific.
235
                        n_agents_g : integer := 4; -- Number of agents within one segment. Ensure that all wrappers in a segment agree on n_agents
236
                        n_cfg_pages_g : integer := 0; -- Having multiple pages allows fast reconfig. Note that cfg memory initialization is done with separate package if you have many time slots or configuration pages
237
                        n_extra_params_g : integer := 0; -- app-specific registers
238
                        n_time_slots_g : integer := 0; -- TDMA is enabled by setting n_time_slots > 0
239
                        prior_g : integer := 2; -- lte n_agents
240
                        rel_agent_freq_g : integer := 1; -- Synch_multiclk FIFOs must know the ratio of frequencies
241
                        rel_bus_freq_g : integer := 1; -- Synch_multiclk FIFOs must know the ratio of frequencies
242
                        rx_fifo_depth_g : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.
243
                        rx_msg_fifo_depth_g : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.Prefix msg refers to hi-prior data
244
                        separate_addr_g : integer := 0; -- Transmits addr in parallel with data
245
                        tx_fifo_depth_g : integer := 5; -- All FIFO depths are given in words. Allowed values 0,2,3... words.
246
                        tx_msg_fifo_depth_g : integer := 5 -- All FIFO depths are given in words. Allowed values 0,2,3... words.Prefix msg refers to hi-prior data
247
 
248
                );
249
                port (
250
 
251
                        -- Interface: bus_mMaster
252
                        -- HIBI bus interface
253
                        bus_av_in : in std_logic;
254
                        bus_comm_in : in std_logic_vector(4 downto 0);
255
                        bus_data_in : in std_logic_vector(31 downto 0);
256
                        bus_full_in : in std_logic;
257
                        bus_lock_in : in std_logic;
258
 
259
                        -- Interface: bus_mSlave
260
                        bus_av_out : out std_logic;
261
                        bus_comm_out : out std_logic_vector(4 downto 0);
262
                        bus_data_out : out std_logic_vector(31 downto 0);
263
                        bus_full_out : out std_logic;
264
                        bus_lock_out : out std_logic;
265
 
266
                        -- Interface: clocks
267
                        -- HIBI clock input
268
                        agent_clk : in std_logic;
269
                        agent_sync_clk : in std_logic;
270
                        bus_clk : in std_logic;
271
                        bus_sync_clk : in std_logic;
272
 
273
                        -- Interface: ip_mMaster
274
                        -- HIBI IP  mirrored master interface revision 4.
275
                        agent_av_in : in std_logic;
276
                        agent_comm_in : in std_logic_vector(4 downto 0);
277
                        agent_data_in : in std_logic_vector(31 downto 0);
278
                        agent_re_in : in std_logic;
279
                        agent_we_in : in std_logic;
280
 
281
                        -- Interface: ip_mSlave
282
                        -- HIBI IP  mirrored slave interface revision 4.
283
                        agent_av_out : out std_logic;
284
                        agent_comm_out : out std_logic_vector(4 downto 0);
285
                        agent_data_out : out std_logic_vector(31 downto 0);
286
                        agent_empty_out : out std_logic;
287
                        agent_full_out : out std_logic;
288
                        agent_one_d_out : out std_logic;
289
                        agent_one_p_out : out std_logic;
290
 
291
                        -- These ports are not in any interface
292
                        debug_in : in std_logic_vector(0 downto 0);
293
                        -- debug_out : out std_logic_vector(0 downto 0);
294
 
295
                        -- Interface: rst_n
296
                        rst_n : in std_logic
297
 
298
                );
299
        end component;
300
 
301
        -- You can write vhdl code after this tag and it is saved through the generator.
302
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_BEGIN##
303
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_END##
304
        -- Stop writing your code after this tag.
305
 
306
 
307
begin
308
 
309
        -- You can write vhdl code after this tag and it is saved through the generator.
310
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_BEGIN##
311
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_END##
312
        -- Stop writing your code after this tag.
313
 
314
        hibi_orbus_0 : hibi_orbus_small
315
                port map (
316
                        bus_av_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveAV,
317
                        bus_av_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1AV,
318
                        bus_av_2_in => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveAV,
319
                        bus_av_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3AV,
320
                        bus_av_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
321
                        bus_comm_0_in(4 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveCOMM(4 downto 0),
322
                        bus_comm_1_in(4 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1COMM(4 downto 0),
323
                        bus_comm_2_in(4 downto 0) => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveCOMM(4 downto 0),
324
                        bus_comm_3_in(4 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3COMM(4 downto 0),
325
                        bus_comm_out(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
326
                        bus_data_0_in(31 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveDATA(31 downto 0),
327
                        bus_data_1_in(31 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1DATA(31 downto 0),
328
                        bus_data_2_in(31 downto 0) => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveDATA(31 downto 0),
329
                        bus_data_3_in(31 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3DATA(31 downto 0),
330
                        bus_data_out(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
331
                        bus_full_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveFULL,
332
                        bus_full_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1FULL,
333
                        bus_full_2_in => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveFULL,
334
                        bus_full_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3FULL,
335
                        bus_full_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
336
                        bus_lock_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveLOCK,
337
                        bus_lock_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1LOCK,
338
                        bus_lock_2_in => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveLOCK,
339
                        bus_lock_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3LOCK,
340
                        bus_lock_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK
341
                );
342
 
343
        hibi_wrapper_r4_0 : hibi_wrapper_r4
344
                generic map (
345
                        addr_g => hibi_addr_0_g
346
                )
347
                port map (
348
                        agent_av_in => agent_av_in,
349
                        agent_av_out => agent_av_out,
350
                        agent_clk => agent_clk,
351
                        agent_comm_in(4 downto 0) => agent_comm_in(4 downto 0),
352
                        agent_comm_out(4 downto 0) => agent_comm_out(4 downto 0),
353
                        agent_data_in(31 downto 0) => agent_data_in(31 downto 0),
354
                        agent_data_out(31 downto 0) => agent_data_out(31 downto 0),
355
                        agent_empty_out => agent_empty_out,
356
                        agent_full_out => agent_full_out,
357
                        agent_one_d_out => agent_one_d_out,
358
                        agent_one_p_out => agent_one_p_out,
359
                        agent_re_in => agent_re_in,
360
                        agent_sync_clk => agent_sync_clk,
361
                        agent_we_in => agent_we_in,
362
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
363
                        bus_av_out => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveAV,
364
                        bus_clk => bus_clk,
365
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
366
                        bus_comm_out(4 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveCOMM(4 downto 0),
367
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
368
                        bus_data_out(31 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveDATA(31 downto 0),
369
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
370
                        bus_full_out => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveFULL,
371
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
372
                        bus_lock_out => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveLOCK,
373
                        bus_sync_clk => bus_sync_clk,
374
                        debug_in => (others => '0'),
375
                        rst_n => rst_n
376
                );
377
 
378
        hibi_wrapper_r4_1 : hibi_wrapper_r4
379
                generic map (
380
                        addr_g => hibi_addr_1_g
381
                )
382
                port map (
383
                        agent_av_in => agent_av_in_1,
384
                        agent_av_out => agent_av_out_1,
385
                        agent_clk => agent_clk_1,
386
                        agent_comm_in(4 downto 0) => agent_comm_in_1(4 downto 0),
387
                        agent_comm_out(4 downto 0) => agent_comm_out_1(4 downto 0),
388
                        agent_data_in(31 downto 0) => agent_data_in_1(31 downto 0),
389
                        agent_data_out(31 downto 0) => agent_data_out_1(31 downto 0),
390
                        agent_empty_out => agent_empty_out_1,
391
                        agent_full_out => agent_full_out_1,
392
                        agent_one_d_out => agent_one_d_out_1,
393
                        agent_one_p_out => agent_one_p_out_1,
394
                        agent_re_in => agent_re_in_1,
395
                        agent_sync_clk => agent_sync_clk_1,
396
                        agent_we_in => agent_we_in_1,
397
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
398
                        bus_av_out => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1AV,
399
                        bus_clk => bus_clk_1,
400
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
401
                        bus_comm_out(4 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1COMM(4 downto 0),
402
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
403
                        bus_data_out(31 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1DATA(31 downto 0),
404
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
405
                        bus_full_out => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1FULL,
406
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
407
                        bus_lock_out => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1LOCK,
408
                        bus_sync_clk => bus_sync_clk_1,
409
                        debug_in => (others => '0'),
410
                        rst_n => rst_n
411
                );
412
 
413
        hibi_wrapper_r4_2 : hibi_wrapper_r4
414
                generic map (
415
                        addr_g => hibi_addr_2_g
416
                )
417
                port map (
418
                        agent_av_in => agent_av_in_2,
419
                        agent_av_out => agent_av_out_2,
420
                        agent_clk => agent_clk_2,
421
                        agent_comm_in(4 downto 0) => agent_comm_in_2(4 downto 0),
422
                        agent_comm_out(4 downto 0) => agent_comm_out_2(4 downto 0),
423
                        agent_data_in(31 downto 0) => agent_data_in_2(31 downto 0),
424
                        agent_data_out(31 downto 0) => agent_data_out_2(31 downto 0),
425
                        agent_empty_out => agent_empty_out_2,
426
                        agent_full_out => agent_full_out_2,
427
                        agent_one_d_out => agent_one_d_out_2,
428
                        agent_one_p_out => agent_one_p_out_2,
429
                        agent_re_in => agent_re_in_2,
430
                        agent_sync_clk => agent_sync_clk_2,
431
                        agent_we_in => agent_we_in_2,
432
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
433
                        bus_av_out => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveAV,
434
                        bus_clk => bus_clk_2,
435
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
436
                        bus_comm_out(4 downto 0) => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveCOMM(4 downto 0),
437
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
438
                        bus_data_out(31 downto 0) => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveDATA(31 downto 0),
439
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
440
                        bus_full_out => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveFULL,
441
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
442
                        bus_lock_out => hibi_orbus_0_slave_2_to_hibi_wrapper_r4_2_bus_mSlaveLOCK,
443
                        bus_sync_clk => bus_sync_clk_2,
444
                        debug_in => (others => '0'),
445
                        rst_n => rst_n
446
                );
447
 
448
        hibi_wrapper_r4_3 : hibi_wrapper_r4
449
                generic map (
450
                        addr_g => hibi_addr_3_g
451
                )
452
                port map (
453
                        agent_av_in => agent_av_in_3,
454
                        agent_av_out => agent_av_out_3,
455
                        agent_clk => agent_clk_3,
456
                        agent_comm_in(4 downto 0) => agent_comm_in_3(4 downto 0),
457
                        agent_comm_out(4 downto 0) => agent_comm_out_3(4 downto 0),
458
                        agent_data_in(31 downto 0) => agent_data_in_3(31 downto 0),
459
                        agent_data_out(31 downto 0) => agent_data_out_3(31 downto 0),
460
                        agent_empty_out => agent_empty_out_3,
461
                        agent_full_out => agent_full_out_3,
462
                        agent_one_d_out => agent_one_d_out_3,
463
                        agent_one_p_out => agent_one_p_out_3,
464
                        agent_re_in => agent_re_in_3,
465
                        agent_sync_clk => agent_sync_clk_3,
466
                        agent_we_in => agent_we_in_3,
467
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
468
                        bus_av_out => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3AV,
469
                        bus_clk => bus_clk_3,
470
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
471
                        bus_comm_out(4 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3COMM(4 downto 0),
472
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
473
                        bus_data_out(31 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3DATA(31 downto 0),
474
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
475
                        bus_full_out => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3FULL,
476
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
477
                        bus_lock_out => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3LOCK,
478
                        bus_sync_clk => bus_sync_clk_3,
479
                        debug_in => (others => '0'),
480
                        rst_n => rst_n
481
                );
482
 
483
end structural;
484
 

powered by: WebSVN 2.1.0

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