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

Subversion Repositories funbase_ip_library

[/] [funbase_ip_library/] [trunk/] [TUT/] [soc/] [de2_samos_soc/] [1.0/] [de2_samos_soc.vhd] - Blame information for rev 148

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 148 lanttu
-- ***************************************************
2
-- File: de2_samos_soc.vhd
3
-- Creation date: 03.09.2012
4
-- Creation time: 15:11:54
5
-- Description: Altera de2 template soc
6
-- 
7
-- Created by: matilail
8
-- This file was generated with Kactus2 vhdl generator.
9
-- ***************************************************
10
library IEEE;
11
library dct_to_hibi;
12
library work;
13
library udp2hibi;
14
use dct_to_hibi.all;
15
use work.all;
16
use udp2hibi.all;
17
use IEEE.std_logic_1164.all;
18
 
19
entity de2_samos_soc is
20
 
21
        port (
22
 
23
                -- Interface: clk_in
24
                CLOCK_50 : in std_logic;
25
 
26
                -- Interface: DM9000A
27
                ENET_INT : in std_logic;
28
                ENET_CLK : out std_logic;
29
                ENET_CMD : out std_logic;
30
                ENET_CS_N : out std_logic;
31
                ENET_RD_N : out std_logic;
32
                ENET_RST_N : out std_logic;
33
                ENET_WR_N : out std_logic;
34
                ENET_DATA : inout std_logic_vector(15 downto 0);
35
 
36
                -- Interface: rst_n
37
                SW_17 : in std_logic;
38
 
39
                -- Interface: sdram_clk
40
                DRAM_CLK : out std_logic;
41
 
42
                -- Interface: sdram_if
43
                DRAM_ADDR : out std_logic_vector(11 downto 0);
44
                DRAM_BA : out std_logic_vector(1 downto 0);
45
                DRAM_CAS_N : out std_logic;
46
                DRAM_CKE : out std_logic;
47
                DRAM_CS_N : out std_logic;
48
                DRAM_DQM : out std_logic_vector(1 downto 0);
49
                DRAM_RAS_N : out std_logic;
50
                DRAM_WE_N : out std_logic;
51
                DRAM_DQ : inout std_logic_vector(15 downto 0);
52
 
53
                -- Interface: sram_if
54
                SRAM_ADDR : out std_logic_vector(17 downto 0);
55
                SRAM_CE_N : out std_logic;
56
                SRAM_LB_N : out std_logic;
57
                SRAM_OE_N : out std_logic;
58
                SRAM_UB_N : out std_logic;
59
                SRAM_WE_N : out std_logic;
60
                SRAM_DQ : inout std_logic_vector(15 downto 0)
61
        );
62
 
63
end de2_samos_soc;
64
 
65
 
66
architecture structural of de2_samos_soc is
67
 
68
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifCHROMA_TO_ACC : std_logic;
69
        signal nios_ii_sram_0_clk_to_pll_0_ip_clkCLK : std_logic;
70
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_DCT_TO_ACC : std_logic_vector(8 downto 0);
71
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_IDCT_FROM_ACC : std_logic_vector(8 downto 0);
72
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_QUANT_FROM_ACC : std_logic_vector(7 downto 0);
73
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDCT_READY4COL_FROM_ACC : std_logic;
74
        signal dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3AV : std_logic;
75
        signal dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3AV : std_logic;
76
        signal dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3COMM : std_logic_vector(4 downto 0);
77
        signal dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3COMM : std_logic_vector(4 downto 0);
78
        signal dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3DATA : std_logic_vector(31 downto 0);
79
        signal dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3DATA : std_logic_vector(31 downto 0);
80
        signal dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3EMPTY : std_logic;
81
        signal dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3FULL : std_logic;
82
        signal dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3RE : std_logic;
83
        signal dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3WE : std_logic;
84
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifIDCT_READY4COL_TO_ACC : std_logic;
85
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifINTRA_TO_ACC : std_logic;
86
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifLOAD_QP_TO_ACC : std_logic;
87
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQP_TO_ACC : std_logic_vector(4 downto 0);
88
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQUANT_READY4COL_TO_ACC : std_logic;
89
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_DCT_TO_ACC : std_logic;
90
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_IDCT_FROM_ACC : std_logic;
91
        signal dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_QUANT_FROM_ACC : std_logic;
92
        signal nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0AV : std_logic;
93
        signal nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1AV : std_logic;
94
        signal udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2AV : std_logic;
95
        signal nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0AV : std_logic;
96
        signal nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1AV : std_logic;
97
        signal udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2AV : std_logic;
98
        signal nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0COMM : std_logic_vector(4 downto 0);
99
        signal nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1COMM : std_logic_vector(4 downto 0);
100
        signal udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2COMM : std_logic_vector(4 downto 0);
101
        signal nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0COMM : std_logic_vector(4 downto 0);
102
        signal nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1COMM : std_logic_vector(4 downto 0);
103
        signal udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2COMM : std_logic_vector(4 downto 0);
104
        signal nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0DATA : std_logic_vector(31 downto 0);
105
        signal nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1DATA : std_logic_vector(31 downto 0);
106
        signal udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2DATA : std_logic_vector(31 downto 0);
107
        signal nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0DATA : std_logic_vector(31 downto 0);
108
        signal nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1DATA : std_logic_vector(31 downto 0);
109
        signal udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2DATA : std_logic_vector(31 downto 0);
110
        signal nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0EMPTY : std_logic;
111
        signal nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1EMPTY : std_logic;
112
        signal udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2EMPTY : std_logic;
113
        signal nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0FULL : std_logic;
114
        signal nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1FULL : std_logic;
115
        signal udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2FULL : std_logic;
116
        signal nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0RE : std_logic;
