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 149

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

powered by: WebSVN 2.1.0

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