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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi64/] [dma_axi64_core0_channels.v] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 eyalhoc
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  Author: Eyal Hochberg                                      ////
4
////          eyal@provartec.com                                 ////
5
////                                                             ////
6
////  Downloaded from: http://www.opencores.org                  ////
7
/////////////////////////////////////////////////////////////////////
8
////                                                             ////
9
//// Copyright (C) 2010 Provartec LTD                            ////
10
//// www.provartec.com                                           ////
11
//// info@provartec.com                                          ////
12
////                                                             ////
13
//// This source file may be used and distributed without        ////
14
//// restriction provided that this copyright statement is not   ////
15
//// removed from the file and that any derivative work contains ////
16
//// the original copyright notice and the associated disclaimer.////
17
////                                                             ////
18
//// This source file is free software; you can redistribute it  ////
19
//// and/or modify it under the terms of the GNU Lesser General  ////
20
//// Public License as published by the Free Software Foundation.////
21
////                                                             ////
22
//// This source is distributed in the hope that it will be      ////
23
//// useful, but WITHOUT ANY WARRANTY; without even the implied  ////
24
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR     ////
25
//// PURPOSE.  See the GNU Lesser General Public License for more////
26
//// details. http://www.gnu.org/licenses/lgpl.html              ////
27
////                                                             ////
28
/////////////////////////////////////////////////////////////////////
29 2 eyalhoc
//---------------------------------------------------------
30
//-- File generated by RobustVerilog parser
31
//-- Version: 1.0
32
//-- Invoked Fri Mar 25 23:36:55 2011
33
//--
34
//-- Source file: dma_core_channels.v
35
//---------------------------------------------------------
36
 
37
 
38
 
39
module dma_axi64_core0_channels(clk,reset,scan_en,pclk,clken,pclken,psel,penable,paddr,pwrite,pwdata,prdata,pslverr,periph_tx_req,periph_tx_clr,periph_rx_req,periph_rx_clr,rd_clr_valid,wr_clr_valid,rd_clr,rd_clr_load,wr_clr,rd_cmd_split,rd_cmd_line,rd_cmd_num,wr_cmd_split,wr_cmd_pending,wr_cmd_num,rd_clr_stall,wr_clr_stall,load_wr,load_wr_num,load_wr_cycle,load_wdata,rd_ch_num,load_req_in_prog,wr_ch_num,wr_last_cmd,rd_slverr,rd_decerr,wr_slverr,wr_decerr,rd_ch_num_resp,wr_ch_num_resp,wr_clr_last,ch_int_all_proc,ch_start,ch_idle,ch_active,ch_rd_active,ch_wr_active,rd_line_cmd,wr_line_cmd,rd_go_next_line,wr_go_next_line,timeout_aw,timeout_w,timeout_ar,timeout_num_aw,timeout_num_w,timeout_num_ar,wdt_timeout,wdt_ch_num,ch_fifo_wr_num,rd_transfer_num,rd_burst_start,rd_transfer,rd_transfer_size,rd_clr_line,rd_clr_line_num,fifo_rd,fifo_rsize,fifo_rd_valid,fifo_rdata,fifo_wr_ready,ch_rd_ready,rd_burst_addr,rd_burst_size,rd_tokens,rd_cmd_port,rd_periph_delay,ch_fifo_rd_num,wr_transfer_num,wr_burst_start,wr_transfer,wr_transfer_size,wr_next_size,wr_clr_line,wr_clr_line_num,fifo_wr,fifo_wdata,fifo_wsize,ch_wr_ready,wr_burst_addr,wr_burst_size,wr_tokens,wr_cmd_port,wr_periph_delay,joint_mode,joint_remote,rd_page_cross,wr_page_cross,joint_in_prog,joint_not_in_prog,joint_mux_in_prog,ch_joint_req);
40
 
41
   input             clk;
42
   input             reset;
43
   input             scan_en;
44
 
45
   input             pclk;
46
   input             clken;
47
   input             pclken;
48
   input             psel;
49
   input             penable;
50
   input [10:0]         paddr;
51
   input             pwrite;
52
   input [31:0]         pwdata;
53
   output [31:0]         prdata;
54
   output             pslverr;
55
 
56
   input [31:1]         periph_tx_req;
57
   output [31:1]         periph_tx_clr;
58
   input [31:1]         periph_rx_req;
59
   output [31:1]         periph_rx_clr;
60
   output             rd_clr_valid;
61
   output             wr_clr_valid;
62
   input             rd_clr;
63
   input             rd_clr_load;
64
   input             wr_clr;
65
   input             rd_cmd_split;
66
   input             rd_cmd_line;
67
   input [2:0]             rd_cmd_num;
68
   input             wr_cmd_split;
69
   input             wr_cmd_pending;
70
   input [2:0]             wr_cmd_num;
71
   output             rd_clr_stall;
72
   output             wr_clr_stall;
73
 
74
   input             load_wr;
75
   input [2:0]             load_wr_num;
76
   input [1:0]             load_wr_cycle;
77
   input [64-1:0]    load_wdata;
78
 
79
   input [2:0]             rd_ch_num;
80
   output             load_req_in_prog;
81
 
82
   input [2:0]             wr_ch_num;
83
   output             wr_last_cmd;
84
 
85
   input             rd_slverr;
86
   input             rd_decerr;
87
   input             wr_slverr;
88
   input             wr_decerr;
89
   input [2:0]             rd_ch_num_resp;
90
   input [2:0]             wr_ch_num_resp;
91
   input             wr_clr_last;
92
   output [8*1-1:0]  ch_int_all_proc;
93
   input [7:0]                ch_start;
94
   output [7:0]          ch_idle;
95
   output [7:0]          ch_active;
96
   output [7:0]          ch_rd_active;
97
   output [7:0]          ch_wr_active;
98
   output              rd_line_cmd;
99
   output              wr_line_cmd;
100
   output              rd_go_next_line;
101
   output              wr_go_next_line;
102
 
103
   input              timeout_aw;
104
   input              timeout_w;
105
   input              timeout_ar;
106
   input [2:0]              timeout_num_aw;
107
   input [2:0]              timeout_num_w;
108
   input [2:0]              timeout_num_ar;
109
   input              wdt_timeout;
110
   input [2:0]              wdt_ch_num;
111
 
112
   input [2:0]              ch_fifo_wr_num;
113
   input [2:0]              rd_transfer_num;
114
   input              rd_burst_start;
115
   input              rd_transfer;
116
   input [4-1:0]     rd_transfer_size;
117
   input              rd_clr_line;
118
   input [2:0]              rd_clr_line_num;
119
   input              fifo_rd;
120
   input [4-1:0]     fifo_rsize;
121
   output              fifo_rd_valid;
122
   output [64-1:0]    fifo_rdata;
123
   output              fifo_wr_ready;
124
   output [7:0]          ch_rd_ready;
125
   output [32-1:0]    rd_burst_addr;
126
   output [8-1:0]   rd_burst_size;
127
   output [`TOKEN_BITS-1:0]  rd_tokens;
128
   output              rd_cmd_port;
129
 
130
   output [`DELAY_BITS-1:0]  rd_periph_delay;
131
 
132
   input [2:0]              ch_fifo_rd_num;
133
   input [2:0]              wr_transfer_num;
134
   input              wr_burst_start;
135
   input              wr_transfer;
136
   input [4-1:0]     wr_transfer_size;
137
   input [4-1:0]     wr_next_size;
138
   input              wr_clr_line;
139
   input [2:0]              wr_clr_line_num;
140
   input              fifo_wr;
141
   input [64-1:0]     fifo_wdata;
142
   input [4-1:0]     fifo_wsize;
143
   output [7:0]          ch_wr_ready;
144
   output [32-1:0]    wr_burst_addr;
145
   output [8-1:0]   wr_burst_size;
146
   output [`TOKEN_BITS-1:0]  wr_tokens;
147
   output              wr_cmd_port;
148
   output [`DELAY_BITS-1:0]  wr_periph_delay;
149
 
150
   input              joint_mode;
151
   input              joint_remote;
152
   input              rd_page_cross;
153
   input              wr_page_cross;
154
   output              joint_in_prog;
155
   output              joint_not_in_prog;
156
   output              joint_mux_in_prog;
157
   output [7:0]          ch_joint_req;
158
 
159
 
160
 
161
   parameter              CH0 = 0;
162
   parameter              CH1 = 1;
163
   parameter              CH2 = 2;
164
   parameter              CH3 = 3;
165
   parameter              CH4 = 4;
166
   parameter              CH5 = 5;