117
        signal nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1RE : std_logic;
118
        signal udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2RE : std_logic;
119
        signal nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0WE : std_logic;
120
        signal nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1WE : std_logic;
121
        signal udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2WE : std_logic;
122
        signal udp2hibi_0_clk_udp_to_pll_0_clk_25MHzCLK : std_logic;
123
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxdest_port_out : std_logic_vector(15 downto 0);
124
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxlink_up_out : std_logic;
125
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxnew_rx_out : std_logic;
126
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txnew_tx_in : std_logic;
127
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_out : std_logic_vector(15 downto 0);
128
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_valid_out : std_logic;
129
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_erroneous_out : std_logic;
130
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_len_out : std_logic_vector(10 downto 0);
131
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_re_in : std_logic;
132
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_addr_out : std_logic_vector(31 downto 0);
133
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txsource_port_in : std_logic_vector(15 downto 0);
134
        signal udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_port_out : std_logic_vector(15 downto 0);
135
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_addr_in : std_logic_vector(31 downto 0);
136
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_port_in : std_logic_vector(15 downto 0);
137
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_in : std_logic_vector(15 downto 0);
138
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_valid_in : std_logic;
139
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_len_in : std_logic_vector(10 downto 0);
140
        signal udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_re_out : std_logic;
141
 
142
        component nios_ii_sdram
143
                port (
144
 
145
                        -- Interface: clk
146
                        clk_0 : in std_logic;
147
 
148
                        -- Interface: hibi_master
149
                        hibi_av_out_from_the_hibi_pe_dma_1 : out std_logic;
150
                        hibi_comm_out_from_the_hibi_pe_dma_1 : out std_logic_vector(4 downto 0);
151
                        hibi_data_out_from_the_hibi_pe_dma_1 : out std_logic_vector(31 downto 0);
152
                        hibi_re_out_from_the_hibi_pe_dma_1 : out std_logic;
153
                        hibi_we_out_from_the_hibi_pe_dma_1 : out std_logic;
154
 
155
                        -- Interface: hibi_slave
156
                        hibi_av_in_to_the_hibi_pe_dma_1 : in std_logic;
157
                        hibi_comm_in_to_the_hibi_pe_dma_1 : in std_logic_vector(4 downto 0);
158
                        hibi_data_in_to_the_hibi_pe_dma_1 : in std_logic_vector(31 downto 0);
159
                        hibi_empty_in_to_the_hibi_pe_dma_1 : in std_logic;
160
                        hibi_full_in_to_the_hibi_pe_dma_1 : in std_logic;
161
 
162
                        -- Interface: rst_n
163
                        reset_n : in std_logic;
164
 
165
                        -- Interface: sdram_if
166
                        zs_addr_from_the_sdram_1 : out std_logic_vector(11 downto 0);
167
                        zs_ba_from_the_sdram_1 : out std_logic_vector(1 downto 0);
168
                        zs_cas_n_from_the_sdram_1 : out std_logic;
169
                        zs_cke_from_the_sdram_1 : out std_logic;
170
                        zs_cs_n_from_the_sdram_1 : out std_logic;
171
                        zs_dqm_from_the_sdram_1 : out std_logic_vector(1 downto 0);
172
                        zs_ras_n_from_the_sdram_1 : out std_logic;
173
                        zs_we_n_from_the_sdram_1 : out std_logic;
174
                        zs_dq_to_and_from_the_sdram_1 : inout std_logic_vector(15 downto 0)
175
 
176
                );
177
        end component;
178
 
179
        component nios_ii_sram
180
                port (
181
 
182
                        -- Interface: clk
183
                        clk_0 : in std_logic;
184
 
185
                        -- Interface: hibi_master
186
                        hibi_av_out_from_the_hibi_pe_dma_0 : out std_logic;
187
                        hibi_comm_out_from_the_hibi_pe_dma_0 : out std_logic_vector(4 downto 0);
188
                        hibi_data_out_from_the_hibi_pe_dma_0 : out std_logic_vector(31 downto 0);
189
                        hibi_re_out_from_the_hibi_pe_dma_0 : out std_logic;
190
                        hibi_we_out_from_the_hibi_pe_dma_0 : out std_logic;
191
 
192
                        -- Interface: hibi_slave
193
                        hibi_av_in_to_the_hibi_pe_dma_0 : in std_logic;
194
                        hibi_comm_in_to_the_hibi_pe_dma_0 : in std_logic_vector(4 downto 0);
195
                        hibi_data_in_to_the_hibi_pe_dma_0 : in std_logic_vector(31 downto 0);
196
                        hibi_empty_in_to_the_hibi_pe_dma_0 : in std_logic;
197
                        hibi_full_in_to_the_hibi_pe_dma_0 : in std_logic;
198
 
199
                        -- Interface: rst_n
200
                        reset_n : in std_logic;
201
 
202
                        -- Interface: sram_if
203
                        SRAM_ADDR_from_the_sram_0 : out std_logic_vector(17 downto 0);
204
                        SRAM_CE_N_from_the_sram_0 : out std_logic;
205
                        SRAM_LB_N_from_the_sram_0 : out std_logic;
206
                        SRAM_OE_N_from_the_sram_0 : out std_logic;
207
                        SRAM_UB_N_from_the_sram_0 : out std_logic;
208
                        SRAM_WE_N_from_the_sram_0 : out std_logic;
209
                        SRAM_DQ_to_and_from_the_sram_0 : inout std_logic_vector(15 downto 0)
210
 
211
                );
212
        end component;
213
 
214
        -- DCT to Hibi. Connects dctQidct block to HIBI Wrapper
215
        -- 
216
        -- 
217
        -- Input:
218
        -- 1. Two address to send the results to (one for quant, one for idct)
