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 180

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 174 lanttu
-- Creation date: 09.04.2013
4
-- Creation time: 12:34:10
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 174 lanttu
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV : 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 174 lanttu
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM : 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 174 lanttu
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA : 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 174 lanttu
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL : 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 174 lanttu
        signal hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK : 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
                        -- debug_out : out std_logic_vector(0 downto 0);
297
 
298
                        -- Interface: rst_n
299
                        rst_n : in std_logic
300
 
301
                );
302
        end component;
303
 
304
        -- You can write vhdl code after this tag and it is saved through the generator.
305
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_BEGIN##
306
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_END##
307
        -- Stop writing your code after this tag.
308
 
309
 
310
begin
311
 
312
        -- You can write vhdl code after this tag and it is saved through the generator.
313
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_BEGIN##
314
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_END##
315
        -- Stop writing your code after this tag.
316
 
317
        hibi_orbus_0 : hibi_orbus_small
318
                port map (
319
                        bus_av_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveAV,
320
                        bus_av_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1AV,
321 149 lanttu
                        bus_av_2_in => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2AV,
322 145 lanttu
                        bus_av_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3AV,
323 174 lanttu
                        bus_av_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
324 145 lanttu
                        bus_comm_0_in(4 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveCOMM(4 downto 0),
325
                        bus_comm_1_in(4 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1COMM(4 downto 0),
326 149 lanttu
                        bus_comm_2_in(4 downto 0) => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2COMM(4 downto 0),
327 145 lanttu
                        bus_comm_3_in(4 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3COMM(4 downto 0),
328 174 lanttu
                        bus_comm_out(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
329 145 lanttu
                        bus_data_0_in(31 downto 0) => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveDATA(31 downto 0),
330
                        bus_data_1_in(31 downto 0) => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1DATA(31 downto 0),
331 149 lanttu
                        bus_data_2_in(31 downto 0) => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2DATA(31 downto 0),
332 145 lanttu
                        bus_data_3_in(31 downto 0) => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3DATA(31 downto 0),
333 174 lanttu
                        bus_data_out(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
334 145 lanttu
                        bus_full_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveFULL,
335
                        bus_full_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1FULL,
336 149 lanttu
                        bus_full_2_in => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2FULL,
337 145 lanttu
                        bus_full_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3FULL,
338 174 lanttu
                        bus_full_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
339 145 lanttu
                        bus_lock_0_in => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveLOCK,
340
                        bus_lock_1_in => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1LOCK,
341 149 lanttu
                        bus_lock_2_in => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2LOCK,
342 145 lanttu
                        bus_lock_3_in => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3LOCK,
343 174 lanttu
                        bus_lock_out => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK
344 145 lanttu
                );
345
 
346
        hibi_wrapper_r4_0 : hibi_wrapper_r4
347
                generic map (
348 149 lanttu
                        addr_g => ip_mSlave_0_addr_start,
349 174 lanttu
                        addr_limit_g => ip_mSlave_0_addr_end,
350
                        prior_g => 1
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 174 lanttu
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
368 145 lanttu
                        bus_av_out => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveAV,
369
                        bus_clk => bus_clk,
370 174 lanttu
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(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 174 lanttu
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(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 174 lanttu
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
375 145 lanttu
                        bus_full_out => hibi_orbus_0_slave_0_to_hibi_wrapper_r4_0_bus_mSlaveFULL,
376 174 lanttu
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
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
                        rst_n => rst_n
380
                );
381
 
382
        hibi_wrapper_r4_1 : hibi_wrapper_r4
383
                generic map (
384 149 lanttu
                        addr_g => ip_mSlave_1_addr_start,
385 174 lanttu
                        addr_limit_g => ip_mSlave_1_addr_end,
386
                        prior_g => 2
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 174 lanttu
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
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 174 lanttu
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(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 174 lanttu
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(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 174 lanttu
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
411 145 lanttu
                        bus_full_out => hibi_wrapper_r4_1_bus_mSlave_to_hibi_orbus_0_slave_1FULL,
412 174 lanttu
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
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
                        rst_n => rst_n
416
                );
417
 
418
        hibi_wrapper_r4_2 : hibi_wrapper_r4
419
                generic map (
420 149 lanttu
                        addr_g => ip_mSlave_2_addr_start,
421 174 lanttu
                        addr_limit_g => ip_mSlave_2_addr_end,
422
                        prior_g => 3
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 174 lanttu
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
440 149 lanttu
                        bus_av_out => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2AV,
441 145 lanttu
                        bus_clk => bus_clk_2,
442 174 lanttu
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(4 downto 0),
443 149 lanttu
                        bus_comm_out(4 downto 0) => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2COMM(4 downto 0),
444 174 lanttu
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(31 downto 0),
445 149 lanttu
                        bus_data_out(31 downto 0) => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2DATA(31 downto 0),
446 174 lanttu
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
447 149 lanttu
                        bus_full_out => hibi_wrapper_r4_2_bus_mSlave_to_hibi_orbus_0_slave_2FULL,
448 174 lanttu
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
449 149 lanttu
                        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
                        rst_n => rst_n
452
                );
453
 
454
        hibi_wrapper_r4_3 : hibi_wrapper_r4
455
                generic map (
456 149 lanttu
                        addr_g => ip_mSlave_3_addr_start,
457 174 lanttu
                        addr_limit_g => ip_mSlave_3_addr_end,
458
                        prior_g => 4
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 174 lanttu
                        bus_av_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterAV,
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 174 lanttu
                        bus_comm_in(4 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterCOMM(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 174 lanttu
                        bus_data_in(31 downto 0) => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterDATA(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 174 lanttu
                        bus_full_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterFULL,
483 145 lanttu
                        bus_full_out => hibi_wrapper_r4_3_bus_mSlave_to_hibi_orbus_0_slave_3FULL,
484 174 lanttu
                        bus_lock_in => hibi_orbus_0_master_to_hibi_wrapper_r4_0_bus_mMasterLOCK,
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
                        rst_n => rst_n
488
                );
489
 
490
end structural;
491
 

powered by: WebSVN 2.1.0

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