167
   parameter              CH6 = 6;
168
   parameter              CH7 = 7;
169
 
170
 
171
   //apb buses
172
   wire [7:0]              ch_psel;
173
   wire [7:0]              ch_pslverr;
174
   wire [32*8-1:0]          ch_prdata;
175
 
176
   wire [7:0]              ch_joint_end;
177
   wire [7:0]              ch_joint_in_prog;
178
   wire [7:0]              ch_joint_not_in_prog;
179
   wire [7:0]              ch_joint_mux_in_prog;
180
 
181
   wire [7:0]              ch_rd_page_cross;
182
   wire [7:0]              ch_wr_page_cross;
183
 
184
   //axim signals
185
   wire [7:0]              ch_load_wr;
186
   wire [7:0]              ch_rd_clr_line;
187
   wire [7:0]              ch_rd_slverr;
188
   wire [7:0]              ch_rd_decerr;
189
   wire [7:0]              ch_rd_clr;
190
   wire [7:0]              ch_rd_clr_load;
191
   wire [7:0]              ch_rd_transfer;
192
   wire [7:0]              ch_rd_clr_stall;
193
   wire [7:0]              ch_rd_cmd_split;
194
   wire [7:0]              ch_rd_cmd_line;
195
 
196
   wire [7:0]              ch_wr_clr_line;
197
   wire [7:0]              ch_wr_slverr;
198
   wire [7:0]              ch_wr_decerr;
199
   wire [7:0]              ch_wr_clr_last;
200
   wire [7:0]              ch_wr_clr;
201
   wire [7:0]              ch_load_req_in_prog;
202
   wire [7:0]              ch_wr_last_cmd;
203
   wire [7:0]              ch_rd_line_cmd;
204
   wire [7:0]              ch_wr_line_cmd;
205
   wire [7:0]              ch_rd_go_next_line;
206
   wire [7:0]              ch_wr_go_next_line;
207
   wire [7:0]              ch_wr_transfer;
208
   wire [7:0]              ch_wr_clr_stall;
209
   wire [7:0]              ch_wr_cmd_split;
210
   wire [7:0]              ch_timeout_aw;
211
   wire [7:0]              ch_timeout_w;
212
   wire [7:0]              ch_timeout_ar;
213
   wire [7:0]              ch_wdt_timeout;
214
 
215
   //rd ctrl signals
216
   wire [7:0]              ch_rd_burst_start;
217
   wire [8*32-1:0]    ch_rd_burst_addr;
218
   wire [8*8-1:0]   ch_rd_burst_size;
219
   wire [8*`TOKEN_BITS-1:0]  ch_rd_tokens;
220
   wire [7:0]              ch_rd_port_num;
221
   wire [8*`DELAY_BITS-1:0]  ch_rd_periph_delay;
222
   wire [7:0]              ch_rd_clr_valid;
223
 
224
   //wr ctrl signals
225
   wire [7:0]              ch_wr_burst_start;
226
   wire [8*32-1:0]    ch_wr_burst_addr;
227
   wire [8*8-1:0]   ch_wr_burst_size;
228
   wire [8*`TOKEN_BITS-1:0]  ch_wr_tokens;
229
   wire [7:0]              ch_wr_port_num;
230
   wire [8*`DELAY_BITS-1:0]  ch_wr_periph_delay;
231
   wire [7:0]              ch_wr_clr_valid;
232
 
233
   //CLR buses
234
   wire [8*31-1:0]          ch_periph_rx_clr;
235
   wire [8*31-1:0]          ch_periph_tx_clr;
236
 
237
   //FIFO signals
238
   wire [7:0]              ch_fifo_wr;
239
   wire [7:0]              ch_fifo_rd;
240
   wire [7:0]              ch_fifo_rd_valid;
241
   wire [8*64-1:0]    ch_fifo_rdata;
242
   wire [7:0]              ch_fifo_wr_ready;
243
 
244
   wire [7:0]              ch_wr_cmd_pending;
245
 
246
 
247
   dma_axi64_core0_channels_apb_mux  dma_axi64_channels_apb_mux (
248
                               .clk(pclk),
249
                               .reset(reset),
250
                               .pclken(pclken),
251
                               .psel(psel),
252
                               .penable(penable),
253
                               .paddr(paddr[10:8]),
254
                               .prdata(prdata),
255
                               .pslverr(pslverr),
256
                               .ch_psel(ch_psel),
257
                               .ch_prdata(ch_prdata),
258
                               .ch_pslverr(ch_pslverr)
259
                               );
260
 
261
 
262
   dma_axi64_core0_channels_mux