219
        -- 2. Control word for the current macroblock
220
        --     Control word structure: bit 6: chroma(1)/luma(0), 5: intra(1)/inter(0),
221
        --                              4..0: quantizer parameter (QP)
222
        -- 3. Then the DCT data ( 8x8x6 x 16-bit values = 384 x 16 bit )
223
        -- 
224
        -- Chroma/luma: 4 luma, 2 chroma
225
        -- 
226
        -- Outputs:
227
        --  Outputs are 16-bit words which are packed up to hibi. If hibi width is
228
        --  32b, then 2 16-bit words are combined into one hibi word.
229
        --  01. quant results: 1. 8*8 x 16bit values to quant result address
230
        --  02. idct  results: 1. 8*8 x 16bit values to idct  result address  
231
        --  03. quant results: 2. 8*8 x 16bit values to quant result address
232
        --  04. idct  results: 2. 8*8 x 16bit values to idct  result address
233
        --  05. quant results: 3. 8*8 x 16bit values to quant result address
234
        --  06. idct  results: 3. 8*8 x 16bit values to idct  result address
235
        --  07. quant results: 4. 8*8 x 16bit values to quant result address
236
        --  08. idct  results: 4. 8*8 x 16bit values to idct  result address
237
        --  09. quant results: 5. 8*8 x 16bit values to quant result address
238
        --  10. idct  results: 5. 8*8 x 16bit values to idct  result address
239
        --  11. quant results: 6. 8*8 x 16bit values to quant result address
240
        --  12. quant results: 1 word with bits 5..0 determing if 8x8 quant blocks(1-6)
241
        --                     has all values zeros (except dc-component in intra)
242
        --  13. idct  results: 6. 8*8 x 16bit values to idct  result address
243
        -- -
244
        --  Total amount of 16-bit values is: 384 per result address + 1 hibi word to
245
        --  quantization result address.
246
        -- 
247
        --  With default parameter:
248
        --  Total of 193 words of data to quant address (if data_width_g = 32)
249
        --  Total of 192 words of data to idct address (if data_width_g = 32)
250
        -- 
251
        component dct_to_hibi
252
                generic (
253
                        comm_width_g : integer := 5;
254
                        data_width_g : integer := 32;
255
                        dct_width_g : integer := 9; -- Incoming data width(9b)
256
                        debug_w_g : integer := 1;
257
                        idct_width_g : integer := 9; -- Data width after IDCT(9b)
258
                        own_address_g : integer := 0; -- Used for self-release
259
                        quant_width_g : integer := 8; -- Quantizated data width(8b)
260
                        rtm_address_g : integer := 0; -- Used for self-release
261
                        use_self_rel_g : integer := 1 -- Does it release itself from RTM?
262
 
263
                );
264
                port (
265
 
266
                        -- Interface: clk
267
                        -- Clock interface
268
                        clk : in std_logic;
269
 
270
                        -- Interface: dct_if
271
                        -- Interface for connecting idctquant accelerator       
272
                        data_idct_in : in std_logic_vector(8 downto 0);
273
                        data_quant_in : in std_logic_vector(7 downto 0);
274
                        dct_ready4col_in : in std_logic;
275
                        wr_idct_in : in std_logic;
276
                        wr_quant_in : in std_logic;
277
                        chroma_out : out std_logic;
278
                        data_dct_out : out std_logic_vector(8 downto 0);
279
                        idct_ready4col_out : out std_logic;
280
                        intra_out : out std_logic;
281
                        loadQP_out : out std_logic;
282
                        QP_out : out std_logic_vector(4 downto 0);
283
                        quant_ready4col_out : out std_logic;
284
                        wr_dct_out : out std_logic;
285
 
286
                        -- Interface: hibi_master
287
                        -- HIBI wrapper r4 version 2 master interface
288
                        hibi_av_out : out std_logic;
289
                        hibi_comm_out : out std_logic_vector(4 downto 0);
290
                        hibi_data_out : out std_logic_vector(31 downto 0);
291
                        hibi_re_out : out std_logic;
292
                        hibi_we_out : out std_logic;
293
 
294
                        -- Interface: hibi_slave
295
                        hibi_av_in : in std_logic;
296
                        hibi_comm_in : in std_logic_vector(4 downto 0);
297
                        hibi_data_in : in std_logic_vector(31 downto 0);
298
                        hibi_empty_in : in std_logic;
299
                        hibi_full_in : in std_logic;
300
 
301
                        -- These ports are not in any interface
302
                        -- debug_out : out std_logic;
303
 
304
                        -- Interface: rst_n
305
                        -- Active low reset input.
306
                        rst_n : in std_logic
307
 
308
                );
309
        end component;
310
 
311
        component dctQidct_core
312
                port (
313
 
314
                        -- Interface: clk
315
                        clk : in std_logic;
316
 
317
                        -- Interface: dct_if
318
                        chroma_in : in std_logic;
319
                        data_dct_in : in std_logic_vector(8 downto 0);
320
                        idct_ready4column_in : in std_logic;
321
                        intra_in : in std_logic;
322
                        loadQP_in : in std_logic;
323
                        QP_in : in std_logic_vector(4 downto 0);
324
                        quant_ready4column_in : in std_logic;
325
                        wr_dct_in : in std_logic;
326
                        data_idct_out : out std_logic_vector(8 downto 0);
327
                        data_quant_out : out std_logic_vector(7 downto 0);
328
                        dct_ready4column_out : out std_logic;
329
                        wr_idct_out : out std_logic;
330
                        wr_quant_out : out std_logic;
331
 
332
                        -- Interface: rst_n
333
                        rst_n : in std_logic
334
 
335
                );
336
        end component;
337
 
338
        component hibi_segment