263
   dma_axi64_channels_mux (
264
            .ch_joint_in_prog(ch_joint_in_prog),
265
            .ch_joint_not_in_prog(ch_joint_not_in_prog),
266
            .ch_joint_mux_in_prog(ch_joint_mux_in_prog),
267
            .joint_in_prog(joint_in_prog),
268
            .joint_not_in_prog(joint_not_in_prog),
269
            .joint_mux_in_prog(joint_mux_in_prog),
270
 
271
            .ch_rd_page_cross(ch_rd_page_cross),
272
            .ch_wr_page_cross(ch_wr_page_cross),
273
            .rd_page_cross(rd_page_cross),
274
            .wr_page_cross(wr_page_cross),
275
 
276
            .ch_wr_cmd_pending(ch_wr_cmd_pending),
277
            .wr_cmd_pending(wr_cmd_pending),
278
 
279
            //data
280
            .fifo_rdata(fifo_rdata),
281
            .ch_fifo_rdata(ch_fifo_rdata),
282
            .fifo_rd_valid(fifo_rd_valid),
283
            .ch_fifo_rd_valid(ch_fifo_rd_valid),
284
 
285
            //periph
286
            .periph_rx_clr(periph_rx_clr),
287
            .ch_periph_rx_clr(ch_periph_rx_clr),
288
            .periph_tx_clr(periph_tx_clr),
289
            .ch_periph_tx_clr(ch_periph_tx_clr),
290
 
291
            //axim timeout
292
            .timeout_aw(timeout_aw),
293
            .timeout_w(timeout_w),
294
            .timeout_ar(timeout_ar),
295
            .timeout_num_aw(timeout_num_aw),
296
            .timeout_num_w(timeout_num_w),
297
            .timeout_num_ar(timeout_num_ar),
298
            .wdt_timeout(wdt_timeout),
299
            .wdt_ch_num(wdt_ch_num),
300
 
301
            .ch_timeout_aw(ch_timeout_aw),
302
                        .ch_timeout_w(ch_timeout_w),
303
                        .ch_timeout_ar(ch_timeout_ar),
304
                        .ch_wdt_timeout(ch_wdt_timeout),
305
 
306
            //rd cmd
307
            .rd_ch_num(rd_ch_num),
308
            .rd_cmd_num(rd_cmd_num),
309
 
310
            .load_req_in_prog(load_req_in_prog),
311
            .rd_line_cmd(rd_line_cmd),
312
            .rd_go_next_line(rd_go_next_line),
313
            .rd_burst_start(rd_burst_start),
314
            .rd_burst_addr(rd_burst_addr),
315
            .rd_burst_size(rd_burst_size),
316
            .rd_tokens(rd_tokens),
317
            .rd_cmd_port(rd_cmd_port),
318
            .rd_periph_delay(rd_periph_delay),
319
            .rd_clr_valid(rd_clr_valid),
320
            .rd_cmd_split(rd_cmd_split),
321
            .rd_cmd_line(rd_cmd_line),
322
            .rd_clr_stall(rd_clr_stall),
323
 
324
            .ch_load_req_in_prog(ch_load_req_in_prog),
325
            .ch_rd_line_cmd(ch_rd_line_cmd),
326
            .ch_rd_go_next_line(ch_rd_go_next_line),
327
            .ch_rd_burst_start(ch_rd_burst_start),
328
            .ch_rd_burst_addr(ch_rd_burst_addr),
329
            .ch_rd_burst_size(ch_rd_burst_size),
330
            .ch_rd_tokens(ch_rd_tokens),
331
            .ch_rd_port_num(ch_rd_port_num),
332
            .ch_rd_periph_delay(ch_rd_periph_delay),
333
            .ch_rd_clr_valid(ch_rd_clr_valid),
334
            .ch_rd_cmd_split(ch_rd_cmd_split),
335
            .ch_rd_cmd_line(ch_rd_cmd_line),
336
            .ch_rd_clr_stall(ch_rd_clr_stall),
337
 
338
            //rd data - load cmd
339
            .load_wr_num(load_wr_num),
340
 
341
            .load_wr(load_wr),
342
 
343
            .ch_load_wr(ch_load_wr),
344
 
345
            //rd data
346
            .ch_fifo_wr_num(ch_fifo_wr_num),
347
            .rd_transfer_num(rd_transfer_num),
348
            .rd_clr_line_num(rd_clr_line_num),
349
 
350
            .rd_transfer(rd_transfer),
351
            .rd_clr_line(rd_clr_line),
352
            .fifo_wr(fifo_wr),
353
 
354
            .ch_rd_clr_line(ch_rd_clr_line),
355
            .ch_rd_transfer(ch_rd_transfer),
356
            .ch_fifo_wr(ch_fifo_wr),
357
 
358
            //rd resp
359
            .rd_ch_num_resp(rd_ch_num_resp),
360
 
361
            .rd_slverr(rd_slverr),
362
            .rd_decerr(rd_decerr),
363
            .rd_clr(rd_clr),
364
            .rd_clr_load(rd_clr_load),
365
 
366
            .ch_rd_slverr(ch_rd_slverr),
367
            .ch_rd_decerr(ch_rd_decerr),
368
            .ch_rd_clr(ch_rd_clr),
369
            .ch_rd_clr_load(ch_rd_clr_load),
370
 
371
            //wr cmd
372
            .wr_ch_num(wr_ch_num),
373
            .wr_cmd_num(wr_cmd_num),
374
 
375
            .wr_last_cmd(wr_last_cmd),
376
            .wr_line_cmd(wr_line_cmd),
377
            .wr_go_next_line(wr_go_next_line),
378
            .wr_burst_start(wr_burst_start),
379
            .wr_burst_addr(wr_burst_addr),
380
            .wr_burst_size(wr_burst_size),
381
            .wr_tokens(wr_tokens),
382
            .wr_cmd_port(wr_cmd_port),
383
            .wr_periph_delay(wr_periph_delay),
384
            .wr_clr_valid(wr_clr_valid),
385
            .wr_cmd_split(wr_cmd_split),
386
            .wr_clr_stall(wr_clr_stall),
387
 
388
            .ch_wr_last_cmd(ch_wr_last_cmd),
389
            .ch_wr_line_cmd(ch_wr_line_cmd),
390
            .ch_wr_go_next_line(ch_wr_go_next_line),
391
            .ch_wr_burst_start(ch_wr_burst_start),
392
            .ch_wr_burst_addr(ch_wr_burst_addr),
393
            .ch_wr_burst_size(ch_wr_burst_size),
394
            .ch_wr_tokens(ch_wr_tokens),
395
            .ch_wr_port_num(ch_wr_port_num),
396
            .ch_wr_periph_delay(ch_wr_periph_delay),
397
            .ch_wr_clr_valid(ch_wr_clr_valid),
398
            .ch_wr_cmd_split(ch_wr_cmd_split),
399
            .ch_wr_clr_stall(ch_wr_clr_stall),
400
 
401
            //wr data
402
            .ch_fifo_rd_num(ch_fifo_rd_num),
403
            .wr_transfer_num(wr_transfer_num),
404
            .wr_clr_line_num(wr_clr_line_num),
405
 
406
            .wr_transfer(wr_transfer),
407
            .wr_clr_line(wr_clr_line),
408
            .fifo_rd(fifo_rd),
409
            .fifo_wr_ready(fifo_wr_ready),
410
 
411
            .ch_wr_transfer(ch_wr_transfer),
412
            .ch_wr_clr_line(ch_wr_clr_line),
413
            .ch_fifo_rd(ch_fifo_rd),
414
            .ch_fifo_wr_ready(ch_fifo_wr_ready),
415
 
416
            //wr resp
417
            .wr_ch_num_resp(wr_ch_num_resp),
418
 
419
            .wr_slverr(wr_slverr),
420
            .wr_decerr(wr_decerr),
421
            .wr_clr(wr_clr),
422
            .wr_clr_last(wr_clr_last),
423
 
424
            .ch_wr_slverr(ch_wr_slverr),
425
            .ch_wr_decerr(ch_wr_decerr),
426
            .ch_wr_clr_last(ch_wr_clr_last),
427
            .ch_wr_clr(ch_wr_clr)
428
            );
429
 
430
 
431
 
432
dma_axi64_core0_ch dma_axi64_core0_ch0 (
433
            .clk(clk),
434
            .reset(reset),
435
            .scan_en(scan_en),
436
            .idle(ch_idle[0]),
437
 
438
            //APB
439
            .pclk(pclk),
440
            .clken(clken),
441
            .pclken(pclken),
442
            .psel(ch_psel[0]),
443
            .penable(penable),
444
            .paddr(paddr[7:0]),
445
            .pwrite(pwrite),
446
            .pwdata(pwdata),
447
            .prdata(ch_prdata[31+32*0:32*0]),
448
            .pslverr(ch_pslverr[0]),
449
 
450
            //PERIPH
451
            .periph_tx_req(periph_tx_req),
452
            .periph_tx_clr(ch_periph_tx_clr[31*0+31-1:31*0]),
453
            .periph_rx_req(periph_rx_req),
454
            .periph_rx_clr(ch_periph_rx_clr[31*0+31-1:31*0]),
455
 
456
            //RD AXIM
457
            .rd_cmd_split(ch_rd_cmd_split[0]),
458
            .rd_cmd_line(ch_rd_cmd_line[0]),
459
            .rd_clr_line(ch_rd_clr_line[0]),
460
            .rd_clr(ch_rd_clr[0]),
461
            .rd_clr_load(ch_rd_clr_load[0]),
462
            .rd_slverr(ch_rd_slverr[0]),
463
            .rd_decerr(ch_rd_decerr[0]),
464
            .rd_line_cmd(ch_rd_line_cmd[0]),
465
            .rd_go_next_line(ch_rd_go_next_line[0]),
466
            .rd_transfer(ch_rd_transfer[0]),
467
            .rd_transfer_size(rd_transfer_size),
468
                .rd_clr_stall(ch_rd_clr_stall[0]),
469
 
470
            //WR AXIM
471
            .wr_cmd_split(ch_wr_cmd_split[0]),
472
            .wr_cmd_pending(ch_wr_cmd_pending[0]),
473
            .wr_clr_line(ch_wr_clr_line[0]),
474
            .wr_clr(ch_wr_clr[0]),
475
            .wr_clr_last(ch_wr_clr_last[0]),
476
            .wr_slverr(ch_wr_slverr[0]),
477
            .wr_decerr(ch_wr_decerr[0]),
478
            .wr_last_cmd(ch_wr_last_cmd[0]),
479
            .wr_line_cmd(ch_wr_line_cmd[0]),
480
            .wr_go_next_line(ch_wr_go_next_line[0]),
481
            .wr_transfer(ch_wr_transfer[0]),
482
            .wr_transfer_size(wr_transfer_size),
483
            .wr_next_size(wr_next_size),
484
                .wr_clr_stall(ch_wr_clr_stall[0]),
485
 
486
            .timeout_aw(ch_timeout_aw[0]),
487
            .timeout_w(ch_timeout_w[0]),
488
            .timeout_ar(ch_timeout_ar[0]),
489
            .wdt_timeout(ch_wdt_timeout[0]),
490
 
491
            //LOAD CMD
492
            .load_wr(ch_load_wr[0]),
493
            .load_wr_cycle(load_wr_cycle),
494
            .load_wdata(load_wdata),
495
            .load_req_in_prog(ch_load_req_in_prog[0]),
496
 
497
            //CTRL
498
            .ch_active(ch_active[0]),
499
            .ch_rd_active(ch_rd_active[0]),
500
            .ch_wr_active(ch_wr_active[0]),
501
 
502
            //RD CTRL
503
            .rd_burst_start(ch_rd_burst_start[0]),
504
            .rd_ready(ch_rd_ready[0]),
505
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*0:32*0]),
506
            .rd_burst_size(ch_rd_burst_size[8-1+8*0:8*0]),
507
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*0:`TOKEN_BITS*0]),
508
            .rd_port_num(ch_rd_port_num[0]),
509
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*0:`DELAY_BITS*0]),
510
            .rd_clr_valid(ch_rd_clr_valid[0]),
511
 
512
            //WR CTRL
513
            .wr_burst_start(ch_wr_burst_start[0]),
514
            .wr_ready(ch_wr_ready[0]),
515
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*0:32*0]),
516
            .wr_burst_size(ch_wr_burst_size[8-1+8*0:8*0]),