339
                generic (
340
                        hibi_addr_0_g : integer := 16#01000000#; -- HIBI address for interface 0
341
                        hibi_addr_1_g : integer := 16#03000000#; -- HIBI address for interface 1
342
                        hibi_addr_2_g : integer := 16#05000000#; -- HIBI address for interface 2
343
                        hibi_addr_3_g : integer := 16#07000000#; -- HIBI address for interface 3
344
                        hibi_end_addr_0_g : integer := 16#03000000#
345
-1; -- HIBI end address for interface 0
346
                        hibi_end_addr_1_g : integer := 16#05000000# -1; -- HIBI end address for interface 1
347
                        hibi_end_addr_2_g : integer := 16#07000000# -1; -- HIBI end address for interface 2
348
                        hibi_end_addr_3_g : integer := 16#09000000# -1 -- HIBI end address for interface 3
349
 
350
                );
351
                port (
352
 
353
                        -- Interface: clocks_0
354
                        -- Clock inputs  interface for hibi wrapper_3
355
                        agent_clk : in std_logic;
356
                        agent_sync_clk : in std_logic;
357
                        bus_clk : in std_logic;
358
                        bus_sync_clk : in std_logic;
359
 
360
                        -- Interface: clocks_1
361
                        -- Clock inputs  interface for hibi wrapper_3
362
                        agent_clk_1 : in std_logic;
363
                        agent_sync_clk_1 : in std_logic;
364
                        bus_clk_1 : in std_logic;
365
                        bus_sync_clk_1 : in std_logic;
366
 
367
                        -- Interface: clocks_2
368
                        -- Clock inputs  interface for hibi wrapper_3
369
                        agent_clk_2 : in std_logic;
370
                        agent_sync_clk_2 : in std_logic;
371
                        bus_clk_2 : in std_logic;
372
                        bus_sync_clk_2 : in std_logic;
373
 
374
                        -- Interface: clocks_3
375
                        -- Clock inputs  interface for hibi wrapper_3
376
                        agent_clk_3 : in std_logic;
377
                        agent_sync_clk_3 : in std_logic;
378
                        bus_clk_3 : in std_logic;
379
                        bus_sync_clk_3 : in std_logic;
380
 
381
                        -- Interface: ip_mMaster_0
382
                        -- HIBI ip mirrored master agent interface 0 (r4 wrapper)
383
                        agent_av_in : in std_logic;
384
                        agent_comm_in : in std_logic_vector(4 downto 0);
385
                        agent_data_in : in std_logic_vector(31 downto 0);
386
                        agent_re_in : in std_logic;
387
                        agent_we_in : in std_logic;
388
 
389
                        -- Interface: ip_mMaster_1
390
                        -- HIBI ip mirrored master agent interface 1 (r4 wrapper)
391
                        agent_av_in_1 : in std_logic;
392
                        agent_comm_in_1 : in std_logic_vector(4 downto 0);
393
                        agent_data_in_1 : in std_logic_vector(31 downto 0);
394
                        agent_re_in_1 : in std_logic;
395
                        agent_we_in_1 : in std_logic;
396
 
397
                        -- Interface: ip_mMaster_2
398
                        -- HIBI ip mirrored master agent interface 2 (r4 wrapper)
399
                        agent_av_in_2 : in std_logic;
400
                        agent_comm_in_2 : in std_logic_vector(4 downto 0);
401
                        agent_data_in_2 : in std_logic_vector(31 downto 0);
402
                        agent_re_in_2 : in std_logic;
403
                        agent_we_in_2 : in std_logic;
404
 
405
                        -- Interface: ip_mMaster_3
406
                        -- HIBI ip mirrored master agent interface 3 (r4 wrapper)
407
                        agent_av_in_3 : in std_logic;
408
                        agent_comm_in_3 : in std_logic_vector(4 downto 0);
409
                        agent_data_in_3 : in std_logic_vector(31 downto 0);
410
                        agent_re_in_3 : in std_logic;
411
                        agent_we_in_3 : in std_logic;
412
 
413
                        -- Interface: ip_mSlave_0
414
                        -- HIBI ip mirrored slave agent interface 0 (r4 wrapper)
415
                        agent_av_out : out std_logic;
416
                        agent_comm_out : out std_logic_vector(4 downto 0);
417
                        agent_data_out : out std_logic_vector(31 downto 0);
418
                        agent_empty_out : out std_logic;
419
                        agent_full_out : out std_logic;
420
                        -- agent_one_d_out : out std_logic;
421
                        -- agent_one_p_out : out std_logic;
422
 
423
                        -- Interface: ip_mSlave_1
424
                        -- HIBI ip mirrored slave agent interface 1  (r4 wrapper)
425
                        agent_av_out_1 : out std_logic;
426
                        agent_comm_out_1 : out std_logic_vector(4 downto 0);
427
                        agent_data_out_1 : out std_logic_vector(31 downto 0);
428
                        agent_empty_out_1 : out std_logic;
429
                        agent_full_out_1 : out std_logic;
430
                        -- agent_one_d_out_1 : out std_logic;
431
                        -- agent_one_p_out_1 : out std_logic;
432
 
433
                        -- Interface: ip_mSlave_2
434
                        -- HIBI ip mirrored slave agent interface 2 (r4 wrapper)
435
                        agent_av_out_2 : out std_logic;
436
                        agent_comm_out_2 : out std_logic_vector(4 downto 0);
437
                        agent_data_out_2 : out std_logic_vector(31 downto 0);
438
                        agent_empty_out_2 : out std_logic;
439
                        agent_full_out_2 : out std_logic;
440
                        -- agent_one_d_out_2 : out std_logic;
441
                        -- agent_one_p_out_2 : out std_logic;
442
 
443
                        -- Interface: ip_mSlave_3
444
                        -- HIBI ip mirrored slave agent interface_3 (r4 wrapper)
445
                        agent_av_out_3 : out std_logic;
446
                        agent_comm_out_3 : out std_logic_vector(4 downto 0);
447
                        agent_data_out_3 : out std_logic_vector(31 downto 0);
448
                        agent_empty_out_3 : out std_logic;
449
                        agent_full_out_3 : out std_logic;
450
                        -- agent_one_d_out_3 : out std_logic;
451
                        -- agent_one_p_out_3 : out std_logic;
452
 
453
                        -- Interface: rst_n
454
                        -- Active low reset interface.
455
                        rst_n : in std_logic
456
 
457
                );