517
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*0:`TOKEN_BITS*0]),
518
            .wr_port_num(ch_wr_port_num[0]),
519
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*0:`DELAY_BITS*0]),
520
            .wr_clr_valid(ch_wr_clr_valid[0]),
521
 
522
            //FIFO
523
            .fifo_wr(ch_fifo_wr[0]),
524
                    .fifo_wdata(fifo_wdata),
525
                    .fifo_wsize(fifo_wsize),
526
                    .fifo_rd(ch_fifo_rd[0]),
527
                    .fifo_rsize(fifo_rsize),
528
                    .fifo_rd_valid(ch_fifo_rd_valid[0]),
529
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*0:64*0]),
530
                    .fifo_wr_ready(ch_fifo_wr_ready[0]),
531
 
532
                .joint_mode(joint_mode),
533
                .joint_remote(joint_remote),
534
            .rd_page_cross(ch_rd_page_cross[0]),
535
            .wr_page_cross(ch_wr_page_cross[0]),
536
            .joint_in_prog(ch_joint_in_prog[0]),
537
            .joint_not_in_prog(ch_joint_not_in_prog[0]),
538
            .joint_mux_in_prog(ch_joint_mux_in_prog[0]),
539
            .joint_req(ch_joint_req[0]),
540
 
541
            .ch_start(ch_start[0]),
542
 
543
            //INT
544
            .int_all_proc(ch_int_all_proc[1-1+(1*0):1*0])
545
            );
546
 
547
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty1 (
548
            .clk(clk),
549
            .reset(reset),
550
            .scan_en(scan_en),
551
            .idle(ch_idle[1]),
552
 
553
            //APB
554
            .pclk(pclk),
555
            .clken(clken),
556
            .pclken(pclken),
557
            .psel(ch_psel[1]),
558
            .penable(penable),
559
            .paddr(paddr[7:0]),
560
            .pwrite(pwrite),
561
            .pwdata(pwdata),
562
            .prdata(ch_prdata[31+32*1:32*1]),
563
            .pslverr(ch_pslverr[1]),
564
 
565
            //PERIPH
566
            .periph_tx_req(periph_tx_req),
567
            .periph_tx_clr(ch_periph_tx_clr[31*1+31-1:31*1]),
568
            .periph_rx_req(periph_rx_req),
569
            .periph_rx_clr(ch_periph_rx_clr[31*1+31-1:31*1]),
570
 
571
            //RD AXIM
572
            .rd_cmd_split(ch_rd_cmd_split[1]),
573
            .rd_cmd_line(ch_rd_cmd_line[1]),
574
            .rd_clr_line(ch_rd_clr_line[1]),
575
            .rd_clr(ch_rd_clr[1]),
576
            .rd_clr_load(ch_rd_clr_load[1]),
577
            .rd_slverr(ch_rd_slverr[1]),
578
            .rd_decerr(ch_rd_decerr[1]),
579
            .rd_line_cmd(ch_rd_line_cmd[1]),
580
            .rd_go_next_line(ch_rd_go_next_line[1]),
581
            .rd_transfer(ch_rd_transfer[1]),
582
            .rd_transfer_size(rd_transfer_size),
583
                .rd_clr_stall(ch_rd_clr_stall[1]),
584
 
585
            //WR AXIM
586
            .wr_cmd_split(ch_wr_cmd_split[1]),
587
            .wr_cmd_pending(ch_wr_cmd_pending[1]),
588
            .wr_clr_line(ch_wr_clr_line[1]),
589
            .wr_clr(ch_wr_clr[1]),
590
            .wr_clr_last(ch_wr_clr_last[1]),
591
            .wr_slverr(ch_wr_slverr[1]),
592
            .wr_decerr(ch_wr_decerr[1]),
593
            .wr_last_cmd(ch_wr_last_cmd[1]),
594
            .wr_line_cmd(ch_wr_line_cmd[1]),
595
            .wr_go_next_line(ch_wr_go_next_line[1]),
596
            .wr_transfer(ch_wr_transfer[1]),
597
            .wr_transfer_size(wr_transfer_size),
598
            .wr_next_size(wr_next_size),
599
                .wr_clr_stall(ch_wr_clr_stall[1]),
600
 
601
            .timeout_aw(ch_timeout_aw[1]),
602
            .timeout_w(ch_timeout_w[1]),
603
            .timeout_ar(ch_timeout_ar[1]),
604
            .wdt_timeout(ch_wdt_timeout[1]),
605
 
606
            //LOAD CMD
607
            .load_wr(ch_load_wr[1]),
608
            .load_wr_cycle(load_wr_cycle),
609
            .load_wdata(load_wdata),
610
            .load_req_in_prog(ch_load_req_in_prog[1]),
611
 
612
            //CTRL
613
            .ch_active(ch_active[1]),
614
            .ch_rd_active(ch_rd_active[1]),
615
            .ch_wr_active(ch_wr_active[1]),
616
 
617
            //RD CTRL
618
            .rd_burst_start(ch_rd_burst_start[1]),
619
            .rd_ready(ch_rd_ready[1]),
620
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*1:32*1]),
621
            .rd_burst_size(ch_rd_burst_size[8-1+8*1:8*1]),
622
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*1:`TOKEN_BITS*1]),
623
            .rd_port_num(ch_rd_port_num[1]),
624
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*1:`DELAY_BITS*1]),
625
            .rd_clr_valid(ch_rd_clr_valid[1]),
626
 
627
            //WR CTRL
628
            .wr_burst_start(ch_wr_burst_start[1]),
629
            .wr_ready(ch_wr_ready[1]),
630
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*1:32*1]),
631
            .wr_burst_size(ch_wr_burst_size[8-1+8*1:8*1]),
632
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*1:`TOKEN_BITS*1]),
633
            .wr_port_num(ch_wr_port_num[1]),
634
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*1:`DELAY_BITS*1]),
635
            .wr_clr_valid(ch_wr_clr_valid[1]),
636
 
637
            //FIFO
638
            .fifo_wr(ch_fifo_wr[1]),
639
                    .fifo_wdata(fifo_wdata),
640
                    .fifo_wsize(fifo_wsize),
641
                    .fifo_rd(ch_fifo_rd[1]),
642
                    .fifo_rsize(fifo_rsize),
643
                    .fifo_rd_valid(ch_fifo_rd_valid[1]),
644
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*1:64*1]),
645
                    .fifo_wr_ready(ch_fifo_wr_ready[1]),
646
 
647
                .joint_mode(joint_mode),
648
                .joint_remote(joint_remote),
649
            .rd_page_cross(ch_rd_page_cross[1]),
650
            .wr_page_cross(ch_wr_page_cross[1]),
651
            .joint_in_prog(ch_joint_in_prog[1]),
652
            .joint_not_in_prog(ch_joint_not_in_prog[1]),
653
            .joint_mux_in_prog(ch_joint_mux_in_prog[1]),
654
            .joint_req(ch_joint_req[1]),
655
 
656
            .ch_start(ch_start[1]),
657
 
658
            //INT
659
            .int_all_proc(ch_int_all_proc[1-1+(1*1):1*1])
660
            );
661
 