458
        end component;
459
 
460
        -- - Interface between a UDP/IP block and the HIBI bus.
461
        -- - Capable of handling one transmission and one incoming packet at a time
462
        -- - UDP2HIBI uses HIBI addresses to separate transfers from different agents
463
        -- - So all agents must use different addresses when sending to UDP2HIBI
464
        -- 
465
        component udp2hibi
466
                generic (
467
                        ack_fifo_depth_g : integer := 4;
468
                        frequency_g : integer := 50000000;
469
                        hibi_addr_width_g : integer := 32;
470
                        hibi_comm_width_g : integer := 5;
471
                        hibi_data_width_g : integer := 32;
472
                        hibi_tx_fifo_depth_g : integer := 10;
473
                        receiver_table_size_g : integer := 4;
474
                        rx_multiclk_fifo_depth_g : integer := 10;
475
                        tx_multiclk_fifo_depth_g : integer := 10
476
 
477
                );
478
                port (
479
 
480
                        -- Interface: clk
481
                        -- clock input
482
                        clk : in std_logic;
483
 
484
                        -- Interface: clk_udp
485
                        -- clock udp input (25MHz)
486
                        clk_udp : in std_logic;
487
 
488
                        -- Interface: hibi_master
489
                        -- HIBI master interface
490
                        hibi_av_out : out std_logic;
491
                        hibi_comm_out : out std_logic_vector(4 downto 0);
492
                        hibi_data_out : out std_logic_vector(31 downto 0);
493
                        hibi_re_out : out std_logic;
494
                        hibi_we_out : out std_logic;
495
 
496
                        -- Interface: hibi_slave
497
                        -- HIBI slave interface
498
                        hibi_av_in : in std_logic;
499
                        hibi_comm_in : in std_logic_vector(4 downto 0);
500
                        hibi_data_in : in std_logic_vector(31 downto 0);
501
                        hibi_empty_in : in std_logic;
502
                        hibi_full_in : in std_logic;
503
 
504
                        -- Interface: rst_n
505
                        -- active low reset
506
                        rst_n : in std_logic;
507
 
508
                        -- Interface: udp_ip_rx
509
                        -- udp_ip_rx
510
                        dest_port_in : in std_logic_vector(15 downto 0);
511
                        eth_link_up_in : in std_logic;
512
                        new_rx_in : in std_logic;
513
                        rx_data_in : in std_logic_vector(15 downto 0);
514
                        rx_data_valid_in : in std_logic;
515
                        rx_erroneous_in : in std_logic;
516
                        rx_len_in : in std_logic_vector(10 downto 0);
517
                        source_ip_in : in std_logic_vector(31 downto 0);
518
                        source_port_in : in std_logic_vector(15 downto 0);
519
                        rx_re_out : out std_logic;
520
 
521
                        -- Interface: udp_ip_tx
522
                        -- udp_ip_tx
523
                        tx_re_in : in std_logic;
524
                        dest_ip_out : out std_logic_vector(31 downto 0);
525
                        dest_port_out : out std_logic_vector(15 downto 0);
526
                        new_tx_out : out std_logic;
527
                        source_port_out : out std_logic_vector(15 downto 0);
528
                        tx_data_out : out std_logic_vector(15 downto 0);
529
                        tx_data_valid_out : out std_logic;
530
                        tx_len_out : out std_logic_vector(10 downto 0)
531
 
532
                );
533
        end component;
534
 
535
        -- DM9000A controller and UDP/IP.
536
        component udp_ip_dm9000a
537
                generic (
538
                        disable_arp_g : integer := 0;
539
                        disable_rx_g : integer := 0
540
 
541
                );
542
                port (
543
 
544
                        -- Interface: app_rx
545
                        -- Application receive operations
546
                        rx_re_in : in std_logic;
547
                        dest_port_out : out std_logic_vector(15 downto 0);
548
                        new_rx_out : out std_logic;
549
                        rx_data_out : out std_logic_vector(15 downto 0);
550
                        rx_data_valid_out : out std_logic;
551
                        rx_erroneous_out : out std_logic;
552
                        -- rx_error_out : out std_logic;
553
                        rx_len_out : out std_logic_vector(10 downto 0);
554
                        source_addr_out : out std_logic_vector(31 downto 0);
555
                        source_port_out : out std_logic_vector(15 downto 0);
556
 
557
                        -- Interface: app_tx
558
                        -- Application transmit operations
559
                        new_tx_in : in std_logic;
560
                        no_arp_target_MAC_in : in std_logic_vector(47 downto 0);
561
                        source_port_in : in std_logic_vector(15 downto 0);
562
                        target_addr_in : in std_logic_vector(31 downto 0);
563
                        target_port_in : in std_logic_vector(15 downto 0);
564
                        tx_data_in : in std_logic_vector(15 downto 0);
565
                        tx_data_valid_in : in std_logic;
566
                        tx_len_in : in std_logic_vector(10 downto 0);
567
                        tx_re_out : out std_logic;
568
 
569
                        -- Interface: clk
570
                        -- Clock 25 MHz in.
571
                        clk : in std_logic;
572
 
573
                        -- Interface: DM9000A
574
                        -- Connection to the DM9000A chip via IO pins.
575
                        eth_interrupt_in : in std_logic;
576
                        eth_chip_sel_out : out std_logic;
577
                        eth_clk_out : out std_logic;
578
                        eth_cmd_out : out std_logic;
579
                        eth_read_out : out std_logic;
580
                        eth_reset_out : out std_logic;
581
                        eth_write_out : out std_logic;
582
                        eth_data_inout : inout std_logic_vector(15 downto 0);
583
 
584
                        -- Interface: rst_n
585
                        -- Asynchronous reset active-low.
586
                        rst_n : in std_logic;
587
 
588
                        -- There ports are contained in many interfaces
589
                        -- fatal_error_out : out std_logic;
590
                        link_up_out : out std_logic
591
 
592
                );
593
        end component;
594
 
595
        -- 50 MHz Altera ALTPLL instantiation for Cyclone II FPGA's with input clk of 50 MHz (mul = 1, div = 1)
596
        component pll
597
                port (
598
 
599
                        -- Interface: clk_25MHz
600
                        c2 : out std_logic;
601
 
602
                        -- Interface: clk_in
603
                        -- Input clock (50 MHz, DE2 PIN_N2)
604
                        inclk0 : in std_logic;
605
 
606
                        -- Interface: sdram_clk
607
                        -- -54 degrees phase adjustment
608
                        c1 : out std_logic;
609
 
610
                        -- There ports are contained in many interfaces
611
                        c0 : out std_logic
612
 
613
                );
614
        end component;
615
 
616
        -- You can write vhdl code after this tag and it is saved through the generator.
617
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_BEGIN##
618
        -- ##KACTUS2_BLACK_BOX_DECLARATIONS_END##
619
        -- Stop writing your code after this tag.
620
 
621
 
622
begin
623
 
624
        -- You can write vhdl code after this tag and it is saved through the generator.
625
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_BEGIN##
626
        -- ##KACTUS2_BLACK_BOX_ASSIGNMENTS_END##
627
        -- Stop writing your code after this tag.
628
 
629
        dct_to_hibi_0 : dct_to_hibi