662
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty2 (
663
            .clk(clk),
664
            .reset(reset),
665
            .scan_en(scan_en),
666
            .idle(ch_idle[2]),
667
 
668
            //APB
669
            .pclk(pclk),
670
            .clken(clken),
671
            .pclken(pclken),
672
            .psel(ch_psel[2]),
673
            .penable(penable),
674
            .paddr(paddr[7:0]),
675
            .pwrite(pwrite),
676
            .pwdata(pwdata),
677
            .prdata(ch_prdata[31+32*2:32*2]),
678
            .pslverr(ch_pslverr[2]),
679
 
680
            //PERIPH
681
            .periph_tx_req(periph_tx_req),
682
            .periph_tx_clr(ch_periph_tx_clr[31*2+31-1:31*2]),
683
            .periph_rx_req(periph_rx_req),
684
            .periph_rx_clr(ch_periph_rx_clr[31*2+31-1:31*2]),
685
 
686
            //RD AXIM
687
            .rd_cmd_split(ch_rd_cmd_split[2]),
688
            .rd_cmd_line(ch_rd_cmd_line[2]),
689
            .rd_clr_line(ch_rd_clr_line[2]),
690
            .rd_clr(ch_rd_clr[2]),
691
            .rd_clr_load(ch_rd_clr_load[2]),
692
            .rd_slverr(ch_rd_slverr[2]),
693
            .rd_decerr(ch_rd_decerr[2]),
694
            .rd_line_cmd(ch_rd_line_cmd[2]),
695
            .rd_go_next_line(ch_rd_go_next_line[2]),
696
            .rd_transfer(ch_rd_transfer[2]),
697
            .rd_transfer_size(rd_transfer_size),
698
                .rd_clr_stall(ch_rd_clr_stall[2]),
699
 
700
            //WR AXIM
701
            .wr_cmd_split(ch_wr_cmd_split[2]),
702
            .wr_cmd_pending(ch_wr_cmd_pending[2]),
703
            .wr_clr_line(ch_wr_clr_line[2]),
704
            .wr_clr(ch_wr_clr[2]),
705
            .wr_clr_last(ch_wr_clr_last[2]),
706
            .wr_slverr(ch_wr_slverr[2]),
707
            .wr_decerr(ch_wr_decerr[2]),
708
            .wr_last_cmd(ch_wr_last_cmd[2]),
709
            .wr_line_cmd(ch_wr_line_cmd[2]),
710
            .wr_go_next_line(ch_wr_go_next_line[2]),
711
            .wr_transfer(ch_wr_transfer[2]),
712
            .wr_transfer_size(wr_transfer_size),
713
            .wr_next_size(wr_next_size),
714
                .wr_clr_stall(ch_wr_clr_stall[2]),
715
 
716
            .timeout_aw(ch_timeout_aw[2]),
717
            .timeout_w(ch_timeout_w[2]),
718
            .timeout_ar(ch_timeout_ar[2]),
719
            .wdt_timeout(ch_wdt_timeout[2]),
720
 
721
            //LOAD CMD
722
            .load_wr(ch_load_wr[2]),
723
            .load_wr_cycle(load_wr_cycle),
724
            .load_wdata(load_wdata),
725
            .load_req_in_prog(ch_load_req_in_prog[2]),
726
 
727
            //CTRL
728
            .ch_active(ch_active[2]),
729
            .ch_rd_active(ch_rd_active[2]),
730
            .ch_wr_active(ch_wr_active[2]),
731
 
732
            //RD CTRL
733
            .rd_burst_start(ch_rd_burst_start[2]),
734
            .rd_ready(ch_rd_ready[2]),
735
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*2:32*2]),
736
            .rd_burst_size(ch_rd_burst_size[8-1+8*2:8*2]),
737
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*2:`TOKEN_BITS*2]),
738
            .rd_port_num(ch_rd_port_num[2]),
739
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*2:`DELAY_BITS*2]),
740
            .rd_clr_valid(ch_rd_clr_valid[2]),
741
 
742
            //WR CTRL
743
            .wr_burst_start(ch_wr_burst_start[2]),
744
            .wr_ready(ch_wr_ready[2]),
745
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*2:32*2]),
746
            .wr_burst_size(ch_wr_burst_size[8-1+8*2:8*2]),
747
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*2:`TOKEN_BITS*2]),
748
            .wr_port_num(ch_wr_port_num[2]),
749
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*2:`DELAY_BITS*2]),
750
            .wr_clr_valid(ch_wr_clr_valid[2]),
751
 
752
            //FIFO
753
            .fifo_wr(ch_fifo_wr[2]),
754
                    .fifo_wdata(fifo_wdata),
755
                    .fifo_wsize(fifo_wsize),
756
                    .fifo_rd(ch_fifo_rd[2]),
757
                    .fifo_rsize(fifo_rsize),
758
                    .fifo_rd_valid(ch_fifo_rd_valid[2]),
759
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*2:64*2]),
760
                    .fifo_wr_ready(ch_fifo_wr_ready[2]),
761
 
762
                .joint_mode(joint_mode),
763
                .joint_remote(joint_remote),
764
            .rd_page_cross(ch_rd_page_cross[2]),
765
            .wr_page_cross(ch_wr_page_cross[2]),
766
            .joint_in_prog(ch_joint_in_prog[2]),
767
            .joint_not_in_prog(ch_joint_not_in_prog[2]),
768
            .joint_mux_in_prog(ch_joint_mux_in_prog[2]),
769
            .joint_req(ch_joint_req[2]),
770
 
771
            .ch_start(ch_start[2]),
772
 
773
            //INT
774
            .int_all_proc(ch_int_all_proc[1-1+(1*2):1*2])
775
            );
776
 
777
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty3 (
778
            .clk(clk),
779
            .reset(reset),
780
            .scan_en(scan_en),
781
            .idle(ch_idle[3]),
782
 
783
            //APB
784
            .pclk(pclk),
785
            .clken(clken),
786
            .pclken(pclken),
787
            .psel(ch_psel[3]),
788
            .penable(penable),
789
            .paddr(paddr[7:0]),
790
            .pwrite(pwrite),
791
            .pwdata(pwdata),
792
            .prdata(ch_prdata[31+32*3:32*3]),
793
            .pslverr(ch_pslverr[3]),
794
 
795
            //PERIPH
796
            .periph_tx_req(periph_tx_req),
797
            .periph_tx_clr(ch_periph_tx_clr[31*3+31-1:31*3]),
798
            .periph_rx_req(periph_rx_req),
799
            .periph_rx_clr(ch_periph_rx_clr[31*3+31-1:31*3]),
800
 
801
            //RD AXIM
802
            .rd_cmd_split(ch_rd_cmd_split[3]),
803
            .rd_cmd_line(ch_rd_cmd_line[3]),
804
            .rd_clr_line(ch_rd_clr_line[3]),
805
            .rd_clr(ch_rd_clr[3]),
806
            .rd_clr_load(ch_rd_clr_load[3]),
807
            .rd_slverr(ch_rd_slverr[3]),
808
            .rd_decerr(ch_rd_decerr[3]),
809
            .rd_line_cmd(ch_rd_line_cmd[3]),
810
            .rd_go_next_line(ch_rd_go_next_line[3]),
811
            .rd_transfer(ch_rd_transfer[3]),
812
            .rd_transfer_size(rd_transfer_size),
813
                .rd_clr_stall(ch_rd_clr_stall[3]),
814
 
815
            //WR AXIM
816
            .wr_cmd_split(ch_wr_cmd_split[3]),
817
            .wr_cmd_pending(ch_wr_cmd_pending[3]),
818
            .wr_clr_line(ch_wr_clr_line[3]),
819
            .wr_clr(ch_wr_clr[3]),
820
            .wr_clr_last(ch_wr_clr_last[3]),
821
            .wr_slverr(ch_wr_slverr[3]),
822
            .wr_decerr(ch_wr_decerr[3]),
823
            .wr_last_cmd(ch_wr_last_cmd[3]),
824
            .wr_line_cmd(ch_wr_line_cmd[3]),
825
            .wr_go_next_line(ch_wr_go_next_line[3]),
826
            .wr_transfer(ch_wr_transfer[3]),
827
            .wr_transfer_size(wr_transfer_size),
828
            .wr_next_size(wr_next_size),
829
                .wr_clr_stall(ch_wr_clr_stall[3]),
830
 
831
            .timeout_aw(ch_timeout_aw[3]),
832
            .timeout_w(ch_timeout_w[3]),
833
            .timeout_ar(ch_timeout_ar[3]),
834
            .wdt_timeout(ch_wdt_timeout[3]),
835
 
836
            //LOAD CMD
837
            .load_wr(ch_load_wr[3]),
838
            .load_wr_cycle(load_wr_cycle),
839
            .load_wdata(load_wdata),
840
            .load_req_in_prog(ch_load_req_in_prog[3]),
841
 
842
            //CTRL
843
            .ch_active(ch_active[3]),
844
            .ch_rd_active(ch_rd_active[3]),
845
            .ch_wr_active(ch_wr_active[3]),
846
 
847
            //RD CTRL
848
            .rd_burst_start(ch_rd_burst_start[3]),
849
            .rd_ready(ch_rd_ready[3]),
850
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*3:32*3]),
851
            .rd_burst_size(ch_rd_burst_size[8-1+8*3:8*3]),
852
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*3:`TOKEN_BITS*3]),
853
            .rd_port_num(ch_rd_port_num[3]),
854
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*3:`DELAY_BITS*3]),
855
            .rd_clr_valid(ch_rd_clr_valid[3]),
856
 
857
            //WR CTRL
858
            .wr_burst_start(ch_wr_burst_start[3]),
859
            .wr_ready(ch_wr_ready[3]),
860
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*3:32*3]),
861
            .wr_burst_size(ch_wr_burst_size[8-1+8*3:8*3]),
862
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*3:`TOKEN_BITS*3]),
863
            .wr_port_num(ch_wr_port_num[3]),
864
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*3:`DELAY_BITS*3]),
865
            .wr_clr_valid(ch_wr_clr_valid[3]),