630
                port map (
631
                        chroma_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifCHROMA_TO_ACC,
632
                        clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
633
                        data_dct_out(8 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_DCT_TO_ACC(8 downto 0),
634
                        data_idct_in(8 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_IDCT_FROM_ACC(8 downto 0),
635
                        data_quant_in(7 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_QUANT_FROM_ACC(7 downto 0),
636
                        dct_ready4col_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDCT_READY4COL_FROM_ACC,
637
                        hibi_av_in => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3AV,
638
                        hibi_av_out => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3AV,
639
                        hibi_comm_in(4 downto 0) => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3COMM(4 downto 0),
640
                        hibi_comm_out(4 downto 0) => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3COMM(4 downto 0),
641
                        hibi_data_in(31 downto 0) => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3DATA(31 downto 0),
642
                        hibi_data_out(31 downto 0) => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3DATA(31 downto 0),
643
                        hibi_empty_in => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3EMPTY,
644
                        hibi_full_in => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3FULL,
645
                        hibi_re_out => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3RE,
646
                        hibi_we_out => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3WE,
647
                        idct_ready4col_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifIDCT_READY4COL_TO_ACC,
648
                        intra_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifINTRA_TO_ACC,
649
                        loadQP_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifLOAD_QP_TO_ACC,
650
                        QP_out(4 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQP_TO_ACC(4 downto 0),
651
                        quant_ready4col_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQUANT_READY4COL_TO_ACC,
652
                        rst_n => SW_17,
653
                        wr_dct_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_DCT_TO_ACC,
654
                        wr_idct_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_IDCT_FROM_ACC,
655
                        wr_quant_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_QUANT_FROM_ACC
656
                );
657
 
658
        dctqidct_0 : dctQidct_core
659
                port map (
660
                        chroma_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifCHROMA_TO_ACC,
661
                        clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
662
                        data_dct_in(8 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_DCT_TO_ACC(8 downto 0),
663
                        data_idct_out(8 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_IDCT_FROM_ACC(8 downto 0),
664
                        data_quant_out(7 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDATA_QUANT_FROM_ACC(7 downto 0),
665
                        dct_ready4column_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifDCT_READY4COL_FROM_ACC,
666
                        idct_ready4column_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifIDCT_READY4COL_TO_ACC,
667
                        intra_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifINTRA_TO_ACC,
668
                        loadQP_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifLOAD_QP_TO_ACC,
669
                        QP_in(4 downto 0) => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQP_TO_ACC(4 downto 0),
670
                        quant_ready4column_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifQUANT_READY4COL_TO_ACC,
671
                        rst_n => SW_17,
672
                        wr_dct_in => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_DCT_TO_ACC,
673
                        wr_idct_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_IDCT_FROM_ACC,
674
                        wr_quant_out => dct_to_hibi_0_dct_if_to_dctqidct_0_dct_ifWR_QUANT_FROM_ACC
675
                );
676
 
677
        hibi_segment_0 : hibi_segment(structural)
678
                port map (
679
                        agent_av_in => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0AV,
680
                        agent_av_in_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1AV,
681
                        agent_av_in_2 => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2AV,
682
                        agent_av_in_3 => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3AV,
683
                        agent_av_out => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0AV,
684
                        agent_av_out_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1AV,
685
                        agent_av_out_2 => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2AV,
686
                        agent_av_out_3 => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3AV,
687
                        agent_clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
688
                        agent_clk_1 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
689
                        agent_clk_2 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
690
                        agent_clk_3 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
691
                        agent_comm_in(4 downto 0) => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0COMM(4 downto 0),
692
                        agent_comm_in_1(4 downto 0) => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1COMM(4 downto 0),
693
                        agent_comm_in_2(4 downto 0) => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2COMM(4 downto 0),
694
                        agent_comm_in_3(4 downto 0) => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3COMM(4 downto 0),
695
                        agent_comm_out(4 downto 0) => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0COMM(4 downto 0),
696
                        agent_comm_out_1(4 downto 0) => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1COMM(4 downto 0),
697
                        agent_comm_out_2(4 downto 0) => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2COMM(4 downto 0),
698
                        agent_comm_out_3(4 downto 0) => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3COMM(4 downto 0),
699
                        agent_data_in(31 downto 0) => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0DATA(31 downto 0),
700
                        agent_data_in_1(31 downto 0) => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1DATA(31 downto 0),
701
                        agent_data_in_2(31 downto 0) => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2DATA(31 downto 0),
702
                        agent_data_in_3(31 downto 0) => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3DATA(31 downto 0),
703
                        agent_data_out(31 downto 0) => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0DATA(31 downto 0),
704
                        agent_data_out_1(31 downto 0) => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1DATA(31 downto 0),
705
                        agent_data_out_2(31 downto 0) => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2DATA(31 downto 0),
706
                        agent_data_out_3(31 downto 0) => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3DATA(31 downto 0),
707
                        agent_empty_out => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0EMPTY,
708
                        agent_empty_out_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1EMPTY,
709
                        agent_empty_out_2 => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2EMPTY,
710
                        agent_empty_out_3 => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3EMPTY,
711
                        agent_full_out => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0FULL,
712
                        agent_full_out_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1FULL,
713
                        agent_full_out_2 => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2FULL,
714
                        agent_full_out_3 => dct_to_hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_3FULL,
715
                        agent_re_in => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0RE,
716
                        agent_re_in_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1RE,
717
                        agent_re_in_2 => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2RE,
718
                        agent_re_in_3 => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3RE,
719
                        agent_sync_clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
720
                        agent_sync_clk_1 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
721
                        agent_sync_clk_2 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
722
                        agent_sync_clk_3 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
723
                        agent_we_in => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0WE,
724
                        agent_we_in_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1WE,
725
                        agent_we_in_2 => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2WE,
726
                        agent_we_in_3 => dct_to_hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_3WE,
727
                        bus_clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
728
                        bus_clk_1 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
729
                        bus_clk_2 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
730
                        bus_clk_3 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
731
                        bus_sync_clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
732
                        bus_sync_clk_1 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
733
                        bus_sync_clk_2 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
734
                        bus_sync_clk_3 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
735
                        rst_n => SW_17
736
                );
737
 
738
        nios_ii_sdram_1 : nios_ii_sdram
739
                port map (
740
                        clk_0 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
741
                        hibi_av_in_to_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1AV,
742
                        hibi_av_out_from_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1AV,
743
                        hibi_comm_in_to_the_hibi_pe_dma_1(4 downto 0) => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1COMM(4 downto 0),
744
                        hibi_comm_out_from_the_hibi_pe_dma_1(4 downto 0) => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1COMM(4 downto 0),
745
                        hibi_data_in_to_the_hibi_pe_dma_1(31 downto 0) => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1DATA(31 downto 0),
746
                        hibi_data_out_from_the_hibi_pe_dma_1(31 downto 0) => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1DATA(31 downto 0),
747
                        hibi_empty_in_to_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1EMPTY,
748
                        hibi_full_in_to_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_slave_to_hibi_segment_0_ip_mSlave_1FULL,
749
                        hibi_re_out_from_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1RE,
750
                        hibi_we_out_from_the_hibi_pe_dma_1 => nios_ii_sdram_1_hibi_master_to_hibi_segment_0_ip_mMaster_1WE,
751
                        reset_n => SW_17,
752
                        zs_addr_from_the_sdram_1(11 downto 0) => DRAM_ADDR(11 downto 0),
753
                        zs_ba_from_the_sdram_1(1 downto 0) => DRAM_BA(1 downto 0),
754
                        zs_cas_n_from_the_sdram_1 => DRAM_CAS_N,
755
                        zs_cke_from_the_sdram_1 => DRAM_CKE,
756
                        zs_cs_n_from_the_sdram_1 => DRAM_CS_N,
757
                        zs_dq_to_and_from_the_sdram_1(15 downto 0) => DRAM_DQ(15 downto 0),
758
                        zs_dqm_from_the_sdram_1(1 downto 0) => DRAM_DQM(1 downto 0),
759
                        zs_ras_n_from_the_sdram_1 => DRAM_RAS_N,
760
                        zs_we_n_from_the_sdram_1 => DRAM_WE_N
761
                );
762
 
763
        nios_ii_sram_0 : nios_ii_sram
764
                port map (
765
                        clk_0 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
766
                        hibi_av_in_to_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0AV,
767
                        hibi_av_out_from_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0AV,
768
                        hibi_comm_in_to_the_hibi_pe_dma_0(4 downto 0) => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0COMM(4 downto 0),
769
                        hibi_comm_out_from_the_hibi_pe_dma_0(4 downto 0) => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0COMM(4 downto 0),
770
                        hibi_data_in_to_the_hibi_pe_dma_0(31 downto 0) => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0DATA(31 downto 0),
771
                        hibi_data_out_from_the_hibi_pe_dma_0(31 downto 0) => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0DATA(31 downto 0),
772
                        hibi_empty_in_to_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0EMPTY,
773
                        hibi_full_in_to_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_slave_to_hibi_segment_0_ip_mSlave_0FULL,
774
                        hibi_re_out_from_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0RE,
775
                        hibi_we_out_from_the_hibi_pe_dma_0 => nios_ii_sram_0_hibi_master_to_hibi_segment_0_ip_mMaster_0WE,
776
                        reset_n => SW_17,
777
                        SRAM_ADDR_from_the_sram_0(17 downto 0) => SRAM_ADDR(17 downto 0),
778
                        SRAM_CE_N_from_the_sram_0 => SRAM_CE_N,
779
                        SRAM_DQ_to_and_from_the_sram_0(15 downto 0) => SRAM_DQ(15 downto 0),
780
                        SRAM_LB_N_from_the_sram_0 => SRAM_LB_N,
781
                        SRAM_OE_N_from_the_sram_0 => SRAM_OE_N,
782
                        SRAM_UB_N_from_the_sram_0 => SRAM_UB_N,
783
                        SRAM_WE_N_from_the_sram_0 => SRAM_WE_N
784
                );
785
 
786
        pll_0 : pll
787
                port map (
788
                        c0 => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
789
                        c1 => DRAM_CLK,
790
                        c2 => udp2hibi_0_clk_udp_to_pll_0_clk_25MHzCLK,
791
                        inclk0 => CLOCK_50
792
                );
793
 
794
        udp2hibi_0 : udp2hibi
795
                port map (
796
                        clk => nios_ii_sram_0_clk_to_pll_0_ip_clkCLK,
797
                        clk_udp => udp2hibi_0_clk_udp_to_pll_0_clk_25MHzCLK,
798
                        dest_ip_out(31 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_addr_in(31 downto 0),
799
                        dest_port_in(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxdest_port_out(15 downto 0),
800
                        dest_port_out(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_port_in(15 downto 0),
801
                        eth_link_up_in => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxlink_up_out,
802
                        hibi_av_in => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2AV,
803
                        hibi_av_out => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2AV,
804
                        hibi_comm_in(4 downto 0) => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2COMM(4 downto 0),
805
                        hibi_comm_out(4 downto 0) => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2COMM(4 downto 0),
806
                        hibi_data_in(31 downto 0) => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2DATA(31 downto 0),
807
                        hibi_data_out(31 downto 0) => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2DATA(31 downto 0),
808
                        hibi_empty_in => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2EMPTY,
809
                        hibi_full_in => udp2hibi_0_hibi_slave_to_hibi_segment_0_ip_mSlave_2FULL,
810
                        hibi_re_out => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2RE,
811
                        hibi_we_out => udp2hibi_0_hibi_master_to_hibi_segment_0_ip_mMaster_2WE,
812
                        new_rx_in => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxnew_rx_out,
813
                        new_tx_out => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txnew_tx_in,
814
                        rst_n => SW_17,
815
                        rx_data_in(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_out(15 downto 0),
816
                        rx_data_valid_in => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_valid_out,
817
                        rx_erroneous_in => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_erroneous_out,
818
                        rx_len_in(10 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_len_out(10 downto 0),
819
                        rx_re_out => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_re_in,
820
                        source_ip_in(31 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_addr_out(31 downto 0),
821
                        source_port_in(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_port_out(15 downto 0),
822
                        source_port_out(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txsource_port_in(15 downto 0),
823
                        tx_data_out(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_in(15 downto 0),
824
                        tx_data_valid_out => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_valid_in,
825
                        tx_len_out(10 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_len_in(10 downto 0),
826
                        tx_re_in => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_re_out
827
                );
828
 
829
        udp_ip_dm9000a_0 : udp_ip_dm9000a
830
                port map (
831
                        clk => udp2hibi_0_clk_udp_to_pll_0_clk_25MHzCLK,
832
                        dest_port_out(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxdest_port_out(15 downto 0),
833
                        eth_chip_sel_out => ENET_CS_N,
834
                        eth_clk_out => ENET_CLK,
835
                        eth_cmd_out => ENET_CMD,
836
                        eth_data_inout(15 downto 0) => ENET_DATA(15 downto 0),
837
                        eth_interrupt_in => ENET_INT,
838
                        eth_read_out => ENET_RD_N,
839
                        eth_reset_out => ENET_RST_N,
840
                        eth_write_out => ENET_WR_N,
841
                        link_up_out => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxlink_up_out,
842
                        new_rx_out => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxnew_rx_out,
843
                        new_tx_in => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txnew_tx_in,
844
                        no_arp_target_MAC_in => "0",
845
                        rst_n => SW_17,
846
                        rx_data_out(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_out(15 downto 0),
847
                        rx_data_valid_out => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_data_valid_out,
848
                        rx_erroneous_out => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_erroneous_out,
849
                        rx_len_out(10 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_len_out(10 downto 0),
850
                        rx_re_in => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxrx_re_in,
851
                        source_addr_out(31 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_addr_out(31 downto 0),
852
                        source_port_in(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txsource_port_in(15 downto 0),
853
                        source_port_out(15 downto 0) => udp_ip_dm9000a_0_app_rx_to_udp2hibi_0_udp_ip_rxsource_port_out(15 downto 0),
854
                        target_addr_in(31 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_addr_in(31 downto 0),
855
                        target_port_in(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtarget_port_in(15 downto 0),
856
                        tx_data_in(15 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_in(15 downto 0),
857
                        tx_data_valid_in => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_data_valid_in,
858
                        tx_len_in(10 downto 0) => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_len_in(10 downto 0),
859
                        tx_re_out => udp_ip_dm9000a_0_app_tx_to_udp2hibi_0_udp_ip_txtx_re_out
860
                );
861
 
862
end structural;
863
 

powered by: WebSVN 2.1.0

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