866
 
867
            //FIFO
868
            .fifo_wr(ch_fifo_wr[3]),
869
                    .fifo_wdata(fifo_wdata),
870
                    .fifo_wsize(fifo_wsize),
871
                    .fifo_rd(ch_fifo_rd[3]),
872
                    .fifo_rsize(fifo_rsize),
873
                    .fifo_rd_valid(ch_fifo_rd_valid[3]),
874
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*3:64*3]),
875
                    .fifo_wr_ready(ch_fifo_wr_ready[3]),
876
 
877
                .joint_mode(joint_mode),
878
                .joint_remote(joint_remote),
879
            .rd_page_cross(ch_rd_page_cross[3]),
880
            .wr_page_cross(ch_wr_page_cross[3]),
881
            .joint_in_prog(ch_joint_in_prog[3]),
882
            .joint_not_in_prog(ch_joint_not_in_prog[3]),
883
            .joint_mux_in_prog(ch_joint_mux_in_prog[3]),
884
            .joint_req(ch_joint_req[3]),
885
 
886
            .ch_start(ch_start[3]),
887
 
888
            //INT
889
            .int_all_proc(ch_int_all_proc[1-1+(1*3):1*3])
890
            );
891
 
892
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty4 (
893
            .clk(clk),
894
            .reset(reset),
895
            .scan_en(scan_en),
896
            .idle(ch_idle[4]),
897
 
898
            //APB
899
            .pclk(pclk),
900
            .clken(clken),
901
            .pclken(pclken),
902
            .psel(ch_psel[4]),
903
            .penable(penable),
904
            .paddr(paddr[7:0]),
905
            .pwrite(pwrite),
906
            .pwdata(pwdata),
907
            .prdata(ch_prdata[31+32*4:32*4]),
908
            .pslverr(ch_pslverr[4]),
909
 
910
            //PERIPH
911
            .periph_tx_req(periph_tx_req),
912
            .periph_tx_clr(ch_periph_tx_clr[31*4+31-1:31*4]),
913
            .periph_rx_req(periph_rx_req),
914
            .periph_rx_clr(ch_periph_rx_clr[31*4+31-1:31*4]),
915
 
916
            //RD AXIM
917
            .rd_cmd_split(ch_rd_cmd_split[4]),
918
            .rd_cmd_line(ch_rd_cmd_line[4]),
919
            .rd_clr_line(ch_rd_clr_line[4]),
920
            .rd_clr(ch_rd_clr[4]),
921
            .rd_clr_load(ch_rd_clr_load[4]),
922
            .rd_slverr(ch_rd_slverr[4]),
923
            .rd_decerr(ch_rd_decerr[4]),
924
            .rd_line_cmd(ch_rd_line_cmd[4]),
925
            .rd_go_next_line(ch_rd_go_next_line[4]),
926
            .rd_transfer(ch_rd_transfer[4]),
927
            .rd_transfer_size(rd_transfer_size),
928
                .rd_clr_stall(ch_rd_clr_stall[4]),
929
 
930
            //WR AXIM
931
            .wr_cmd_split(ch_wr_cmd_split[4]),
932
            .wr_cmd_pending(ch_wr_cmd_pending[4]),
933
            .wr_clr_line(ch_wr_clr_line[4]),
934
            .wr_clr(ch_wr_clr[4]),
935
            .wr_clr_last(ch_wr_clr_last[4]),
936
            .wr_slverr(ch_wr_slverr[4]),
937
            .wr_decerr(ch_wr_decerr[4]),
938
            .wr_last_cmd(ch_wr_last_cmd[4]),
939
            .wr_line_cmd(ch_wr_line_cmd[4]),
940
            .wr_go_next_line(ch_wr_go_next_line[4]),
941
            .wr_transfer(ch_wr_transfer[4]),
942
            .wr_transfer_size(wr_transfer_size),
943
            .wr_next_size(wr_next_size),
944
                .wr_clr_stall(ch_wr_clr_stall[4]),
945
 
946
            .timeout_aw(ch_timeout_aw[4]),
947
            .timeout_w(ch_timeout_w[4]),
948
            .timeout_ar(ch_timeout_ar[4]),
949
            .wdt_timeout(ch_wdt_timeout[4]),
950
 
951
            //LOAD CMD
952
            .load_wr(ch_load_wr[4]),
953
            .load_wr_cycle(load_wr_cycle),
954
            .load_wdata(load_wdata),
955
            .load_req_in_prog(ch_load_req_in_prog[4]),
956
 
957
            //CTRL
958
            .ch_active(ch_active[4]),
959
            .ch_rd_active(ch_rd_active[4]),
960
            .ch_wr_active(ch_wr_active[4]),
961
 
962
            //RD CTRL
963
            .rd_burst_start(ch_rd_burst_start[4]),
964
            .rd_ready(ch_rd_ready[4]),
965
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*4:32*4]),
966
            .rd_burst_size(ch_rd_burst_size[8-1+8*4:8*4]),
967
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*4:`TOKEN_BITS*4]),
968
            .rd_port_num(ch_rd_port_num[4]),
969
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*4:`DELAY_BITS*4]),
970
            .rd_clr_valid(ch_rd_clr_valid[4]),
971
 
972
            //WR CTRL
973
            .wr_burst_start(ch_wr_burst_start[4]),
974
            .wr_ready(ch_wr_ready[4]),
975
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*4:32*4]),
976
            .wr_burst_size(ch_wr_burst_size[8-1+8*4:8*4]),
977
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*4:`TOKEN_BITS*4]),
978
            .wr_port_num(ch_wr_port_num[4]),
979
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*4:`DELAY_BITS*4]),
980
            .wr_clr_valid(ch_wr_clr_valid[4]),
981
 
982
            //FIFO
983
            .fifo_wr(ch_fifo_wr[4]),
984
                    .fifo_wdata(fifo_wdata),
985
                    .fifo_wsize(fifo_wsize),
986
                    .fifo_rd(ch_fifo_rd[4]),
987
                    .fifo_rsize(fifo_rsize),
988
                    .fifo_rd_valid(ch_fifo_rd_valid[4]),
989
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*4:64*4]),
990
                    .fifo_wr_ready(ch_fifo_wr_ready[4]),
991
 
992
                .joint_mode(joint_mode),
993
                .joint_remote(joint_remote),
994
            .rd_page_cross(ch_rd_page_cross[4]),
995
            .wr_page_cross(ch_wr_page_cross[4]),
996
            .joint_in_prog(ch_joint_in_prog[4]),
997
            .joint_not_in_prog(ch_joint_not_in_prog[4]),
998
            .joint_mux_in_prog(ch_joint_mux_in_prog[4]),
999
            .joint_req(ch_joint_req[4]),
1000
 
1001
            .ch_start(ch_start[4]),
1002
 
1003
            //INT
1004
            .int_all_proc(ch_int_all_proc[1-1+(1*4):1*4])
1005
            );
1006
 
1007
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty5 (
1008
            .clk(clk),
1009
            .reset(reset),
1010
            .scan_en(scan_en),
1011
            .idle(ch_idle[5]),
1012
 
1013
            //APB
1014
            .pclk(pclk),
1015
            .clken(clken),
1016
            .pclken(pclken),
1017
            .psel(ch_psel[5]),
1018
            .penable(penable),
1019
            .paddr(paddr[7:0]),
1020
            .pwrite(pwrite),
1021
            .pwdata(pwdata),
1022
            .prdata(ch_prdata[31+32*5:32*5]),
1023
            .pslverr(ch_pslverr[5]),
1024
 
1025
            //PERIPH
1026
            .periph_tx_req(periph_tx_req),
1027
            .periph_tx_clr(ch_periph_tx_clr[31*5+31-1:31*5]),
1028
            .periph_rx_req(periph_rx_req),
1029
            .periph_rx_clr(ch_periph_rx_clr[31*5+31-1:31*5]),
1030
 
1031
            //RD AXIM
1032
            .rd_cmd_split(ch_rd_cmd_split[5]),
1033
            .rd_cmd_line(ch_rd_cmd_line[5]),
1034
            .rd_clr_line(ch_rd_clr_line[5]),
1035
            .rd_clr(ch_rd_clr[5]),
1036
            .rd_clr_load(ch_rd_clr_load[5]),
1037
            .rd_slverr(ch_rd_slverr[5]),
1038
            .rd_decerr(ch_rd_decerr[5]),
1039
            .rd_line_cmd(ch_rd_line_cmd[5]),
1040
            .rd_go_next_line(ch_rd_go_next_line[5]),
1041
            .rd_transfer(ch_rd_transfer[5]),
1042
            .rd_transfer_size(rd_transfer_size),
1043
                .rd_clr_stall(ch_rd_clr_stall[5]),
1044
 
1045
            //WR AXIM
1046
            .wr_cmd_split(ch_wr_cmd_split[5]),
1047
            .wr_cmd_pending(ch_wr_cmd_pending[5]),
1048
            .wr_clr_line(ch_wr_clr_line[5]),
1049
            .wr_clr(ch_wr_clr[5]),
1050
            .wr_clr_last(ch_wr_clr_last[5]),
1051
            .wr_slverr(ch_wr_slverr[5]),
1052
            .wr_decerr(ch_wr_decerr[5]),
1053
            .wr_last_cmd(ch_wr_last_cmd[5]),
1054
            .wr_line_cmd(ch_wr_line_cmd[5]),
1055
            .wr_go_next_line(ch_wr_go_next_line[5]),
1056
            .wr_transfer(ch_wr_transfer[5]),
1057
            .wr_transfer_size(wr_transfer_size),
1058
            .wr_next_size(wr_next_size),
1059
                .wr_clr_stall(ch_wr_clr_stall[5]),
1060
 
1061
            .timeout_aw(ch_timeout_aw[5]),
1062
            .timeout_w(ch_timeout_w[5]),
1063
            .timeout_ar(ch_timeout_ar[5]),
1064
            .wdt_timeout(ch_wdt_timeout[5]),
1065
 
1066
            //LOAD CMD
1067
            .load_wr(ch_load_wr[5]),
1068
            .load_wr_cycle(load_wr_cycle),
1069
            .load_wdata(load_wdata),
1070
            .load_req_in_prog(ch_load_req_in_prog[5]),
1071
 
1072
            //CTRL
1073
            .ch_active(ch_active[5]),
1074
            .ch_rd_active(ch_rd_active[5]),
1075
            .ch_wr_active(ch_wr_active[5]),
1076
 
1077
            //RD CTRL
1078
            .rd_burst_start(ch_rd_burst_start[5]),
1079
            .rd_ready(ch_rd_ready[5]),
1080
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*5:32*5]),
1081
            .rd_burst_size(ch_rd_burst_size[8-1+8*5:8*5]),
1082
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*5:`TOKEN_BITS*5]),
1083
            .rd_port_num(ch_rd_port_num[5]),
1084
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*5:`DELAY_BITS*5]),
1085
            .rd_clr_valid(ch_rd_clr_valid[5]),
1086
 
1087
            //WR CTRL
1088
            .wr_burst_start(ch_wr_burst_start[5]),
1089
            .wr_ready(ch_wr_ready[5]),
1090
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*5:32*5]),
1091
            .wr_burst_size(ch_wr_burst_size[8-1+8*5:8*5]),
1092
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*5:`TOKEN_BITS*5]),
1093
            .wr_port_num(ch_wr_port_num[5]),
1094
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*5:`DELAY_BITS*5]),
1095
            .wr_clr_valid(ch_wr_clr_valid[5]),
1096
 
1097
            //FIFO
1098
            .fifo_wr(ch_fifo_wr[5]),
1099
                    .fifo_wdata(fifo_wdata),
1100
                    .fifo_wsize(fifo_wsize),
1101
                    .fifo_rd(ch_fifo_rd[5]),
1102
                    .fifo_rsize(fifo_rsize),
1103
                    .fifo_rd_valid(ch_fifo_rd_valid[5]),
1104
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*5:64*5]),
1105
                    .fifo_wr_ready(ch_fifo_wr_ready[5]),
1106
 
1107
                .joint_mode(joint_mode),
1108
                .joint_remote(joint_remote),
1109
            .rd_page_cross(ch_rd_page_cross[5]),
1110
            .wr_page_cross(ch_wr_page_cross[5]),
1111
            .joint_in_prog(ch_joint_in_prog[5]),
1112
            .joint_not_in_prog(ch_joint_not_in_prog[5]),
1113
            .joint_mux_in_prog(ch_joint_mux_in_prog[5]),
1114
            .joint_req(ch_joint_req[5]),
1115
 
1116
            .ch_start(ch_start[5]),
1117
 
1118
            //INT
1119
            .int_all_proc(ch_int_all_proc[1-1+(1*5):1*5])
1120
            );
1121
 
1122
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty6 (
1123
            .clk(clk),
1124
            .reset(reset),
1125
            .scan_en(scan_en),
1126
            .idle(ch_idle[6]),
1127
 
1128
            //APB
1129
            .pclk(pclk),
1130
            .clken(clken),
1131
            .pclken(pclken),
1132
            .psel(ch_psel[6]),
1133
            .penable(penable),
1134
            .paddr(paddr[7:0]),
1135
            .pwrite(pwrite),
1136
            .pwdata(pwdata),
1137
            .prdata(ch_prdata[31+32*6:32*6]),
1138
            .pslverr(ch_pslverr[6]),
1139
 
1140
            //PERIPH
1141
            .periph_tx_req(periph_tx_req),
1142
            .periph_tx_clr(ch_periph_tx_clr[31*6+31-1:31*6]),
1143
            .periph_rx_req(periph_rx_req),
1144
            .periph_rx_clr(ch_periph_rx_clr[31*6+31-1:31*6]),
1145
 
1146
            //RD AXIM
1147
            .rd_cmd_split(ch_rd_cmd_split[6]),
1148
            .rd_cmd_line(ch_rd_cmd_line[6]),
1149
            .rd_clr_line(ch_rd_clr_line[6]),
1150
            .rd_clr(ch_rd_clr[6]),
1151
            .rd_clr_load(ch_rd_clr_load[6]),
1152
            .rd_slverr(ch_rd_slverr[6]),
1153
            .rd_decerr(ch_rd_decerr[6]),
1154
            .rd_line_cmd(ch_rd_line_cmd[6]),
1155
            .rd_go_next_line(ch_rd_go_next_line[6]),
1156
            .rd_transfer(ch_rd_transfer[6]),
1157
            .rd_transfer_size(rd_transfer_size),
1158
                .rd_clr_stall(ch_rd_clr_stall[6]),
1159
 
1160
            //WR AXIM
1161
            .wr_cmd_split(ch_wr_cmd_split[6]),
1162
            .wr_cmd_pending(ch_wr_cmd_pending[6]),
1163
            .wr_clr_line(ch_wr_clr_line[6]),
1164
            .wr_clr(ch_wr_clr[6]),
1165
            .wr_clr_last(ch_wr_clr_last[6]),
1166
            .wr_slverr(ch_wr_slverr[6]),
1167
            .wr_decerr(ch_wr_decerr[6]),
1168
            .wr_last_cmd(ch_wr_last_cmd[6]),
1169
            .wr_line_cmd(ch_wr_line_cmd[6]),
1170
            .wr_go_next_line(ch_wr_go_next_line[6]),
1171
            .wr_transfer(ch_wr_transfer[6]),
1172
            .wr_transfer_size(wr_transfer_size),
1173
            .wr_next_size(wr_next_size),
1174
                .wr_clr_stall(ch_wr_clr_stall[6]),
1175
 
1176
            .timeout_aw(ch_timeout_aw[6]),
1177
            .timeout_w(ch_timeout_w[6]),
1178
            .timeout_ar(ch_timeout_ar[6]),
1179
            .wdt_timeout(ch_wdt_timeout[6]),
1180
 
1181
            //LOAD CMD
1182
            .load_wr(ch_load_wr[6]),
1183
            .load_wr_cycle(load_wr_cycle),
1184
            .load_wdata(load_wdata),
1185
            .load_req_in_prog(ch_load_req_in_prog[6]),
1186
 
1187
            //CTRL
1188
            .ch_active(ch_active[6]),
1189
            .ch_rd_active(ch_rd_active[6]),
1190
            .ch_wr_active(ch_wr_active[6]),
1191
 
1192
            //RD CTRL
1193
            .rd_burst_start(ch_rd_burst_start[6]),
1194
            .rd_ready(ch_rd_ready[6]),
1195
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*6:32*6]),
1196
            .rd_burst_size(ch_rd_burst_size[8-1+8*6:8*6]),
1197
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*6:`TOKEN_BITS*6]),
1198
            .rd_port_num(ch_rd_port_num[6]),
1199
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*6:`DELAY_BITS*6]),
1200
            .rd_clr_valid(ch_rd_clr_valid[6]),
1201
 
1202
            //WR CTRL
1203
            .wr_burst_start(ch_wr_burst_start[6]),
1204
            .wr_ready(ch_wr_ready[6]),
1205
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*6:32*6]),
1206
            .wr_burst_size(ch_wr_burst_size[8-1+8*6:8*6]),
1207
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*6:`TOKEN_BITS*6]),
1208
            .wr_port_num(ch_wr_port_num[6]),
1209
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*6:`DELAY_BITS*6]),
1210
            .wr_clr_valid(ch_wr_clr_valid[6]),
1211
 
1212
            //FIFO
1213
            .fifo_wr(ch_fifo_wr[6]),
1214
                    .fifo_wdata(fifo_wdata),
1215
                    .fifo_wsize(fifo_wsize),
1216
                    .fifo_rd(ch_fifo_rd[6]),
1217
                    .fifo_rsize(fifo_rsize),
1218
                    .fifo_rd_valid(ch_fifo_rd_valid[6]),
1219
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*6:64*6]),
1220
                    .fifo_wr_ready(ch_fifo_wr_ready[6]),
1221
 
1222
                .joint_mode(joint_mode),
1223
                .joint_remote(joint_remote),
1224
            .rd_page_cross(ch_rd_page_cross[6]),
1225
            .wr_page_cross(ch_wr_page_cross[6]),
1226
            .joint_in_prog(ch_joint_in_prog[6]),
1227
            .joint_not_in_prog(ch_joint_not_in_prog[6]),
1228
            .joint_mux_in_prog(ch_joint_mux_in_prog[6]),
1229
            .joint_req(ch_joint_req[6]),
1230
 
1231
            .ch_start(ch_start[6]),
1232
 
1233
            //INT
1234
            .int_all_proc(ch_int_all_proc[1-1+(1*6):1*6])
1235
            );
1236
 
1237
dma_axi64_core0_ch_empty dma_axi64_core0_ch_empty7 (
1238
            .clk(clk),
1239
            .reset(reset),
1240
            .scan_en(scan_en),
1241
            .idle(ch_idle[7]),
1242
 
1243
            //APB
1244
            .pclk(pclk),
1245
            .clken(clken),
1246
            .pclken(pclken),
1247
            .psel(ch_psel[7]),
1248
            .penable(penable),
1249
            .paddr(paddr[7:0]),
1250
            .pwrite(pwrite),
1251
            .pwdata(pwdata),
1252
            .prdata(ch_prdata[31+32*7:32*7]),
1253
            .pslverr(ch_pslverr[7]),
1254
 
1255
            //PERIPH
1256
            .periph_tx_req(periph_tx_req),
1257
            .periph_tx_clr(ch_periph_tx_clr[31*7+31-1:31*7]),
1258
            .periph_rx_req(periph_rx_req),
1259
            .periph_rx_clr(ch_periph_rx_clr[31*7+31-1:31*7]),
1260
 
1261
            //RD AXIM
1262
            .rd_cmd_split(ch_rd_cmd_split[7]),
1263
            .rd_cmd_line(ch_rd_cmd_line[7]),
1264
            .rd_clr_line(ch_rd_clr_line[7]),
1265
            .rd_clr(ch_rd_clr[7]),
1266
            .rd_clr_load(ch_rd_clr_load[7]),
1267
            .rd_slverr(ch_rd_slverr[7]),
1268
            .rd_decerr(ch_rd_decerr[7]),
1269
            .rd_line_cmd(ch_rd_line_cmd[7]),
1270
            .rd_go_next_line(ch_rd_go_next_line[7]),
1271
            .rd_transfer(ch_rd_transfer[7]),
1272
            .rd_transfer_size(rd_transfer_size),
1273
                .rd_clr_stall(ch_rd_clr_stall[7]),
1274
 
1275
            //WR AXIM
1276
            .wr_cmd_split(ch_wr_cmd_split[7]),
1277
            .wr_cmd_pending(ch_wr_cmd_pending[7]),
1278
            .wr_clr_line(ch_wr_clr_line[7]),
1279
            .wr_clr(ch_wr_clr[7]),
1280
            .wr_clr_last(ch_wr_clr_last[7]),
1281
            .wr_slverr(ch_wr_slverr[7]),
1282
            .wr_decerr(ch_wr_decerr[7]),
1283
            .wr_last_cmd(ch_wr_last_cmd[7]),
1284
            .wr_line_cmd(ch_wr_line_cmd[7]),
1285
            .wr_go_next_line(ch_wr_go_next_line[7]),
1286
            .wr_transfer(ch_wr_transfer[7]),
1287
            .wr_transfer_size(wr_transfer_size),
1288
            .wr_next_size(wr_next_size),
1289
                .wr_clr_stall(ch_wr_clr_stall[7]),
1290
 
1291
            .timeout_aw(ch_timeout_aw[7]),
1292
            .timeout_w(ch_timeout_w[7]),
1293
            .timeout_ar(ch_timeout_ar[7]),
1294
            .wdt_timeout(ch_wdt_timeout[7]),
1295
 
1296
            //LOAD CMD
1297
            .load_wr(ch_load_wr[7]),
1298
            .load_wr_cycle(load_wr_cycle),
1299
            .load_wdata(load_wdata),
1300
            .load_req_in_prog(ch_load_req_in_prog[7]),
1301
 
1302
            //CTRL
1303
            .ch_active(ch_active[7]),
1304
            .ch_rd_active(ch_rd_active[7]),
1305
            .ch_wr_active(ch_wr_active[7]),
1306
 
1307
            //RD CTRL
1308
            .rd_burst_start(ch_rd_burst_start[7]),
1309
            .rd_ready(ch_rd_ready[7]),
1310
            .rd_burst_addr(ch_rd_burst_addr[32-1+32*7:32*7]),
1311
            .rd_burst_size(ch_rd_burst_size[8-1+8*7:8*7]),
1312
            .rd_tokens(ch_rd_tokens[`TOKEN_BITS-1+`TOKEN_BITS*7:`TOKEN_BITS*7]),
1313
            .rd_port_num(ch_rd_port_num[7]),
1314
            .rd_periph_delay(ch_rd_periph_delay[`DELAY_BITS-1+`DELAY_BITS*7:`DELAY_BITS*7]),
1315
            .rd_clr_valid(ch_rd_clr_valid[7]),
1316
 
1317
            //WR CTRL
1318
            .wr_burst_start(ch_wr_burst_start[7]),
1319
            .wr_ready(ch_wr_ready[7]),
1320
            .wr_burst_addr(ch_wr_burst_addr[32-1+32*7:32*7]),
1321
            .wr_burst_size(ch_wr_burst_size[8-1+8*7:8*7]),
1322
            .wr_tokens(ch_wr_tokens[`TOKEN_BITS-1+`TOKEN_BITS*7:`TOKEN_BITS*7]),
1323
            .wr_port_num(ch_wr_port_num[7]),
1324
            .wr_periph_delay(ch_wr_periph_delay[`DELAY_BITS-1+`DELAY_BITS*7:`DELAY_BITS*7]),
1325
            .wr_clr_valid(ch_wr_clr_valid[7]),
1326
 
1327
            //FIFO
1328
            .fifo_wr(ch_fifo_wr[7]),
1329
                    .fifo_wdata(fifo_wdata),
1330
                    .fifo_wsize(fifo_wsize),
1331
                    .fifo_rd(ch_fifo_rd[7]),
1332
                    .fifo_rsize(fifo_rsize),
1333
                    .fifo_rd_valid(ch_fifo_rd_valid[7]),
1334
                    .fifo_rdata(ch_fifo_rdata[(64-1)+64*7:64*7]),
1335
                    .fifo_wr_ready(ch_fifo_wr_ready[7]),
1336
 
1337
                .joint_mode(joint_mode),
1338
                .joint_remote(joint_remote),
1339
            .rd_page_cross(ch_rd_page_cross[7]),
1340
            .wr_page_cross(ch_wr_page_cross[7]),
1341
            .joint_in_prog(ch_joint_in_prog[7]),
1342
            .joint_not_in_prog(ch_joint_not_in_prog[7]),
1343
            .joint_mux_in_prog(ch_joint_mux_in_prog[7]),
1344
            .joint_req(ch_joint_req[7]),
1345
 
1346
            .ch_start(ch_start[7]),
1347
 
1348
            //INT
1349
            .int_all_proc(ch_int_all_proc[1-1+(1*7):1*7])
1350
            );
1351
 
1352
 
1353
 
1354
endmodule
1355
 
1356
 
1357
 

powered by: WebSVN 2.1.0

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