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

Subversion Repositories wb_dma

[/] [wb_dma/] [trunk/] [rtl/] [verilog/] [wb_dma_rf.v] - Blame information for rev 5

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

Line No. Rev Author Line
1 5 rudi
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  WISHBONE DMA Register File                                 ////
4
////                                                             ////
5
////                                                             ////
6
////  Author: Rudolf Usselmann                                   ////
7
////          rudi@asics.ws                                      ////
8
////                                                             ////
9
////                                                             ////
10
////  Downloaded from: http://www.opencores.org/cores/wb_dma/    ////
11
////                                                             ////
12
/////////////////////////////////////////////////////////////////////
13
////                                                             ////
14
//// Copyright (C) 2001 Rudolf Usselmann                         ////
15
////                    rudi@asics.ws                            ////
16
////                                                             ////
17
//// This source file may be used and distributed without        ////
18
//// restriction provided that this copyright statement is not   ////
19
//// removed from the file and that any derivative work contains ////
20
//// the original copyright notice and the associated disclaimer.////
21
////                                                             ////
22
////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     ////
23
//// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   ////
24
//// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   ////
25
//// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      ////
26
//// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         ////
27
//// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    ////
28
//// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   ////
29
//// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        ////
30
//// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  ////
31
//// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  ////
32
//// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  ////
33
//// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         ////
34
//// POSSIBILITY OF SUCH DAMAGE.                                 ////
35
////                                                             ////
36
/////////////////////////////////////////////////////////////////////
37
 
38
//  CVS Log
39
//
40
//  $Id: wb_dma_rf.v,v 1.1 2001-07-29 08:57:02 rudi Exp $
41
//
42
//  $Date: 2001-07-29 08:57:02 $
43
//  $Revision: 1.1 $
44
//  $Author: rudi $
45
//  $Locker:  $
46
//  $State: Exp $
47
//
48
// Change History:
49
//               $Log: not supported by cvs2svn $
50
//               Revision 1.4  2001/06/14 08:50:46  rudi
51
//
52
//               Changed name of channel register file module.
53
//
54
//               Revision 1.3  2001/06/13 02:26:48  rudi
55
//
56
//
57
//               Small changes after running lint.
58
//
59
//               Revision 1.2  2001/06/05 10:22:37  rudi
60
//
61
//
62
//               - Added Support of up to 31 channels
63
//               - Added support for 2,4 and 8 priority levels
64
//               - Now can have up to 31 channels
65
//               - Added many configuration items
66
//               - Changed reset to async
67
//
68
//               Revision 1.1.1.1  2001/03/19 13:10:11  rudi
69
//               Initial Release
70
//
71
//
72
//
73
 
74
`include "wb_dma_defines.v"
75
 
76
module wb_dma_rf(clk, rst,
77
 
78
        // WISHBONE Access
79
        wb_rf_adr, wb_rf_din, wb_rf_dout, wb_rf_re, wb_rf_we,
80
 
81
        // WISHBONE Interrupt outputs
82
        inta_o, intb_o,
83
 
84
        // DMA Registers Outputs
85
        pointer0, pointer0_s, ch0_csr, ch0_txsz, ch0_adr0, ch0_adr1, ch0_am0, ch0_am1,
86
        pointer1, pointer1_s, ch1_csr, ch1_txsz, ch1_adr0, ch1_adr1, ch1_am0, ch1_am1,
87
        pointer2, pointer2_s, ch2_csr, ch2_txsz, ch2_adr0, ch2_adr1, ch2_am0, ch2_am1,
88
        pointer3, pointer3_s, ch3_csr, ch3_txsz, ch3_adr0, ch3_adr1, ch3_am0, ch3_am1,
89
        pointer4, pointer4_s, ch4_csr, ch4_txsz, ch4_adr0, ch4_adr1, ch4_am0, ch4_am1,
90
        pointer5, pointer5_s, ch5_csr, ch5_txsz, ch5_adr0, ch5_adr1, ch5_am0, ch5_am1,
91
        pointer6, pointer6_s, ch6_csr, ch6_txsz, ch6_adr0, ch6_adr1, ch6_am0, ch6_am1,
92
        pointer7, pointer7_s, ch7_csr, ch7_txsz, ch7_adr0, ch7_adr1, ch7_am0, ch7_am1,
93
        pointer8, pointer8_s, ch8_csr, ch8_txsz, ch8_adr0, ch8_adr1, ch8_am0, ch8_am1,
94
        pointer9, pointer9_s, ch9_csr, ch9_txsz, ch9_adr0, ch9_adr1, ch9_am0, ch9_am1,
95
        pointer10, pointer10_s, ch10_csr, ch10_txsz, ch10_adr0, ch10_adr1, ch10_am0, ch10_am1,
96
        pointer11, pointer11_s, ch11_csr, ch11_txsz, ch11_adr0, ch11_adr1, ch11_am0, ch11_am1,
97
        pointer12, pointer12_s, ch12_csr, ch12_txsz, ch12_adr0, ch12_adr1, ch12_am0, ch12_am1,
98
        pointer13, pointer13_s, ch13_csr, ch13_txsz, ch13_adr0, ch13_adr1, ch13_am0, ch13_am1,
99
        pointer14, pointer14_s, ch14_csr, ch14_txsz, ch14_adr0, ch14_adr1, ch14_am0, ch14_am1,
100
        pointer15, pointer15_s, ch15_csr, ch15_txsz, ch15_adr0, ch15_adr1, ch15_am0, ch15_am1,
101
        pointer16, pointer16_s, ch16_csr, ch16_txsz, ch16_adr0, ch16_adr1, ch16_am0, ch16_am1,
102
        pointer17, pointer17_s, ch17_csr, ch17_txsz, ch17_adr0, ch17_adr1, ch17_am0, ch17_am1,
103
        pointer18, pointer18_s, ch18_csr, ch18_txsz, ch18_adr0, ch18_adr1, ch18_am0, ch18_am1,
104
        pointer19, pointer19_s, ch19_csr, ch19_txsz, ch19_adr0, ch19_adr1, ch19_am0, ch19_am1,
105
        pointer20, pointer20_s, ch20_csr, ch20_txsz, ch20_adr0, ch20_adr1, ch20_am0, ch20_am1,
106
        pointer21, pointer21_s, ch21_csr, ch21_txsz, ch21_adr0, ch21_adr1, ch21_am0, ch21_am1,
107
        pointer22, pointer22_s, ch22_csr, ch22_txsz, ch22_adr0, ch22_adr1, ch22_am0, ch22_am1,
108
        pointer23, pointer23_s, ch23_csr, ch23_txsz, ch23_adr0, ch23_adr1, ch23_am0, ch23_am1,
109
        pointer24, pointer24_s, ch24_csr, ch24_txsz, ch24_adr0, ch24_adr1, ch24_am0, ch24_am1,
110
        pointer25, pointer25_s, ch25_csr, ch25_txsz, ch25_adr0, ch25_adr1, ch25_am0, ch25_am1,
111
        pointer26, pointer26_s, ch26_csr, ch26_txsz, ch26_adr0, ch26_adr1, ch26_am0, ch26_am1,
112
        pointer27, pointer27_s, ch27_csr, ch27_txsz, ch27_adr0, ch27_adr1, ch27_am0, ch27_am1,
113
        pointer28, pointer28_s, ch28_csr, ch28_txsz, ch28_adr0, ch28_adr1, ch28_am0, ch28_am1,
114
        pointer29, pointer29_s, ch29_csr, ch29_txsz, ch29_adr0, ch29_adr1, ch29_am0, ch29_am1,
115
        pointer30, pointer30_s, ch30_csr, ch30_txsz, ch30_adr0, ch30_adr1, ch30_am0, ch30_am1,
116
 
117
        // DMA Registers Write Back Channel Select
118
        ch_sel, ndnr,
119
 
120
        // DMA Engine Status
121
        pause_req, paused, dma_abort, dma_busy, dma_err, dma_done, dma_done_all,
122
 
123
        // DMA Engine Reg File Update ctrl signals
124
        de_csr, de_txsz, de_adr0, de_adr1,
125
        de_csr_we, de_txsz_we, de_adr0_we, de_adr1_we, de_fetch_descr, dma_rest,
126
        ptr_set
127
        );
128
 
129
input           clk, rst;
130
 
131
// WISHBONE Access
132
input   [7:0]    wb_rf_adr;
133
input   [31:0]   wb_rf_din;
134
output  [31:0]   wb_rf_dout;
135
input           wb_rf_re;
136
input           wb_rf_we;
137
 
138
// WISHBONE Interrupt outputs
139
output          inta_o, intb_o;
140
 
141
// Channel Registers Inputs
142
output  [31:0]   pointer0, pointer0_s, ch0_csr, ch0_txsz, ch0_adr0, ch0_adr1, ch0_am0, ch0_am1;
143
output  [31:0]   pointer1, pointer1_s, ch1_csr, ch1_txsz, ch1_adr0, ch1_adr1, ch1_am0, ch1_am1;
144
output  [31:0]   pointer2, pointer2_s, ch2_csr, ch2_txsz, ch2_adr0, ch2_adr1, ch2_am0, ch2_am1;
145
output  [31:0]   pointer3, pointer3_s, ch3_csr, ch3_txsz, ch3_adr0, ch3_adr1, ch3_am0, ch3_am1;
146
output  [31:0]   pointer4, pointer4_s, ch4_csr, ch4_txsz, ch4_adr0, ch4_adr1, ch4_am0, ch4_am1;
147
output  [31:0]   pointer5, pointer5_s, ch5_csr, ch5_txsz, ch5_adr0, ch5_adr1, ch5_am0, ch5_am1;
148
output  [31:0]   pointer6, pointer6_s, ch6_csr, ch6_txsz, ch6_adr0, ch6_adr1, ch6_am0, ch6_am1;
149
output  [31:0]   pointer7, pointer7_s, ch7_csr, ch7_txsz, ch7_adr0, ch7_adr1, ch7_am0, ch7_am1;
150
output  [31:0]   pointer8, pointer8_s, ch8_csr, ch8_txsz, ch8_adr0, ch8_adr1, ch8_am0, ch8_am1;
151
output  [31:0]   pointer9, pointer9_s, ch9_csr, ch9_txsz, ch9_adr0, ch9_adr1, ch9_am0, ch9_am1;
152
output  [31:0]   pointer10, pointer10_s, ch10_csr, ch10_txsz, ch10_adr0, ch10_adr1, ch10_am0, ch10_am1;
153
output  [31:0]   pointer11, pointer11_s, ch11_csr, ch11_txsz, ch11_adr0, ch11_adr1, ch11_am0, ch11_am1;
154
output  [31:0]   pointer12, pointer12_s, ch12_csr, ch12_txsz, ch12_adr0, ch12_adr1, ch12_am0, ch12_am1;
155
output  [31:0]   pointer13, pointer13_s, ch13_csr, ch13_txsz, ch13_adr0, ch13_adr1, ch13_am0, ch13_am1;
156
output  [31:0]   pointer14, pointer14_s, ch14_csr, ch14_txsz, ch14_adr0, ch14_adr1, ch14_am0, ch14_am1;
157
output  [31:0]   pointer15, pointer15_s, ch15_csr, ch15_txsz, ch15_adr0, ch15_adr1, ch15_am0, ch15_am1;
158
output  [31:0]   pointer16, pointer16_s, ch16_csr, ch16_txsz, ch16_adr0, ch16_adr1, ch16_am0, ch16_am1;
159
output  [31:0]   pointer17, pointer17_s, ch17_csr, ch17_txsz, ch17_adr0, ch17_adr1, ch17_am0, ch17_am1;
160
output  [31:0]   pointer18, pointer18_s, ch18_csr, ch18_txsz, ch18_adr0, ch18_adr1, ch18_am0, ch18_am1;
161
output  [31:0]   pointer19, pointer19_s, ch19_csr, ch19_txsz, ch19_adr0, ch19_adr1, ch19_am0, ch19_am1;
162
output  [31:0]   pointer20, pointer20_s, ch20_csr, ch20_txsz, ch20_adr0, ch20_adr1, ch20_am0, ch20_am1;
163
output  [31:0]   pointer21, pointer21_s, ch21_csr, ch21_txsz, ch21_adr0, ch21_adr1, ch21_am0, ch21_am1;
164
output  [31:0]   pointer22, pointer22_s, ch22_csr, ch22_txsz, ch22_adr0, ch22_adr1, ch22_am0, ch22_am1;
165
output  [31:0]   pointer23, pointer23_s, ch23_csr, ch23_txsz, ch23_adr0, ch23_adr1, ch23_am0, ch23_am1;
166
output  [31:0]   pointer24, pointer24_s, ch24_csr, ch24_txsz, ch24_adr0, ch24_adr1, ch24_am0, ch24_am1;
167
output  [31:0]   pointer25, pointer25_s, ch25_csr, ch25_txsz, ch25_adr0, ch25_adr1, ch25_am0, ch25_am1;
168
output  [31:0]   pointer26, pointer26_s, ch26_csr, ch26_txsz, ch26_adr0, ch26_adr1, ch26_am0, ch26_am1;
169
output  [31:0]   pointer27, pointer27_s, ch27_csr, ch27_txsz, ch27_adr0, ch27_adr1, ch27_am0, ch27_am1;
170
output  [31:0]   pointer28, pointer28_s, ch28_csr, ch28_txsz, ch28_adr0, ch28_adr1, ch28_am0, ch28_am1;
171
output  [31:0]   pointer29, pointer29_s, ch29_csr, ch29_txsz, ch29_adr0, ch29_adr1, ch29_am0, ch29_am1;
172
output  [31:0]   pointer30, pointer30_s, ch30_csr, ch30_txsz, ch30_adr0, ch30_adr1, ch30_am0, ch30_am1;
173
 
174
input   [4:0]    ch_sel;         // Write Back Channel Select
175
input   [30:0]   ndnr;           // Next Descriptor No Request
176
 
177
// DMA Engine Abort
178
output          dma_abort;
179
 
180
// DMA Engine Status
181
output          pause_req;
182
input           paused;
183
input           dma_busy, dma_err, dma_done, dma_done_all;
184
 
185
// DMA Engine Reg File Update ctrl signals
186
input   [31:0]   de_csr;
187
input   [11:0]   de_txsz;
188
input   [31:0]   de_adr0;
189
input   [31:0]   de_adr1;
190
input           de_csr_we, de_txsz_we, de_adr0_we, de_adr1_we, ptr_set;
191
input           de_fetch_descr;
192
input   [30:0]   dma_rest;
193
 
194
////////////////////////////////////////////////////////////////////
195
//
196
// Local Wires and Registers
197
//
198
 
199
reg     [31:0]   wb_rf_dout;
200
reg             inta_o, intb_o;
201
reg     [30:0]   int_maska_r, int_maskb_r;
202
wire    [31:0]   int_maska, int_maskb;
203
wire    [31:0]   int_srca, int_srcb;
204
wire            int_maska_we, int_maskb_we;
205
wire    [30:0]   ch_int;
206
wire            csr_we;
207
wire    [31:0]   csr;
208
reg     [7:0]    csr_r;
209
 
210
wire    [30:0]   ch_stop;
211
wire    [30:0]   ch_dis;
212
 
213
wire    [31:0]   ch0_csr, ch0_txsz, ch0_adr0, ch0_adr1, ch0_am0, ch0_am1;
214
wire    [31:0]   ch1_csr, ch1_txsz, ch1_adr0, ch1_adr1, ch1_am0, ch1_am1;
215
wire    [31:0]   ch2_csr, ch2_txsz, ch2_adr0, ch2_adr1, ch2_am0, ch2_am1;
216
wire    [31:0]   ch3_csr, ch3_txsz, ch3_adr0, ch3_adr1, ch3_am0, ch3_am1;
217
wire    [31:0]   ch4_csr, ch4_txsz, ch4_adr0, ch4_adr1, ch4_am0, ch4_am1;
218
wire    [31:0]   ch5_csr, ch5_txsz, ch5_adr0, ch5_adr1, ch5_am0, ch5_am1;
219
wire    [31:0]   ch6_csr, ch6_txsz, ch6_adr0, ch6_adr1, ch6_am0, ch6_am1;
220
wire    [31:0]   ch7_csr, ch7_txsz, ch7_adr0, ch7_adr1, ch7_am0, ch7_am1;
221
wire    [31:0]   ch8_csr, ch8_txsz, ch8_adr0, ch8_adr1, ch8_am0, ch8_am1;
222
wire    [31:0]   ch9_csr, ch9_txsz, ch9_adr0, ch9_adr1, ch9_am0, ch9_am1;
223
wire    [31:0]   ch10_csr, ch10_txsz, ch10_adr0, ch10_adr1, ch10_am0, ch10_am1;
224
wire    [31:0]   ch11_csr, ch11_txsz, ch11_adr0, ch11_adr1, ch11_am0, ch11_am1;
225
wire    [31:0]   ch12_csr, ch12_txsz, ch12_adr0, ch12_adr1, ch12_am0, ch12_am1;
226
wire    [31:0]   ch13_csr, ch13_txsz, ch13_adr0, ch13_adr1, ch13_am0, ch13_am1;
227
wire    [31:0]   ch14_csr, ch14_txsz, ch14_adr0, ch14_adr1, ch14_am0, ch14_am1;
228
wire    [31:0]   ch15_csr, ch15_txsz, ch15_adr0, ch15_adr1, ch15_am0, ch15_am1;
229
wire    [31:0]   ch16_csr, ch16_txsz, ch16_adr0, ch16_adr1, ch16_am0, ch16_am1;
230
wire    [31:0]   ch17_csr, ch17_txsz, ch17_adr0, ch17_adr1, ch17_am0, ch17_am1;
231
wire    [31:0]   ch18_csr, ch18_txsz, ch18_adr0, ch18_adr1, ch18_am0, ch18_am1;
232
wire    [31:0]   ch19_csr, ch19_txsz, ch19_adr0, ch19_adr1, ch19_am0, ch19_am1;
233
wire    [31:0]   ch20_csr, ch20_txsz, ch20_adr0, ch20_adr1, ch20_am0, ch20_am1;
234
wire    [31:0]   ch21_csr, ch21_txsz, ch21_adr0, ch21_adr1, ch21_am0, ch21_am1;
235
wire    [31:0]   ch22_csr, ch22_txsz, ch22_adr0, ch22_adr1, ch22_am0, ch22_am1;
236
wire    [31:0]   ch23_csr, ch23_txsz, ch23_adr0, ch23_adr1, ch23_am0, ch23_am1;
237
wire    [31:0]   ch24_csr, ch24_txsz, ch24_adr0, ch24_adr1, ch24_am0, ch24_am1;
238
wire    [31:0]   ch25_csr, ch25_txsz, ch25_adr0, ch25_adr1, ch25_am0, ch25_am1;
239
wire    [31:0]   ch26_csr, ch26_txsz, ch26_adr0, ch26_adr1, ch26_am0, ch26_am1;
240
wire    [31:0]   ch27_csr, ch27_txsz, ch27_adr0, ch27_adr1, ch27_am0, ch27_am1;
241
wire    [31:0]   ch28_csr, ch28_txsz, ch28_adr0, ch28_adr1, ch28_am0, ch28_am1;
242
wire    [31:0]   ch29_csr, ch29_txsz, ch29_adr0, ch29_adr1, ch29_am0, ch29_am1;
243
wire    [31:0]   ch30_csr, ch30_txsz, ch30_adr0, ch30_adr1, ch30_am0, ch30_am1;
244
 
245
wire    [31:0]   sw_pointer0, sw_pointer1, sw_pointer2, sw_pointer3;
246
wire    [31:0]   sw_pointer4, sw_pointer5, sw_pointer6, sw_pointer7;
247
wire    [31:0]   sw_pointer8, sw_pointer9, sw_pointer10, sw_pointer11;
248
wire    [31:0]   sw_pointer12, sw_pointer13, sw_pointer14, sw_pointer15;
249
wire    [31:0]   sw_pointer16, sw_pointer17, sw_pointer18, sw_pointer19;
250
wire    [31:0]   sw_pointer20, sw_pointer21, sw_pointer22, sw_pointer23;
251
wire    [31:0]   sw_pointer24, sw_pointer25, sw_pointer26, sw_pointer27;
252
wire    [31:0]   sw_pointer28, sw_pointer29, sw_pointer30;
253
 
254
////////////////////////////////////////////////////////////////////
255
//
256
// Aliases
257
//
258
 
259
assign int_maska = {1'h0, int_maska_r};
260
assign int_maskb = {1'h0, int_maskb_r};
261
//assign csr = {24'h0, csr_r[7:1], paused};
262
assign csr = {31'h0, paused};
263
 
264
////////////////////////////////////////////////////////////////////
265
//
266
// Misc Logic
267
//
268
 
269
assign dma_abort = |ch_stop;
270
assign pause_req = csr_r[0];
271
 
272
////////////////////////////////////////////////////////////////////
273
//
274
// WISHBONE Register Read Logic
275
//
276
 
277
always @(posedge clk)
278
        case(wb_rf_adr)         // synopsys parallel_case full_case
279
           8'h0:        wb_rf_dout <= #1 csr;
280
           8'h1:        wb_rf_dout <= #1 int_maska;
281
           8'h2:        wb_rf_dout <= #1 int_maskb;
282
           8'h3:        wb_rf_dout <= #1 int_srca;
283
           8'h4:        wb_rf_dout <= #1 int_srcb;
284
 
285
           8'h8:        wb_rf_dout <= #1 ch0_csr;
286
           8'h9:        wb_rf_dout <= #1 ch0_txsz;
287
           8'ha:        wb_rf_dout <= #1 ch0_adr0;
288
           8'hb:        wb_rf_dout <= #1 ch0_am0;
289
           8'hc:        wb_rf_dout <= #1 ch0_adr1;
290
           8'hd:        wb_rf_dout <= #1 ch0_am1;
291
           8'he:        wb_rf_dout <= #1 pointer0;
292
           8'hf:        wb_rf_dout <= #1 sw_pointer0;
293
 
294
`ifdef HAVE_CH1
295
           8'h10:       wb_rf_dout <= #1 ch1_csr;
296
           8'h11:       wb_rf_dout <= #1 ch1_txsz;
297
           8'h12:       wb_rf_dout <= #1 ch1_adr0;
298
           8'h13:       wb_rf_dout <= #1 ch1_am0;
299
           8'h14:       wb_rf_dout <= #1 ch1_adr1;
300
           8'h15:       wb_rf_dout <= #1 ch1_am1;
301
           8'h16:       wb_rf_dout <= #1 pointer1;
302
           8'h17:       wb_rf_dout <= #1 sw_pointer1;
303
`endif
304
 
305
`ifdef HAVE_CH2
306
           8'h18:       wb_rf_dout <= #1 ch2_csr;
307
           8'h19:       wb_rf_dout <= #1 ch2_txsz;
308
           8'h1a:       wb_rf_dout <= #1 ch2_adr0;
309
           8'h1b:       wb_rf_dout <= #1 ch2_am0;
310
           8'h1c:       wb_rf_dout <= #1 ch2_adr1;
311
           8'h1d:       wb_rf_dout <= #1 ch2_am1;
312
           8'h1e:       wb_rf_dout <= #1 pointer2;
313
           8'h1f:       wb_rf_dout <= #1 sw_pointer2;
314
`endif
315
 
316
`ifdef HAVE_CH3
317
           8'h20:       wb_rf_dout <= #1 ch3_csr;
318
           8'h21:       wb_rf_dout <= #1 ch3_txsz;
319
           8'h22:       wb_rf_dout <= #1 ch3_adr0;
320
           8'h23:       wb_rf_dout <= #1 ch3_am0;
321
           8'h24:       wb_rf_dout <= #1 ch3_adr1;
322
           8'h25:       wb_rf_dout <= #1 ch3_am1;
323
           8'h26:       wb_rf_dout <= #1 pointer3;
324
           8'h27:       wb_rf_dout <= #1 sw_pointer3;
325
`endif
326
 
327
`ifdef HAVE_CH4
328
           8'h28:       wb_rf_dout <= #1 ch4_csr;
329
           8'h29:       wb_rf_dout <= #1 ch4_txsz;
330
           8'h2a:       wb_rf_dout <= #1 ch4_adr0;
331
           8'h2b:       wb_rf_dout <= #1 ch4_am0;
332
           8'h2c:       wb_rf_dout <= #1 ch4_adr1;
333
           8'h2d:       wb_rf_dout <= #1 ch4_am1;
334
           8'h2e:       wb_rf_dout <= #1 pointer4;
335
           8'h2f:       wb_rf_dout <= #1 sw_pointer4;
336
`endif
337
 
338
`ifdef HAVE_CH5
339
           8'h30:       wb_rf_dout <= #1 ch5_csr;
340
           8'h31:       wb_rf_dout <= #1 ch5_txsz;
341
           8'h32:       wb_rf_dout <= #1 ch5_adr0;
342
           8'h33:       wb_rf_dout <= #1 ch5_am0;
343
           8'h34:       wb_rf_dout <= #1 ch5_adr1;
344
           8'h35:       wb_rf_dout <= #1 ch5_am1;
345
           8'h36:       wb_rf_dout <= #1 pointer5;
346
           8'h37:       wb_rf_dout <= #1 sw_pointer5;
347
`endif
348
 
349
`ifdef HAVE_CH6
350
           8'h38:       wb_rf_dout <= #1 ch6_csr;
351
           8'h39:       wb_rf_dout <= #1 ch6_txsz;
352
           8'h3a:       wb_rf_dout <= #1 ch6_adr0;
353
           8'h3b:       wb_rf_dout <= #1 ch6_am0;
354
           8'h3c:       wb_rf_dout <= #1 ch6_adr1;
355
           8'h3d:       wb_rf_dout <= #1 ch6_am1;
356
           8'h3e:       wb_rf_dout <= #1 pointer6;
357
           8'h3f:       wb_rf_dout <= #1 sw_pointer6;
358
`endif
359
 
360
`ifdef HAVE_CH7
361
           8'h40:       wb_rf_dout <= #1 ch7_csr;
362
           8'h41:       wb_rf_dout <= #1 ch7_txsz;
363
           8'h42:       wb_rf_dout <= #1 ch7_adr0;
364
           8'h43:       wb_rf_dout <= #1 ch7_am0;
365
           8'h44:       wb_rf_dout <= #1 ch7_adr1;
366
           8'h45:       wb_rf_dout <= #1 ch7_am1;
367
           8'h46:       wb_rf_dout <= #1 pointer7;
368
           8'h47:       wb_rf_dout <= #1 sw_pointer7;
369
`endif
370
 
371
`ifdef HAVE_CH8
372
           8'h48:       wb_rf_dout <= #1 ch8_csr;
373
           8'h49:       wb_rf_dout <= #1 ch8_txsz;
374
           8'h4a:       wb_rf_dout <= #1 ch8_adr0;
375
           8'h4b:       wb_rf_dout <= #1 ch8_am0;
376
           8'h4c:       wb_rf_dout <= #1 ch8_adr1;
377
           8'h4d:       wb_rf_dout <= #1 ch8_am1;
378
           8'h4e:       wb_rf_dout <= #1 pointer8;
379
           8'h4f:       wb_rf_dout <= #1 sw_pointer8;
380
`endif
381
 
382
`ifdef HAVE_CH9
383
           8'h50:       wb_rf_dout <= #1 ch9_csr;
384
           8'h51:       wb_rf_dout <= #1 ch9_txsz;
385
           8'h52:       wb_rf_dout <= #1 ch9_adr0;
386
           8'h53:       wb_rf_dout <= #1 ch9_am0;
387
           8'h54:       wb_rf_dout <= #1 ch9_adr1;
388
           8'h55:       wb_rf_dout <= #1 ch9_am1;
389
           8'h56:       wb_rf_dout <= #1 pointer9;
390
           8'h57:       wb_rf_dout <= #1 sw_pointer9;
391
`endif
392
 
393
`ifdef HAVE_CH10
394
           8'h58:       wb_rf_dout <= #1 ch10_csr;
395
           8'h59:       wb_rf_dout <= #1 ch10_txsz;
396
           8'h5a:       wb_rf_dout <= #1 ch10_adr0;
397
           8'h5b:       wb_rf_dout <= #1 ch10_am0;
398
           8'h5c:       wb_rf_dout <= #1 ch10_adr1;
399
           8'h5d:       wb_rf_dout <= #1 ch10_am1;
400
           8'h5e:       wb_rf_dout <= #1 pointer10;
401
           8'h5f:       wb_rf_dout <= #1 sw_pointer10;
402
`endif
403
 
404
`ifdef HAVE_CH11
405
           8'h60:       wb_rf_dout <= #1 ch11_csr;
406
           8'h61:       wb_rf_dout <= #1 ch11_txsz;
407
           8'h62:       wb_rf_dout <= #1 ch11_adr0;
408
           8'h63:       wb_rf_dout <= #1 ch11_am0;
409
           8'h64:       wb_rf_dout <= #1 ch11_adr1;
410
           8'h65:       wb_rf_dout <= #1 ch11_am1;
411
           8'h66:       wb_rf_dout <= #1 pointer11;
412
           8'h67:       wb_rf_dout <= #1 sw_pointer11;
413
`endif
414
 
415
`ifdef HAVE_CH12
416
           8'h68:       wb_rf_dout <= #1 ch12_csr;
417
           8'h69:       wb_rf_dout <= #1 ch12_txsz;
418
           8'h6a:       wb_rf_dout <= #1 ch12_adr0;
419
           8'h6b:       wb_rf_dout <= #1 ch12_am0;
420
           8'h6c:       wb_rf_dout <= #1 ch12_adr1;
421
           8'h6d:       wb_rf_dout <= #1 ch12_am1;
422
           8'h6e:       wb_rf_dout <= #1 pointer12;
423
           8'h6f:       wb_rf_dout <= #1 sw_pointer12;
424
`endif
425
 
426
`ifdef HAVE_CH13
427
           8'h70:       wb_rf_dout <= #1 ch13_csr;
428
           8'h71:       wb_rf_dout <= #1 ch13_txsz;
429
           8'h72:       wb_rf_dout <= #1 ch13_adr0;
430
           8'h73:       wb_rf_dout <= #1 ch13_am0;
431
           8'h74:       wb_rf_dout <= #1 ch13_adr1;
432
           8'h75:       wb_rf_dout <= #1 ch13_am1;
433
           8'h76:       wb_rf_dout <= #1 pointer13;
434
           8'h77:       wb_rf_dout <= #1 sw_pointer13;
435
`endif
436
 
437
`ifdef HAVE_CH14
438
           8'h78:       wb_rf_dout <= #1 ch14_csr;
439
           8'h79:       wb_rf_dout <= #1 ch14_txsz;
440
           8'h7a:       wb_rf_dout <= #1 ch14_adr0;
441
           8'h7b:       wb_rf_dout <= #1 ch14_am0;
442
           8'h7c:       wb_rf_dout <= #1 ch14_adr1;
443
           8'h7d:       wb_rf_dout <= #1 ch14_am1;
444
           8'h7e:       wb_rf_dout <= #1 pointer14;
445
           8'h7f:       wb_rf_dout <= #1 sw_pointer14;
446
`endif
447
 
448
`ifdef HAVE_CH15
449
           8'h80:       wb_rf_dout <= #1 ch15_csr;
450
           8'h81:       wb_rf_dout <= #1 ch15_txsz;
451
           8'h82:       wb_rf_dout <= #1 ch15_adr0;
452
           8'h83:       wb_rf_dout <= #1 ch15_am0;
453
           8'h84:       wb_rf_dout <= #1 ch15_adr1;
454
           8'h85:       wb_rf_dout <= #1 ch15_am1;
455
           8'h86:       wb_rf_dout <= #1 pointer15;
456
           8'h87:       wb_rf_dout <= #1 sw_pointer15;
457
`endif
458
 
459
`ifdef HAVE_CH16
460
           8'h88:       wb_rf_dout <= #1 ch16_csr;
461
           8'h89:       wb_rf_dout <= #1 ch16_txsz;
462
           8'h8a:       wb_rf_dout <= #1 ch16_adr0;
463
           8'h8b:       wb_rf_dout <= #1 ch16_am0;
464
           8'h8c:       wb_rf_dout <= #1 ch16_adr1;
465
           8'h8d:       wb_rf_dout <= #1 ch16_am1;
466
           8'h8e:       wb_rf_dout <= #1 pointer16;
467
           8'h8f:       wb_rf_dout <= #1 sw_pointer16;
468
`endif
469
 
470
`ifdef HAVE_CH17
471
           8'h90:       wb_rf_dout <= #1 ch17_csr;
472
           8'h91:       wb_rf_dout <= #1 ch17_txsz;
473
           8'h92:       wb_rf_dout <= #1 ch17_adr0;
474
           8'h93:       wb_rf_dout <= #1 ch17_am0;
475
           8'h94:       wb_rf_dout <= #1 ch17_adr1;
476
           8'h95:       wb_rf_dout <= #1 ch17_am1;
477
           8'h96:       wb_rf_dout <= #1 pointer17;
478
           8'h97:       wb_rf_dout <= #1 sw_pointer17;
479
`endif
480
 
481
`ifdef HAVE_CH18
482
           8'h98:       wb_rf_dout <= #1 ch18_csr;
483
           8'h99:       wb_rf_dout <= #1 ch18_txsz;
484
           8'h9a:       wb_rf_dout <= #1 ch18_adr0;
485
           8'h9b:       wb_rf_dout <= #1 ch18_am0;
486
           8'h9c:       wb_rf_dout <= #1 ch18_adr1;
487
           8'h9d:       wb_rf_dout <= #1 ch18_am1;
488
           8'h9e:       wb_rf_dout <= #1 pointer18;
489
           8'h9f:       wb_rf_dout <= #1 sw_pointer18;
490
`endif
491
 
492
`ifdef HAVE_CH19
493
           8'ha0:       wb_rf_dout <= #1 ch19_csr;
494
           8'ha1:       wb_rf_dout <= #1 ch19_txsz;
495
           8'ha2:       wb_rf_dout <= #1 ch19_adr0;
496
           8'ha3:       wb_rf_dout <= #1 ch19_am0;
497
           8'ha4:       wb_rf_dout <= #1 ch19_adr1;
498
           8'ha5:       wb_rf_dout <= #1 ch19_am1;
499
           8'ha6:       wb_rf_dout <= #1 pointer19;
500
           8'ha7:       wb_rf_dout <= #1 sw_pointer19;
501
`endif
502
 
503
`ifdef HAVE_CH20
504
           8'ha8:       wb_rf_dout <= #1 ch20_csr;
505
           8'ha9:       wb_rf_dout <= #1 ch20_txsz;
506
           8'haa:       wb_rf_dout <= #1 ch20_adr0;
507
           8'hab:       wb_rf_dout <= #1 ch20_am0;
508
           8'hac:       wb_rf_dout <= #1 ch20_adr1;
509
           8'had:       wb_rf_dout <= #1 ch20_am1;
510
           8'hae:       wb_rf_dout <= #1 pointer20;
511
           8'haf:       wb_rf_dout <= #1 sw_pointer20;
512
`endif
513
 
514
`ifdef HAVE_CH21
515
           8'hb0:       wb_rf_dout <= #1 ch21_csr;
516
           8'hb1:       wb_rf_dout <= #1 ch21_txsz;
517
           8'hb2:       wb_rf_dout <= #1 ch21_adr0;
518
           8'hb3:       wb_rf_dout <= #1 ch21_am0;
519
           8'hb4:       wb_rf_dout <= #1 ch21_adr1;
520
           8'hb5:       wb_rf_dout <= #1 ch21_am1;
521
           8'hb6:       wb_rf_dout <= #1 pointer21;
522
           8'hb7:       wb_rf_dout <= #1 sw_pointer21;
523
`endif
524
 
525
`ifdef HAVE_CH22
526
           8'hb8:       wb_rf_dout <= #1 ch22_csr;
527
           8'hb9:       wb_rf_dout <= #1 ch22_txsz;
528
           8'hba:       wb_rf_dout <= #1 ch22_adr0;
529
           8'hbb:       wb_rf_dout <= #1 ch22_am0;
530
           8'hbc:       wb_rf_dout <= #1 ch22_adr1;
531
           8'hbd:       wb_rf_dout <= #1 ch22_am1;
532
           8'hbe:       wb_rf_dout <= #1 pointer22;
533
           8'hbf:       wb_rf_dout <= #1 sw_pointer22;
534
`endif
535
 
536
`ifdef HAVE_CH23
537
           8'hc0:       wb_rf_dout <= #1 ch23_csr;
538
           8'hc1:       wb_rf_dout <= #1 ch23_txsz;
539
           8'hc2:       wb_rf_dout <= #1 ch23_adr0;
540
           8'hc3:       wb_rf_dout <= #1 ch23_am0;
541
           8'hc4:       wb_rf_dout <= #1 ch23_adr1;
542
           8'hc5:       wb_rf_dout <= #1 ch23_am1;
543
           8'hc6:       wb_rf_dout <= #1 pointer23;
544
           8'hc7:       wb_rf_dout <= #1 sw_pointer23;
545
`endif
546
 
547
`ifdef HAVE_CH24
548
           8'hc8:       wb_rf_dout <= #1 ch24_csr;
549
           8'hc9:       wb_rf_dout <= #1 ch24_txsz;
550
           8'hca:       wb_rf_dout <= #1 ch24_adr0;
551
           8'hcb:       wb_rf_dout <= #1 ch24_am0;
552
           8'hcc:       wb_rf_dout <= #1 ch24_adr1;
553
           8'hcd:       wb_rf_dout <= #1 ch24_am1;
554
           8'hce:       wb_rf_dout <= #1 pointer24;
555
           8'hcf:       wb_rf_dout <= #1 sw_pointer24;
556
`endif
557
 
558
`ifdef HAVE_CH25
559
           8'hd0:       wb_rf_dout <= #1 ch25_csr;
560
           8'hd1:       wb_rf_dout <= #1 ch25_txsz;
561
           8'hd2:       wb_rf_dout <= #1 ch25_adr0;
562
           8'hd3:       wb_rf_dout <= #1 ch25_am0;
563
           8'hd4:       wb_rf_dout <= #1 ch25_adr1;
564
           8'hd5:       wb_rf_dout <= #1 ch25_am1;
565
           8'hd6:       wb_rf_dout <= #1 pointer25;
566
           8'hd7:       wb_rf_dout <= #1 sw_pointer25;
567
`endif
568
 
569
`ifdef HAVE_CH26
570
           8'hd8:       wb_rf_dout <= #1 ch26_csr;
571
           8'hd9:       wb_rf_dout <= #1 ch26_txsz;
572
           8'hda:       wb_rf_dout <= #1 ch26_adr0;
573
           8'hdb:       wb_rf_dout <= #1 ch26_am0;
574
           8'hdc:       wb_rf_dout <= #1 ch26_adr1;
575
           8'hdd:       wb_rf_dout <= #1 ch26_am1;
576
           8'hde:       wb_rf_dout <= #1 pointer26;
577
           8'hdf:       wb_rf_dout <= #1 sw_pointer26;
578
`endif
579
 
580
`ifdef HAVE_CH27
581
           8'he0:       wb_rf_dout <= #1 ch27_csr;
582
           8'he1:       wb_rf_dout <= #1 ch27_txsz;
583
           8'he2:       wb_rf_dout <= #1 ch27_adr0;
584
           8'he3:       wb_rf_dout <= #1 ch27_am0;
585
           8'he4:       wb_rf_dout <= #1 ch27_adr1;
586
           8'he5:       wb_rf_dout <= #1 ch27_am1;
587
           8'he6:       wb_rf_dout <= #1 pointer27;
588
           8'he7:       wb_rf_dout <= #1 sw_pointer27;
589
`endif
590
 
591
`ifdef HAVE_CH28
592
           8'he8:       wb_rf_dout <= #1 ch28_csr;
593
           8'he9:       wb_rf_dout <= #1 ch28_txsz;
594
           8'hea:       wb_rf_dout <= #1 ch28_adr0;
595
           8'heb:       wb_rf_dout <= #1 ch28_am0;
596
           8'hec:       wb_rf_dout <= #1 ch28_adr1;
597
           8'hed:       wb_rf_dout <= #1 ch28_am1;
598
           8'hee:       wb_rf_dout <= #1 pointer28;
599
           8'hef:       wb_rf_dout <= #1 sw_pointer28;
600
`endif
601
 
602
`ifdef HAVE_CH29
603
           8'hf0:       wb_rf_dout <= #1 ch29_csr;
604
           8'hf1:       wb_rf_dout <= #1 ch29_txsz;
605
           8'hf2:       wb_rf_dout <= #1 ch29_adr0;
606
           8'hf3:       wb_rf_dout <= #1 ch29_am0;
607
           8'hf4:       wb_rf_dout <= #1 ch29_adr1;
608
           8'hf5:       wb_rf_dout <= #1 ch29_am1;
609
           8'hf6:       wb_rf_dout <= #1 pointer29;
610
           8'hf7:       wb_rf_dout <= #1 sw_pointer29;
611
`endif
612
 
613
`ifdef HAVE_CH30
614
           8'hf8:       wb_rf_dout <= #1 ch30_csr;
615
           8'hf9:       wb_rf_dout <= #1 ch30_txsz;
616
           8'hfa:       wb_rf_dout <= #1 ch30_adr0;
617
           8'hfb:       wb_rf_dout <= #1 ch30_am0;
618
           8'hfc:       wb_rf_dout <= #1 ch30_adr1;
619
           8'hfd:       wb_rf_dout <= #1 ch30_am1;
620
           8'hfe:       wb_rf_dout <= #1 pointer30;
621
           8'hff:       wb_rf_dout <= #1 sw_pointer30;
622
`endif
623
 
624
`ifdef HAVE_CH31
625
           8'h100:      wb_rf_dout <= #1 ch31_csr;
626
           8'h101:      wb_rf_dout <= #1 ch31_txsz;
627
           8'h102:      wb_rf_dout <= #1 ch31_adr0;
628
           8'h103:      wb_rf_dout <= #1 ch31_am0;
629
           8'h104:      wb_rf_dout <= #1 ch31_adr1;
630
           8'h105:      wb_rf_dout <= #1 ch31_am1;
631
           8'h106:      wb_rf_dout <= #1 pointer31;
632
           8'h107:      wb_rf_dout <= #1 sw_pointer31;
633
`endif
634
        endcase
635
 
636
 
637
////////////////////////////////////////////////////////////////////
638
//
639
// WISHBONE Register Write Logic
640
// And DMA Engine register Update Logic
641
//
642
 
643
// Global Registers
644
assign csr_we           = wb_rf_we & (wb_rf_adr == 8'h0);
645
assign int_maska_we     = wb_rf_we & (wb_rf_adr == 8'h1);
646
assign int_maskb_we     = wb_rf_we & (wb_rf_adr == 8'h2);
647
 
648
// ---------------------------------------------------
649
 
650
always @(posedge clk or negedge rst)
651
        if(!rst)                csr_r <= #1 0;
652
        else
653
        if(csr_we)              csr_r <= #1 wb_rf_din[7:0];
654
 
655
// ---------------------------------------------------
656
// INT_MASK
657
always @(posedge clk or negedge rst)
658
        if(!rst)                int_maska_r <= #1 0;
659
        else
660
        if(int_maska_we)        int_maska_r <= #1 wb_rf_din[30:0];
661
 
662
always @(posedge clk or negedge rst)
663
        if(!rst)                int_maskb_r <= #1 0;
664
        else
665
        if(int_maskb_we)        int_maskb_r <= #1 wb_rf_din[30:0];
666
 
667
////////////////////////////////////////////////////////////////////
668
//
669
// Interrupts
670
//
671
 
672
assign int_srca = {1'b0, (int_maska_r & ch_int) };
673
assign int_srcb = {1'b0, (int_maskb_r & ch_int) };
674
 
675
// Interrupt Outputs
676
always @(posedge clk)
677
        inta_o <= #1 |int_srca;
678
 
679
always @(posedge clk)
680
        intb_o <= #1 |int_srcb;
681
 
682
////////////////////////////////////////////////////////////////////
683
//
684
// Channel Register File
685
//
686
 
687
wb_dma_ch_rf #(0, `HAVE_ARS0, `HAVE_ED0, `HAVE_CBUF0) u0(
688
                .clk(           clk             ),
689
                .rst(           rst             ),
690
                .pointer(       pointer0        ),
691
                .pointer_s(     pointer0_s      ),
692
                .ch_csr(        ch0_csr         ),
693
                .ch_txsz(       ch0_txsz        ),
694
                .ch_adr0(       ch0_adr0        ),
695
                .ch_adr1(       ch0_adr1        ),
696
                .ch_am0(        ch0_am0         ),
697
                .ch_am1(        ch0_am1         ),
698
                .sw_pointer(    sw_pointer0     ),
699
                .ch_stop(       ch_stop[0]       ),
700
                .ch_dis(        ch_dis[0]        ),
701
                .int(           ch_int[0]        ),
702
                .wb_rf_din(     wb_rf_din       ),
703
                .wb_rf_adr(     wb_rf_adr       ),
704
                .wb_rf_we(      wb_rf_we        ),
705
                .wb_rf_re(      wb_rf_re        ),
706
                .ch_sel(        ch_sel          ),
707
                .ndnr(          ndnr[0]          ),
708
                .dma_busy(      dma_busy        ),
709
                .dma_err(       dma_err         ),
710
                .dma_done(      dma_done        ),
711
                .dma_done_all(  dma_done_all    ),
712
                .de_csr(        de_csr          ),
713
                .de_txsz(       de_txsz         ),
714
                .de_adr0(       de_adr0         ),
715
                .de_adr1(       de_adr1         ),
716
                .de_csr_we(     de_csr_we       ),
717
                .de_txsz_we(    de_txsz_we      ),
718
                .de_adr0_we(    de_adr0_we      ),
719
                .de_adr1_we(    de_adr1_we      ),
720
                .de_fetch_descr(de_fetch_descr  ),
721
                .dma_rest(      dma_rest[0]      ),
722
                .ptr_set(       ptr_set         )
723
                );
724
 
725
`ifdef HAVE_CH1
726
wb_dma_ch_rf #(1, `HAVE_ARS1, `HAVE_ED1, `HAVE_CBUF1) u1(
727
                .clk(           clk             ),
728
                .rst(           rst             ),
729
                .pointer(       pointer1        ),
730
                .pointer_s(     pointer1_s      ),
731
                .ch_csr(        ch1_csr         ),
732
                .ch_txsz(       ch1_txsz        ),
733
                .ch_adr0(       ch1_adr0        ),
734
                .ch_adr1(       ch1_adr1        ),
735
                .ch_am0(        ch1_am0         ),
736
                .ch_am1(        ch1_am1         ),
737
                .sw_pointer(    sw_pointer1     ),
738
                .ch_stop(       ch_stop[1]      ),
739
                .ch_dis(        ch_dis[1]       ),
740
                .int(           ch_int[1]       ),
741
                .wb_rf_din(     wb_rf_din       ),
742
                .wb_rf_adr(     wb_rf_adr       ),
743
                .wb_rf_we(      wb_rf_we        ),
744
                .wb_rf_re(      wb_rf_re        ),
745
                .ch_sel(        ch_sel          ),
746
                .ndnr(          ndnr[1]         ),
747
                .dma_busy(      dma_busy        ),
748
                .dma_err(       dma_err         ),
749
                .dma_done(      dma_done        ),
750
                .dma_done_all(  dma_done_all    ),
751
                .de_csr(        de_csr          ),
752
                .de_txsz(       de_txsz         ),
753
                .de_adr0(       de_adr0         ),
754
                .de_adr1(       de_adr1         ),
755
                .de_csr_we(     de_csr_we       ),
756
                .de_txsz_we(    de_txsz_we      ),
757
                .de_adr0_we(    de_adr0_we      ),
758
                .de_adr1_we(    de_adr1_we      ),
759
                .de_fetch_descr(de_fetch_descr  ),
760
                .dma_rest(      dma_rest[1]     ),
761
                .ptr_set(       ptr_set         )
762
                );
763
`else
764
wb_dma_ch_rf_dummy #(1, `HAVE_ARS1, `HAVE_ED1, `HAVE_CBUF1) u1(
765
                .clk(           clk             ),
766
                .rst(           rst             ),
767
                .pointer(       pointer1        ),
768
                .pointer_s(     pointer1_s      ),
769
                .ch_csr(        ch1_csr         ),
770
                .ch_txsz(       ch1_txsz        ),
771
                .ch_adr0(       ch1_adr0        ),
772
                .ch_adr1(       ch1_adr1        ),
773
                .ch_am0(        ch1_am0         ),
774
                .ch_am1(        ch1_am1         ),
775
                .sw_pointer(    sw_pointer1     ),
776
                .ch_stop(       ch_stop[1]      ),
777
                .ch_dis(        ch_dis[1]       ),
778
                .int(           ch_int[1]       ),
779
                .wb_rf_din(     wb_rf_din       ),
780
                .wb_rf_adr(     wb_rf_adr       ),
781
                .wb_rf_we(      wb_rf_we        ),
782
                .wb_rf_re(      wb_rf_re        ),
783
                .ch_sel(        ch_sel          ),
784
                .ndnr(          ndnr[1]         ),
785
                .dma_busy(      dma_busy        ),
786
                .dma_err(       dma_err         ),
787
                .dma_done(      dma_done        ),
788
                .dma_done_all(  dma_done_all    ),
789
                .de_csr(        de_csr          ),
790
                .de_txsz(       de_txsz         ),
791
                .de_adr0(       de_adr0         ),
792
                .de_adr1(       de_adr1         ),
793
                .de_csr_we(     de_csr_we       ),
794
                .de_txsz_we(    de_txsz_we      ),
795
                .de_adr0_we(    de_adr0_we      ),
796
                .de_adr1_we(    de_adr1_we      ),
797
                .de_fetch_descr(de_fetch_descr  ),
798
                .dma_rest(      dma_rest[1]     ),
799
                .ptr_set(       ptr_set         )
800
                );
801
`endif
802
 
803
 
804
`ifdef HAVE_CH2
805
wb_dma_ch_rf #(2, `HAVE_ARS2, `HAVE_ED2, `HAVE_CBUF2) u2(
806
                .clk(           clk             ),
807
                .rst(           rst             ),
808
                .pointer(       pointer2        ),
809
                .pointer_s(     pointer2_s      ),
810
                .ch_csr(        ch2_csr         ),
811
                .ch_txsz(       ch2_txsz        ),
812
                .ch_adr0(       ch2_adr0        ),
813
                .ch_adr1(       ch2_adr1        ),
814
                .ch_am0(        ch2_am0         ),
815
                .ch_am1(        ch2_am1         ),
816
                .sw_pointer(    sw_pointer2     ),
817
                .ch_stop(       ch_stop[2]      ),
818
                .ch_dis(        ch_dis[2]       ),
819
                .int(           ch_int[2]       ),
820
                .wb_rf_din(     wb_rf_din       ),
821
                .wb_rf_adr(     wb_rf_adr       ),
822
                .wb_rf_we(      wb_rf_we        ),
823
                .wb_rf_re(      wb_rf_re        ),
824
                .ch_sel(        ch_sel          ),
825
                .ndnr(          ndnr[2]         ),
826
                .dma_busy(      dma_busy        ),
827
                .dma_err(       dma_err         ),
828
                .dma_done(      dma_done        ),
829
                .dma_done_all(  dma_done_all    ),
830
                .de_csr(        de_csr          ),
831
                .de_txsz(       de_txsz         ),
832
                .de_adr0(       de_adr0         ),
833
                .de_adr1(       de_adr1         ),
834
                .de_csr_we(     de_csr_we       ),
835
                .de_txsz_we(    de_txsz_we      ),
836
                .de_adr0_we(    de_adr0_we      ),
837
                .de_adr1_we(    de_adr1_we      ),
838
                .de_fetch_descr(de_fetch_descr  ),
839
                .dma_rest(      dma_rest[2]     ),
840
                .ptr_set(       ptr_set         )
841
                );
842
`else
843
wb_dma_ch_rf_dummy #(2, `HAVE_ARS2, `HAVE_ED2, `HAVE_CBUF2) u2(
844
                .clk(           clk             ),
845
                .rst(           rst             ),
846
                .pointer(       pointer2        ),
847
                .pointer_s(     pointer2_s      ),
848
                .ch_csr(        ch2_csr         ),
849
                .ch_txsz(       ch2_txsz        ),
850
                .ch_adr0(       ch2_adr0        ),
851
                .ch_adr1(       ch2_adr1        ),
852
                .ch_am0(        ch2_am0         ),
853
                .ch_am1(        ch2_am1         ),
854
                .sw_pointer(    sw_pointer2     ),
855
                .ch_stop(       ch_stop[2]      ),
856
                .ch_dis(        ch_dis[2]       ),
857
                .int(           ch_int[2]       ),
858
                .wb_rf_din(     wb_rf_din       ),
859
                .wb_rf_adr(     wb_rf_adr       ),
860
                .wb_rf_we(      wb_rf_we        ),
861
                .wb_rf_re(      wb_rf_re        ),
862
                .ch_sel(        ch_sel          ),
863
                .ndnr(          ndnr[2]         ),
864
                .dma_busy(      dma_busy        ),
865
                .dma_err(       dma_err         ),
866
                .dma_done(      dma_done        ),
867
                .dma_done_all(  dma_done_all    ),
868
                .de_csr(        de_csr          ),
869
                .de_txsz(       de_txsz         ),
870
                .de_adr0(       de_adr0         ),
871
                .de_adr1(       de_adr1         ),
872
                .de_csr_we(     de_csr_we       ),
873
                .de_txsz_we(    de_txsz_we      ),
874
                .de_adr0_we(    de_adr0_we      ),
875
                .de_adr1_we(    de_adr1_we      ),
876
                .de_fetch_descr(de_fetch_descr  ),
877
                .dma_rest(      dma_rest[2]     ),
878
                .ptr_set(       ptr_set         )
879
                );
880
`endif
881
 
882
 
883
`ifdef HAVE_CH3
884
wb_dma_ch_rf #(3, `HAVE_ARS3, `HAVE_ED3, `HAVE_CBUF3) u3(
885
                .clk(           clk             ),
886
                .rst(           rst             ),
887
                .pointer(       pointer3        ),
888
                .pointer_s(     pointer3_s      ),
889
                .ch_csr(        ch3_csr         ),
890
                .ch_txsz(       ch3_txsz        ),
891
                .ch_adr0(       ch3_adr0        ),
892
                .ch_adr1(       ch3_adr1        ),
893
                .ch_am0(        ch3_am0         ),
894
                .ch_am1(        ch3_am1         ),
895
                .sw_pointer(    sw_pointer3     ),
896
                .ch_stop(       ch_stop[3]      ),
897
                .ch_dis(        ch_dis[3]       ),
898
                .int(           ch_int[3]       ),
899
                .wb_rf_din(     wb_rf_din       ),
900
                .wb_rf_adr(     wb_rf_adr       ),
901
                .wb_rf_we(      wb_rf_we        ),
902
                .wb_rf_re(      wb_rf_re        ),
903
                .ch_sel(        ch_sel          ),
904
                .ndnr(          ndnr[3]         ),
905
                .dma_busy(      dma_busy        ),
906
                .dma_err(       dma_err         ),
907
                .dma_done(      dma_done        ),
908
                .dma_done_all(  dma_done_all    ),
909
                .de_csr(        de_csr          ),
910
                .de_txsz(       de_txsz         ),
911
                .de_adr0(       de_adr0         ),
912
                .de_adr1(       de_adr1         ),
913
                .de_csr_we(     de_csr_we       ),
914
                .de_txsz_we(    de_txsz_we      ),
915
                .de_adr0_we(    de_adr0_we      ),
916
                .de_adr1_we(    de_adr1_we      ),
917
                .de_fetch_descr(de_fetch_descr  ),
918
                .dma_rest(      dma_rest[3]     ),
919
                .ptr_set(       ptr_set         )
920
                );
921
`else
922
wb_dma_ch_rf_dummy #(3, `HAVE_ARS3, `HAVE_ED3, `HAVE_CBUF3) u3(
923
                .clk(           clk             ),
924
                .rst(           rst             ),
925
                .pointer(       pointer3        ),
926
                .pointer_s(     pointer3_s      ),
927
                .ch_csr(        ch3_csr         ),
928
                .ch_txsz(       ch3_txsz        ),
929
                .ch_adr0(       ch3_adr0        ),
930
                .ch_adr1(       ch3_adr1        ),
931
                .ch_am0(        ch3_am0         ),
932
                .ch_am1(        ch3_am1         ),
933
                .sw_pointer(    sw_pointer3     ),
934
                .ch_stop(       ch_stop[3]      ),
935
                .ch_dis(        ch_dis[3]       ),
936
                .int(           ch_int[3]       ),
937
                .wb_rf_din(     wb_rf_din       ),
938
                .wb_rf_adr(     wb_rf_adr       ),
939
                .wb_rf_we(      wb_rf_we        ),
940
                .wb_rf_re(      wb_rf_re        ),
941
                .ch_sel(        ch_sel          ),
942
                .ndnr(          ndnr[3]         ),
943
                .dma_busy(      dma_busy        ),
944
                .dma_err(       dma_err         ),
945
                .dma_done(      dma_done        ),
946
                .dma_done_all(  dma_done_all    ),
947
                .de_csr(        de_csr          ),
948
                .de_txsz(       de_txsz         ),
949
                .de_adr0(       de_adr0         ),
950
                .de_adr1(       de_adr1         ),
951
                .de_csr_we(     de_csr_we       ),
952
                .de_txsz_we(    de_txsz_we      ),
953
                .de_adr0_we(    de_adr0_we      ),
954
                .de_adr1_we(    de_adr1_we      ),
955
                .de_fetch_descr(de_fetch_descr  ),
956
                .dma_rest(      dma_rest[3]     ),
957
                .ptr_set(       ptr_set         )
958
                );
959
`endif
960
 
961
 
962
`ifdef HAVE_CH4
963
wb_dma_ch_rf #(4, `HAVE_ARS4, `HAVE_ED4, `HAVE_CBUF4) u4(
964
                .clk(           clk             ),
965
                .rst(           rst             ),
966
                .pointer(       pointer4        ),
967
                .pointer_s(     pointer4_s      ),
968
                .ch_csr(        ch4_csr         ),
969
                .ch_txsz(       ch4_txsz        ),
970
                .ch_adr0(       ch4_adr0        ),
971
                .ch_adr1(       ch4_adr1        ),
972
                .ch_am0(        ch4_am0         ),
973
                .ch_am1(        ch4_am1         ),
974
                .sw_pointer(    sw_pointer4     ),
975
                .ch_stop(       ch_stop[4]      ),
976
                .ch_dis(        ch_dis[4]       ),
977
                .int(           ch_int[4]       ),
978
                .wb_rf_din(     wb_rf_din       ),
979
                .wb_rf_adr(     wb_rf_adr       ),
980
                .wb_rf_we(      wb_rf_we        ),
981
                .wb_rf_re(      wb_rf_re        ),
982
                .ch_sel(        ch_sel          ),
983
                .ndnr(          ndnr[4]         ),
984
                .dma_busy(      dma_busy        ),
985
                .dma_err(       dma_err         ),
986
                .dma_done(      dma_done        ),
987
                .dma_done_all(  dma_done_all    ),
988
                .de_csr(        de_csr          ),
989
                .de_txsz(       de_txsz         ),
990
                .de_adr0(       de_adr0         ),
991
                .de_adr1(       de_adr1         ),
992
                .de_csr_we(     de_csr_we       ),
993
                .de_txsz_we(    de_txsz_we      ),
994
                .de_adr0_we(    de_adr0_we      ),
995
                .de_adr1_we(    de_adr1_we      ),
996
                .de_fetch_descr(de_fetch_descr  ),
997
                .dma_rest(      dma_rest[4]     ),
998
                .ptr_set(       ptr_set         )
999
                );
1000
`else
1001
wb_dma_ch_rf_dummy #(4, `HAVE_ARS4, `HAVE_ED4, `HAVE_CBUF4) u4(
1002
                .clk(           clk             ),
1003
                .rst(           rst             ),
1004
                .pointer(       pointer4        ),
1005
                .pointer_s(     pointer4_s      ),
1006
                .ch_csr(        ch4_csr         ),
1007
                .ch_txsz(       ch4_txsz        ),
1008
                .ch_adr0(       ch4_adr0        ),
1009
                .ch_adr1(       ch4_adr1        ),
1010
                .ch_am0(        ch4_am0         ),
1011
                .ch_am1(        ch4_am1         ),
1012
                .sw_pointer(    sw_pointer4     ),
1013
                .ch_stop(       ch_stop[4]      ),
1014
                .ch_dis(        ch_dis[4]       ),
1015
                .int(           ch_int[4]       ),
1016
                .wb_rf_din(     wb_rf_din       ),
1017
                .wb_rf_adr(     wb_rf_adr       ),
1018
                .wb_rf_we(      wb_rf_we        ),
1019
                .wb_rf_re(      wb_rf_re        ),
1020
                .ch_sel(        ch_sel          ),
1021
                .ndnr(          ndnr[4]         ),
1022
                .dma_busy(      dma_busy        ),
1023
                .dma_err(       dma_err         ),
1024
                .dma_done(      dma_done        ),
1025
                .dma_done_all(  dma_done_all    ),
1026
                .de_csr(        de_csr          ),
1027
                .de_txsz(       de_txsz         ),
1028
                .de_adr0(       de_adr0         ),
1029
                .de_adr1(       de_adr1         ),
1030
                .de_csr_we(     de_csr_we       ),
1031
                .de_txsz_we(    de_txsz_we      ),
1032
                .de_adr0_we(    de_adr0_we      ),
1033
                .de_adr1_we(    de_adr1_we      ),
1034
                .de_fetch_descr(de_fetch_descr  ),
1035
                .dma_rest(      dma_rest[4]     ),
1036
                .ptr_set(       ptr_set         )
1037
                );
1038
`endif
1039
 
1040
 
1041
`ifdef HAVE_CH5
1042
wb_dma_ch_rf #(5, `HAVE_ARS5, `HAVE_ED5, `HAVE_CBUF5) u5(
1043
                .clk(           clk             ),
1044
                .rst(           rst             ),
1045
                .pointer(       pointer5        ),
1046
                .pointer_s(     pointer5_s      ),
1047
                .ch_csr(        ch5_csr         ),
1048
                .ch_txsz(       ch5_txsz        ),
1049
                .ch_adr0(       ch5_adr0        ),
1050
                .ch_adr1(       ch5_adr1        ),
1051
                .ch_am0(        ch5_am0         ),
1052
                .ch_am1(        ch5_am1         ),
1053
                .sw_pointer(    sw_pointer5     ),
1054
                .ch_stop(       ch_stop[5]      ),
1055
                .ch_dis(        ch_dis[5]       ),
1056
                .int(           ch_int[5]       ),
1057
                .wb_rf_din(     wb_rf_din       ),
1058
                .wb_rf_adr(     wb_rf_adr       ),
1059
                .wb_rf_we(      wb_rf_we        ),
1060
                .wb_rf_re(      wb_rf_re        ),
1061
                .ch_sel(        ch_sel          ),
1062
                .ndnr(          ndnr[5]         ),
1063
                .dma_busy(      dma_busy        ),
1064
                .dma_err(       dma_err         ),
1065
                .dma_done(      dma_done        ),
1066
                .dma_done_all(  dma_done_all    ),
1067
                .de_csr(        de_csr          ),
1068
                .de_txsz(       de_txsz         ),
1069
                .de_adr0(       de_adr0         ),
1070
                .de_adr1(       de_adr1         ),
1071
                .de_csr_we(     de_csr_we       ),
1072
                .de_txsz_we(    de_txsz_we      ),
1073
                .de_adr0_we(    de_adr0_we      ),
1074
                .de_adr1_we(    de_adr1_we      ),
1075
                .de_fetch_descr(de_fetch_descr  ),
1076
                .dma_rest(      dma_rest[5]     ),
1077
                .ptr_set(       ptr_set         )
1078
                );
1079
`else
1080
wb_dma_ch_rf_dummy #(5, `HAVE_ARS5, `HAVE_ED5, `HAVE_CBUF5) u5(
1081
                .clk(           clk             ),
1082
                .rst(           rst             ),
1083
                .pointer(       pointer5        ),
1084
                .pointer_s(     pointer5_s      ),
1085
                .ch_csr(        ch5_csr         ),
1086
                .ch_txsz(       ch5_txsz        ),
1087
                .ch_adr0(       ch5_adr0        ),
1088
                .ch_adr1(       ch5_adr1        ),
1089
                .ch_am0(        ch5_am0         ),
1090
                .ch_am1(        ch5_am1         ),
1091
                .sw_pointer(    sw_pointer5     ),
1092
                .ch_stop(       ch_stop[5]      ),
1093
                .ch_dis(        ch_dis[5]       ),
1094
                .int(           ch_int[5]       ),
1095
                .wb_rf_din(     wb_rf_din       ),
1096
                .wb_rf_adr(     wb_rf_adr       ),
1097
                .wb_rf_we(      wb_rf_we        ),
1098
                .wb_rf_re(      wb_rf_re        ),
1099
                .ch_sel(        ch_sel          ),
1100
                .ndnr(          ndnr[5]         ),
1101
                .dma_busy(      dma_busy        ),
1102
                .dma_err(       dma_err         ),
1103
                .dma_done(      dma_done        ),
1104
                .dma_done_all(  dma_done_all    ),
1105
                .de_csr(        de_csr          ),
1106
                .de_txsz(       de_txsz         ),
1107
                .de_adr0(       de_adr0         ),
1108
                .de_adr1(       de_adr1         ),
1109
                .de_csr_we(     de_csr_we       ),
1110
                .de_txsz_we(    de_txsz_we      ),
1111
                .de_adr0_we(    de_adr0_we      ),
1112
                .de_adr1_we(    de_adr1_we      ),
1113
                .de_fetch_descr(de_fetch_descr  ),
1114
                .dma_rest(      dma_rest[5]     ),
1115
                .ptr_set(       ptr_set         )
1116
                );
1117
`endif
1118
 
1119
 
1120
`ifdef HAVE_CH6
1121
wb_dma_ch_rf #(6, `HAVE_ARS6, `HAVE_ED6, `HAVE_CBUF6) u6(
1122
                .clk(           clk             ),
1123
                .rst(           rst             ),
1124
                .pointer(       pointer6        ),
1125
                .pointer_s(     pointer6_s      ),
1126
                .ch_csr(        ch6_csr         ),
1127
                .ch_txsz(       ch6_txsz        ),
1128
                .ch_adr0(       ch6_adr0        ),
1129
                .ch_adr1(       ch6_adr1        ),
1130
                .ch_am0(        ch6_am0         ),
1131
                .ch_am1(        ch6_am1         ),
1132
                .sw_pointer(    sw_pointer6     ),
1133
                .ch_stop(       ch_stop[6]      ),
1134
                .ch_dis(        ch_dis[6]       ),
1135
                .int(           ch_int[6]       ),
1136
                .wb_rf_din(     wb_rf_din       ),
1137
                .wb_rf_adr(     wb_rf_adr       ),
1138
                .wb_rf_we(      wb_rf_we        ),
1139
                .wb_rf_re(      wb_rf_re        ),
1140
                .ch_sel(        ch_sel          ),
1141
                .ndnr(          ndnr[6]         ),
1142
                .dma_busy(      dma_busy        ),
1143
                .dma_err(       dma_err         ),
1144
                .dma_done(      dma_done        ),
1145
                .dma_done_all(  dma_done_all    ),
1146
                .de_csr(        de_csr          ),
1147
                .de_txsz(       de_txsz         ),
1148
                .de_adr0(       de_adr0         ),
1149
                .de_adr1(       de_adr1         ),
1150
                .de_csr_we(     de_csr_we       ),
1151
                .de_txsz_we(    de_txsz_we      ),
1152
                .de_adr0_we(    de_adr0_we      ),
1153
                .de_adr1_we(    de_adr1_we      ),
1154
                .de_fetch_descr(de_fetch_descr  ),
1155
                .dma_rest(      dma_rest[6]     ),
1156
                .ptr_set(       ptr_set         )
1157
                );
1158
`else
1159
wb_dma_ch_rf_dummy #(6, `HAVE_ARS6, `HAVE_ED6, `HAVE_CBUF6) u6(
1160
                .clk(           clk             ),
1161
                .rst(           rst             ),
1162
                .pointer(       pointer6        ),
1163
                .pointer_s(     pointer6_s      ),
1164
                .ch_csr(        ch6_csr         ),
1165
                .ch_txsz(       ch6_txsz        ),
1166
                .ch_adr0(       ch6_adr0        ),
1167
                .ch_adr1(       ch6_adr1        ),
1168
                .ch_am0(        ch6_am0         ),
1169
                .ch_am1(        ch6_am1         ),
1170
                .sw_pointer(    sw_pointer6     ),
1171
                .ch_stop(       ch_stop[6]      ),
1172
                .ch_dis(        ch_dis[6]       ),
1173
                .int(           ch_int[6]       ),
1174
                .wb_rf_din(     wb_rf_din       ),
1175
                .wb_rf_adr(     wb_rf_adr       ),
1176
                .wb_rf_we(      wb_rf_we        ),
1177
                .wb_rf_re(      wb_rf_re        ),
1178
                .ch_sel(        ch_sel          ),
1179
                .ndnr(          ndnr[6]         ),
1180
                .dma_busy(      dma_busy        ),
1181
                .dma_err(       dma_err         ),
1182
                .dma_done(      dma_done        ),
1183
                .dma_done_all(  dma_done_all    ),
1184
                .de_csr(        de_csr          ),
1185
                .de_txsz(       de_txsz         ),
1186
                .de_adr0(       de_adr0         ),
1187
                .de_adr1(       de_adr1         ),
1188
                .de_csr_we(     de_csr_we       ),
1189
                .de_txsz_we(    de_txsz_we      ),
1190
                .de_adr0_we(    de_adr0_we      ),
1191
                .de_adr1_we(    de_adr1_we      ),
1192
                .de_fetch_descr(de_fetch_descr  ),
1193
                .dma_rest(      dma_rest[6]     ),
1194
                .ptr_set(       ptr_set         )
1195
                );
1196
`endif
1197
 
1198
 
1199
`ifdef HAVE_CH7
1200
wb_dma_ch_rf #(7, `HAVE_ARS7, `HAVE_ED7, `HAVE_CBUF7) u7(
1201
                .clk(           clk             ),
1202
                .rst(           rst             ),
1203
                .pointer(       pointer7        ),
1204
                .pointer_s(     pointer7_s      ),
1205
                .ch_csr(        ch7_csr         ),
1206
                .ch_txsz(       ch7_txsz        ),
1207
                .ch_adr0(       ch7_adr0        ),
1208
                .ch_adr1(       ch7_adr1        ),
1209
                .ch_am0(        ch7_am0         ),
1210
                .ch_am1(        ch7_am1         ),
1211
                .sw_pointer(    sw_pointer7     ),
1212
                .ch_stop(       ch_stop[7]      ),
1213
                .ch_dis(        ch_dis[7]       ),
1214
                .int(           ch_int[7]       ),
1215
                .wb_rf_din(     wb_rf_din       ),
1216
                .wb_rf_adr(     wb_rf_adr       ),
1217
                .wb_rf_we(      wb_rf_we        ),
1218
                .wb_rf_re(      wb_rf_re        ),
1219
                .ch_sel(        ch_sel          ),
1220
                .ndnr(          ndnr[7]         ),
1221
                .dma_busy(      dma_busy        ),
1222
                .dma_err(       dma_err         ),
1223
                .dma_done(      dma_done        ),
1224
                .dma_done_all(  dma_done_all    ),
1225
                .de_csr(        de_csr          ),
1226
                .de_txsz(       de_txsz         ),
1227
                .de_adr0(       de_adr0         ),
1228
                .de_adr1(       de_adr1         ),
1229
                .de_csr_we(     de_csr_we       ),
1230
                .de_txsz_we(    de_txsz_we      ),
1231
                .de_adr0_we(    de_adr0_we      ),
1232
                .de_adr1_we(    de_adr1_we      ),
1233
                .de_fetch_descr(de_fetch_descr  ),
1234
                .dma_rest(      dma_rest[7]     ),
1235
                .ptr_set(       ptr_set         )
1236
                );
1237
`else
1238
wb_dma_ch_rf_dummy #(7, `HAVE_ARS7, `HAVE_ED7, `HAVE_CBUF7) u7(
1239
                .clk(           clk             ),
1240
                .rst(           rst             ),
1241
                .pointer(       pointer7        ),
1242
                .pointer_s(     pointer7_s      ),
1243
                .ch_csr(        ch7_csr         ),
1244
                .ch_txsz(       ch7_txsz        ),
1245
                .ch_adr0(       ch7_adr0        ),
1246
                .ch_adr1(       ch7_adr1        ),
1247
                .ch_am0(        ch7_am0         ),
1248
                .ch_am1(        ch7_am1         ),
1249
                .sw_pointer(    sw_pointer7     ),
1250
                .ch_stop(       ch_stop[7]      ),
1251
                .ch_dis(        ch_dis[7]       ),
1252
                .int(           ch_int[7]       ),
1253
                .wb_rf_din(     wb_rf_din       ),
1254
                .wb_rf_adr(     wb_rf_adr       ),
1255
                .wb_rf_we(      wb_rf_we        ),
1256
                .wb_rf_re(      wb_rf_re        ),
1257
                .ch_sel(        ch_sel          ),
1258
                .ndnr(          ndnr[7]         ),
1259
                .dma_busy(      dma_busy        ),
1260
                .dma_err(       dma_err         ),
1261
                .dma_done(      dma_done        ),
1262
                .dma_done_all(  dma_done_all    ),
1263
                .de_csr(        de_csr          ),
1264
                .de_txsz(       de_txsz         ),
1265
                .de_adr0(       de_adr0         ),
1266
                .de_adr1(       de_adr1         ),
1267
                .de_csr_we(     de_csr_we       ),
1268
                .de_txsz_we(    de_txsz_we      ),
1269
                .de_adr0_we(    de_adr0_we      ),
1270
                .de_adr1_we(    de_adr1_we      ),
1271
                .de_fetch_descr(de_fetch_descr  ),
1272
                .dma_rest(      dma_rest[7]     ),
1273
                .ptr_set(       ptr_set         )
1274
                );
1275
`endif
1276
 
1277
 
1278
`ifdef HAVE_CH8
1279
wb_dma_ch_rf #(8, `HAVE_ARS8, `HAVE_ED8, `HAVE_CBUF8) u8(
1280
                .clk(           clk             ),
1281
                .rst(           rst             ),
1282
                .pointer(       pointer8        ),
1283
                .pointer_s(     pointer8_s      ),
1284
                .ch_csr(        ch8_csr         ),
1285
                .ch_txsz(       ch8_txsz        ),
1286
                .ch_adr0(       ch8_adr0        ),
1287
                .ch_adr1(       ch8_adr1        ),
1288
                .ch_am0(        ch8_am0         ),
1289
                .ch_am1(        ch8_am1         ),
1290
                .sw_pointer(    sw_pointer8     ),
1291
                .ch_stop(       ch_stop[8]      ),
1292
                .ch_dis(        ch_dis[8]       ),
1293
                .int(           ch_int[8]       ),
1294
                .wb_rf_din(     wb_rf_din       ),
1295
                .wb_rf_adr(     wb_rf_adr       ),
1296
                .wb_rf_we(      wb_rf_we        ),
1297
                .wb_rf_re(      wb_rf_re        ),
1298
                .ch_sel(        ch_sel          ),
1299
                .ndnr(          ndnr[8]         ),
1300
                .dma_busy(      dma_busy        ),
1301
                .dma_err(       dma_err         ),
1302
                .dma_done(      dma_done        ),
1303
                .dma_done_all(  dma_done_all    ),
1304
                .de_csr(        de_csr          ),
1305
                .de_txsz(       de_txsz         ),
1306
                .de_adr0(       de_adr0         ),
1307
                .de_adr1(       de_adr1         ),
1308
                .de_csr_we(     de_csr_we       ),
1309
                .de_txsz_we(    de_txsz_we      ),
1310
                .de_adr0_we(    de_adr0_we      ),
1311
                .de_adr1_we(    de_adr1_we      ),
1312
                .de_fetch_descr(de_fetch_descr  ),
1313
                .dma_rest(      dma_rest[8]     ),
1314
                .ptr_set(       ptr_set         )
1315
                );
1316
`else
1317
wb_dma_ch_rf_dummy #(8, `HAVE_ARS8, `HAVE_ED8, `HAVE_CBUF8) u8(
1318
                .clk(           clk             ),
1319
                .rst(           rst             ),
1320
                .pointer(       pointer8        ),
1321
                .pointer_s(     pointer8_s      ),
1322
                .ch_csr(        ch8_csr         ),
1323
                .ch_txsz(       ch8_txsz        ),
1324
                .ch_adr0(       ch8_adr0        ),
1325
                .ch_adr1(       ch8_adr1        ),
1326
                .ch_am0(        ch8_am0         ),
1327
                .ch_am1(        ch8_am1         ),
1328
                .sw_pointer(    sw_pointer8     ),
1329
                .ch_stop(       ch_stop[8]      ),
1330
                .ch_dis(        ch_dis[8]       ),
1331
                .int(           ch_int[8]       ),
1332
                .wb_rf_din(     wb_rf_din       ),
1333
                .wb_rf_adr(     wb_rf_adr       ),
1334
                .wb_rf_we(      wb_rf_we        ),
1335
                .wb_rf_re(      wb_rf_re        ),
1336
                .ch_sel(        ch_sel          ),
1337
                .ndnr(          ndnr[8]         ),
1338
                .dma_busy(      dma_busy        ),
1339
                .dma_err(       dma_err         ),
1340
                .dma_done(      dma_done        ),
1341
                .dma_done_all(  dma_done_all    ),
1342
                .de_csr(        de_csr          ),
1343
                .de_txsz(       de_txsz         ),
1344
                .de_adr0(       de_adr0         ),
1345
                .de_adr1(       de_adr1         ),
1346
                .de_csr_we(     de_csr_we       ),
1347
                .de_txsz_we(    de_txsz_we      ),
1348
                .de_adr0_we(    de_adr0_we      ),
1349
                .de_adr1_we(    de_adr1_we      ),
1350
                .de_fetch_descr(de_fetch_descr  ),
1351
                .dma_rest(      dma_rest[8]     ),
1352
                .ptr_set(       ptr_set         )
1353
                );
1354
`endif
1355
 
1356
 
1357
`ifdef HAVE_CH9
1358
wb_dma_ch_rf #(9, `HAVE_ARS9, `HAVE_ED9, `HAVE_CBUF9) u9(
1359
                .clk(           clk             ),
1360
                .rst(           rst             ),
1361
                .pointer(       pointer9        ),
1362
                .pointer_s(     pointer9_s      ),
1363
                .ch_csr(        ch9_csr         ),
1364
                .ch_txsz(       ch9_txsz        ),
1365
                .ch_adr0(       ch9_adr0        ),
1366
                .ch_adr1(       ch9_adr1        ),
1367
                .ch_am0(        ch9_am0         ),
1368
                .ch_am1(        ch9_am1         ),
1369
                .sw_pointer(    sw_pointer9     ),
1370
                .ch_stop(       ch_stop[9]      ),
1371
                .ch_dis(        ch_dis[9]       ),
1372
                .int(           ch_int[9]       ),
1373
                .wb_rf_din(     wb_rf_din       ),
1374
                .wb_rf_adr(     wb_rf_adr       ),
1375
                .wb_rf_we(      wb_rf_we        ),
1376
                .wb_rf_re(      wb_rf_re        ),
1377
                .ch_sel(        ch_sel          ),
1378
                .ndnr(          ndnr[9]         ),
1379
                .dma_busy(      dma_busy        ),
1380
                .dma_err(       dma_err         ),
1381
                .dma_done(      dma_done        ),
1382
                .dma_done_all(  dma_done_all    ),
1383
                .de_csr(        de_csr          ),
1384
                .de_txsz(       de_txsz         ),
1385
                .de_adr0(       de_adr0         ),
1386
                .de_adr1(       de_adr1         ),
1387
                .de_csr_we(     de_csr_we       ),
1388
                .de_txsz_we(    de_txsz_we      ),
1389
                .de_adr0_we(    de_adr0_we      ),
1390
                .de_adr1_we(    de_adr1_we      ),
1391
                .de_fetch_descr(de_fetch_descr  ),
1392
                .dma_rest(      dma_rest[9]     ),
1393
                .ptr_set(       ptr_set         )
1394
                );
1395
`else
1396
wb_dma_ch_rf_dummy #(9, `HAVE_ARS9, `HAVE_ED9, `HAVE_CBUF9) u9(
1397
                .clk(           clk             ),
1398
                .rst(           rst             ),
1399
                .pointer(       pointer9        ),
1400
                .pointer_s(     pointer9_s      ),
1401
                .ch_csr(        ch9_csr         ),
1402
                .ch_txsz(       ch9_txsz        ),
1403
                .ch_adr0(       ch9_adr0        ),
1404
                .ch_adr1(       ch9_adr1        ),
1405
                .ch_am0(        ch9_am0         ),
1406
                .ch_am1(        ch9_am1         ),
1407
                .sw_pointer(    sw_pointer9     ),
1408
                .ch_stop(       ch_stop[9]      ),
1409
                .ch_dis(        ch_dis[9]       ),
1410
                .int(           ch_int[9]       ),
1411
                .wb_rf_din(     wb_rf_din       ),
1412
                .wb_rf_adr(     wb_rf_adr       ),
1413
                .wb_rf_we(      wb_rf_we        ),
1414
                .wb_rf_re(      wb_rf_re        ),
1415
                .ch_sel(        ch_sel          ),
1416
                .ndnr(          ndnr[9]         ),
1417
                .dma_busy(      dma_busy        ),
1418
                .dma_err(       dma_err         ),
1419
                .dma_done(      dma_done        ),
1420
                .dma_done_all(  dma_done_all    ),
1421
                .de_csr(        de_csr          ),
1422
                .de_txsz(       de_txsz         ),
1423
                .de_adr0(       de_adr0         ),
1424
                .de_adr1(       de_adr1         ),
1425
                .de_csr_we(     de_csr_we       ),
1426
                .de_txsz_we(    de_txsz_we      ),
1427
                .de_adr0_we(    de_adr0_we      ),
1428
                .de_adr1_we(    de_adr1_we      ),
1429
                .de_fetch_descr(de_fetch_descr  ),
1430
                .dma_rest(      dma_rest[9]     ),
1431
                .ptr_set(       ptr_set         )
1432
                );
1433
`endif
1434
 
1435
 
1436
`ifdef HAVE_CH10
1437
wb_dma_ch_rf #(10, `HAVE_ARS10, `HAVE_ED10, `HAVE_CBUF10) u10(
1438
                .clk(           clk             ),
1439
                .rst(           rst             ),
1440
                .pointer(       pointer10       ),
1441
                .pointer_s(     pointer10_s     ),
1442
                .ch_csr(        ch10_csr                ),
1443
                .ch_txsz(       ch10_txsz       ),
1444
                .ch_adr0(       ch10_adr0       ),
1445
                .ch_adr1(       ch10_adr1       ),
1446
                .ch_am0(        ch10_am0                ),
1447
                .ch_am1(        ch10_am1                ),
1448
                .sw_pointer(    sw_pointer10    ),
1449
                .ch_stop(       ch_stop[10]     ),
1450
                .ch_dis(        ch_dis[10]      ),
1451
                .int(           ch_int[10]      ),
1452
                .wb_rf_din(     wb_rf_din       ),
1453
                .wb_rf_adr(     wb_rf_adr       ),
1454
                .wb_rf_we(      wb_rf_we        ),
1455
                .wb_rf_re(      wb_rf_re        ),
1456
                .ch_sel(        ch_sel          ),
1457
                .ndnr(          ndnr[10]                ),
1458
                .dma_busy(      dma_busy        ),
1459
                .dma_err(       dma_err         ),
1460
                .dma_done(      dma_done        ),
1461
                .dma_done_all(  dma_done_all    ),
1462
                .de_csr(        de_csr          ),
1463
                .de_txsz(       de_txsz         ),
1464
                .de_adr0(       de_adr0         ),
1465
                .de_adr1(       de_adr1         ),
1466
                .de_csr_we(     de_csr_we       ),
1467
                .de_txsz_we(    de_txsz_we      ),
1468
                .de_adr0_we(    de_adr0_we      ),
1469
                .de_adr1_we(    de_adr1_we      ),
1470
                .de_fetch_descr(de_fetch_descr  ),
1471
                .dma_rest(      dma_rest[10]    ),
1472
                .ptr_set(       ptr_set         )
1473
                );
1474
`else
1475
wb_dma_ch_rf_dummy #(10, `HAVE_ARS10, `HAVE_ED10, `HAVE_CBUF10) u10(
1476
                .clk(           clk             ),
1477
                .rst(           rst             ),
1478
                .pointer(       pointer10       ),
1479
                .pointer_s(     pointer10_s     ),
1480
                .ch_csr(        ch10_csr                ),
1481
                .ch_txsz(       ch10_txsz       ),
1482
                .ch_adr0(       ch10_adr0       ),
1483
                .ch_adr1(       ch10_adr1       ),
1484
                .ch_am0(        ch10_am0                ),
1485
                .ch_am1(        ch10_am1                ),
1486
                .sw_pointer(    sw_pointer10    ),
1487
                .ch_stop(       ch_stop[10]     ),
1488
                .ch_dis(        ch_dis[10]      ),
1489
                .int(           ch_int[10]      ),
1490
                .wb_rf_din(     wb_rf_din       ),
1491
                .wb_rf_adr(     wb_rf_adr       ),
1492
                .wb_rf_we(      wb_rf_we        ),
1493
                .wb_rf_re(      wb_rf_re        ),
1494
                .ch_sel(        ch_sel          ),
1495
                .ndnr(          ndnr[10]                ),
1496
                .dma_busy(      dma_busy        ),
1497
                .dma_err(       dma_err         ),
1498
                .dma_done(      dma_done        ),
1499
                .dma_done_all(  dma_done_all    ),
1500
                .de_csr(        de_csr          ),
1501
                .de_txsz(       de_txsz         ),
1502
                .de_adr0(       de_adr0         ),
1503
                .de_adr1(       de_adr1         ),
1504
                .de_csr_we(     de_csr_we       ),
1505
                .de_txsz_we(    de_txsz_we      ),
1506
                .de_adr0_we(    de_adr0_we      ),
1507
                .de_adr1_we(    de_adr1_we      ),
1508
                .de_fetch_descr(de_fetch_descr  ),
1509
                .dma_rest(      dma_rest[10]    ),
1510
                .ptr_set(       ptr_set         )
1511
                );
1512
`endif
1513
 
1514
 
1515
`ifdef HAVE_CH11
1516
wb_dma_ch_rf #(11, `HAVE_ARS11, `HAVE_ED11, `HAVE_CBUF11) u11(
1517
                .clk(           clk             ),
1518
                .rst(           rst             ),
1519
                .pointer(       pointer11       ),
1520
                .pointer_s(     pointer11_s     ),
1521
                .ch_csr(        ch11_csr                ),
1522
                .ch_txsz(       ch11_txsz       ),
1523
                .ch_adr0(       ch11_adr0       ),
1524
                .ch_adr1(       ch11_adr1       ),
1525
                .ch_am0(        ch11_am0                ),
1526
                .ch_am1(        ch11_am1                ),
1527
                .sw_pointer(    sw_pointer11    ),
1528
                .ch_stop(       ch_stop[11]     ),
1529
                .ch_dis(        ch_dis[11]      ),
1530
                .int(           ch_int[11]      ),
1531
                .wb_rf_din(     wb_rf_din       ),
1532
                .wb_rf_adr(     wb_rf_adr       ),
1533
                .wb_rf_we(      wb_rf_we        ),
1534
                .wb_rf_re(      wb_rf_re        ),
1535
                .ch_sel(        ch_sel          ),
1536
                .ndnr(          ndnr[11]                ),
1537
                .dma_busy(      dma_busy        ),
1538
                .dma_err(       dma_err         ),
1539
                .dma_done(      dma_done        ),
1540
                .dma_done_all(  dma_done_all    ),
1541
                .de_csr(        de_csr          ),
1542
                .de_txsz(       de_txsz         ),
1543
                .de_adr0(       de_adr0         ),
1544
                .de_adr1(       de_adr1         ),
1545
                .de_csr_we(     de_csr_we       ),
1546
                .de_txsz_we(    de_txsz_we      ),
1547
                .de_adr0_we(    de_adr0_we      ),
1548
                .de_adr1_we(    de_adr1_we      ),
1549
                .de_fetch_descr(de_fetch_descr  ),
1550
                .dma_rest(      dma_rest[11]    ),
1551
                .ptr_set(       ptr_set         )
1552
                );
1553
`else
1554
wb_dma_ch_rf_dummy #(11, `HAVE_ARS11, `HAVE_ED11, `HAVE_CBUF11) u11(
1555
                .clk(           clk             ),
1556
                .rst(           rst             ),
1557
                .pointer(       pointer11       ),
1558
                .pointer_s(     pointer11_s     ),
1559
                .ch_csr(        ch11_csr                ),
1560
                .ch_txsz(       ch11_txsz       ),
1561
                .ch_adr0(       ch11_adr0       ),
1562
                .ch_adr1(       ch11_adr1       ),
1563
                .ch_am0(        ch11_am0                ),
1564
                .ch_am1(        ch11_am1                ),
1565
                .sw_pointer(    sw_pointer11    ),
1566
                .ch_stop(       ch_stop[11]     ),
1567
                .ch_dis(        ch_dis[11]      ),
1568
                .int(           ch_int[11]      ),
1569
                .wb_rf_din(     wb_rf_din       ),
1570
                .wb_rf_adr(     wb_rf_adr       ),
1571
                .wb_rf_we(      wb_rf_we        ),
1572
                .wb_rf_re(      wb_rf_re        ),
1573
                .ch_sel(        ch_sel          ),
1574
                .ndnr(          ndnr[11]                ),
1575
                .dma_busy(      dma_busy        ),
1576
                .dma_err(       dma_err         ),
1577
                .dma_done(      dma_done        ),
1578
                .dma_done_all(  dma_done_all    ),
1579
                .de_csr(        de_csr          ),
1580
                .de_txsz(       de_txsz         ),
1581
                .de_adr0(       de_adr0         ),
1582
                .de_adr1(       de_adr1         ),
1583
                .de_csr_we(     de_csr_we       ),
1584
                .de_txsz_we(    de_txsz_we      ),
1585
                .de_adr0_we(    de_adr0_we      ),
1586
                .de_adr1_we(    de_adr1_we      ),
1587
                .de_fetch_descr(de_fetch_descr  ),
1588
                .dma_rest(      dma_rest[11]    ),
1589
                .ptr_set(       ptr_set         )
1590
                );
1591
`endif
1592
 
1593
 
1594
`ifdef HAVE_CH12
1595
wb_dma_ch_rf #(12, `HAVE_ARS12, `HAVE_ED12, `HAVE_CBUF12) u12(
1596
                .clk(           clk             ),
1597
                .rst(           rst             ),
1598
                .pointer(       pointer12       ),
1599
                .pointer_s(     pointer12_s     ),
1600
                .ch_csr(        ch12_csr                ),
1601
                .ch_txsz(       ch12_txsz       ),
1602
                .ch_adr0(       ch12_adr0       ),
1603
                .ch_adr1(       ch12_adr1       ),
1604
                .ch_am0(        ch12_am0                ),
1605
                .ch_am1(        ch12_am1                ),
1606
                .sw_pointer(    sw_pointer12    ),
1607
                .ch_stop(       ch_stop[12]     ),
1608
                .ch_dis(        ch_dis[12]      ),
1609
                .int(           ch_int[12]      ),
1610
                .wb_rf_din(     wb_rf_din       ),
1611
                .wb_rf_adr(     wb_rf_adr       ),
1612
                .wb_rf_we(      wb_rf_we        ),
1613
                .wb_rf_re(      wb_rf_re        ),
1614
                .ch_sel(        ch_sel          ),
1615
                .ndnr(          ndnr[12]                ),
1616
                .dma_busy(      dma_busy        ),
1617
                .dma_err(       dma_err         ),
1618
                .dma_done(      dma_done        ),
1619
                .dma_done_all(  dma_done_all    ),
1620
                .de_csr(        de_csr          ),
1621
                .de_txsz(       de_txsz         ),
1622
                .de_adr0(       de_adr0         ),
1623
                .de_adr1(       de_adr1         ),
1624
                .de_csr_we(     de_csr_we       ),
1625
                .de_txsz_we(    de_txsz_we      ),
1626
                .de_adr0_we(    de_adr0_we      ),
1627
                .de_adr1_we(    de_adr1_we      ),
1628
                .de_fetch_descr(de_fetch_descr  ),
1629
                .dma_rest(      dma_rest[12]    ),
1630
                .ptr_set(       ptr_set         )
1631
                );
1632
`else
1633
wb_dma_ch_rf_dummy #(12, `HAVE_ARS12, `HAVE_ED12, `HAVE_CBUF12) u12(
1634
                .clk(           clk             ),
1635
                .rst(           rst             ),
1636
                .pointer(       pointer12       ),
1637
                .pointer_s(     pointer12_s     ),
1638
                .ch_csr(        ch12_csr                ),
1639
                .ch_txsz(       ch12_txsz       ),
1640
                .ch_adr0(       ch12_adr0       ),
1641
                .ch_adr1(       ch12_adr1       ),
1642
                .ch_am0(        ch12_am0                ),
1643
                .ch_am1(        ch12_am1                ),
1644
                .sw_pointer(    sw_pointer12    ),
1645
                .ch_stop(       ch_stop[12]     ),
1646
                .ch_dis(        ch_dis[12]      ),
1647
                .int(           ch_int[12]      ),
1648
                .wb_rf_din(     wb_rf_din       ),
1649
                .wb_rf_adr(     wb_rf_adr       ),
1650
                .wb_rf_we(      wb_rf_we        ),
1651
                .wb_rf_re(      wb_rf_re        ),
1652
                .ch_sel(        ch_sel          ),
1653
                .ndnr(          ndnr[12]                ),
1654
                .dma_busy(      dma_busy        ),
1655
                .dma_err(       dma_err         ),
1656
                .dma_done(      dma_done        ),
1657
                .dma_done_all(  dma_done_all    ),
1658
                .de_csr(        de_csr          ),
1659
                .de_txsz(       de_txsz         ),
1660
                .de_adr0(       de_adr0         ),
1661
                .de_adr1(       de_adr1         ),
1662
                .de_csr_we(     de_csr_we       ),
1663
                .de_txsz_we(    de_txsz_we      ),
1664
                .de_adr0_we(    de_adr0_we      ),
1665
                .de_adr1_we(    de_adr1_we      ),
1666
                .de_fetch_descr(de_fetch_descr  ),
1667
                .dma_rest(      dma_rest[12]    ),
1668
                .ptr_set(       ptr_set         )
1669
                );
1670
`endif
1671
 
1672
 
1673
`ifdef HAVE_CH13
1674
wb_dma_ch_rf #(13, `HAVE_ARS13, `HAVE_ED13, `HAVE_CBUF13) u13(
1675
                .clk(           clk             ),
1676
                .rst(           rst             ),
1677
                .pointer(       pointer13       ),
1678
                .pointer_s(     pointer13_s     ),
1679
                .ch_csr(        ch13_csr                ),
1680
                .ch_txsz(       ch13_txsz       ),
1681
                .ch_adr0(       ch13_adr0       ),
1682
                .ch_adr1(       ch13_adr1       ),
1683
                .ch_am0(        ch13_am0                ),
1684
                .ch_am1(        ch13_am1                ),
1685
                .sw_pointer(    sw_pointer13    ),
1686
                .ch_stop(       ch_stop[13]     ),
1687
                .ch_dis(        ch_dis[13]      ),
1688
                .int(           ch_int[13]      ),
1689
                .wb_rf_din(     wb_rf_din       ),
1690
                .wb_rf_adr(     wb_rf_adr       ),
1691
                .wb_rf_we(      wb_rf_we        ),
1692
                .wb_rf_re(      wb_rf_re        ),
1693
                .ch_sel(        ch_sel          ),
1694
                .ndnr(          ndnr[13]                ),
1695
                .dma_busy(      dma_busy        ),
1696
                .dma_err(       dma_err         ),
1697
                .dma_done(      dma_done        ),
1698
                .dma_done_all(  dma_done_all    ),
1699
                .de_csr(        de_csr          ),
1700
                .de_txsz(       de_txsz         ),
1701
                .de_adr0(       de_adr0         ),
1702
                .de_adr1(       de_adr1         ),
1703
                .de_csr_we(     de_csr_we       ),
1704
                .de_txsz_we(    de_txsz_we      ),
1705
                .de_adr0_we(    de_adr0_we      ),
1706
                .de_adr1_we(    de_adr1_we      ),
1707
                .de_fetch_descr(de_fetch_descr  ),
1708
                .dma_rest(      dma_rest[13]    ),
1709
                .ptr_set(       ptr_set         )
1710
                );
1711
`else
1712
wb_dma_ch_rf_dummy #(13, `HAVE_ARS13, `HAVE_ED13, `HAVE_CBUF13) u13(
1713
                .clk(           clk             ),
1714
                .rst(           rst             ),
1715
                .pointer(       pointer13       ),
1716
                .pointer_s(     pointer13_s     ),
1717
                .ch_csr(        ch13_csr                ),
1718
                .ch_txsz(       ch13_txsz       ),
1719
                .ch_adr0(       ch13_adr0       ),
1720
                .ch_adr1(       ch13_adr1       ),
1721
                .ch_am0(        ch13_am0                ),
1722
                .ch_am1(        ch13_am1                ),
1723
                .sw_pointer(    sw_pointer13    ),
1724
                .ch_stop(       ch_stop[13]     ),
1725
                .ch_dis(        ch_dis[13]      ),
1726
                .int(           ch_int[13]      ),
1727
                .wb_rf_din(     wb_rf_din       ),
1728
                .wb_rf_adr(     wb_rf_adr       ),
1729
                .wb_rf_we(      wb_rf_we        ),
1730
                .wb_rf_re(      wb_rf_re        ),
1731
                .ch_sel(        ch_sel          ),
1732
                .ndnr(          ndnr[13]                ),
1733
                .dma_busy(      dma_busy        ),
1734
                .dma_err(       dma_err         ),
1735
                .dma_done(      dma_done        ),
1736
                .dma_done_all(  dma_done_all    ),
1737
                .de_csr(        de_csr          ),
1738
                .de_txsz(       de_txsz         ),
1739
                .de_adr0(       de_adr0         ),
1740
                .de_adr1(       de_adr1         ),
1741
                .de_csr_we(     de_csr_we       ),
1742
                .de_txsz_we(    de_txsz_we      ),
1743
                .de_adr0_we(    de_adr0_we      ),
1744
                .de_adr1_we(    de_adr1_we      ),
1745
                .de_fetch_descr(de_fetch_descr  ),
1746
                .dma_rest(      dma_rest[13]    ),
1747
                .ptr_set(       ptr_set         )
1748
                );
1749
`endif
1750
 
1751
 
1752
`ifdef HAVE_CH14
1753
wb_dma_ch_rf #(14, `HAVE_ARS14, `HAVE_ED14, `HAVE_CBUF14) u14(
1754
                .clk(           clk             ),
1755
                .rst(           rst             ),
1756
                .pointer(       pointer14       ),
1757
                .pointer_s(     pointer14_s     ),
1758
                .ch_csr(        ch14_csr                ),
1759
                .ch_txsz(       ch14_txsz       ),
1760
                .ch_adr0(       ch14_adr0       ),
1761
                .ch_adr1(       ch14_adr1       ),
1762
                .ch_am0(        ch14_am0                ),
1763
                .ch_am1(        ch14_am1                ),
1764
                .sw_pointer(    sw_pointer14    ),
1765
                .ch_stop(       ch_stop[14]     ),
1766
                .ch_dis(        ch_dis[14]      ),
1767
                .int(           ch_int[14]      ),
1768
                .wb_rf_din(     wb_rf_din       ),
1769
                .wb_rf_adr(     wb_rf_adr       ),
1770
                .wb_rf_we(      wb_rf_we        ),
1771
                .wb_rf_re(      wb_rf_re        ),
1772
                .ch_sel(        ch_sel          ),
1773
                .ndnr(          ndnr[14]                ),
1774
                .dma_busy(      dma_busy        ),
1775
                .dma_err(       dma_err         ),
1776
                .dma_done(      dma_done        ),
1777
                .dma_done_all(  dma_done_all    ),
1778
                .de_csr(        de_csr          ),
1779
                .de_txsz(       de_txsz         ),
1780
                .de_adr0(       de_adr0         ),
1781
                .de_adr1(       de_adr1         ),
1782
                .de_csr_we(     de_csr_we       ),
1783
                .de_txsz_we(    de_txsz_we      ),
1784
                .de_adr0_we(    de_adr0_we      ),
1785
                .de_adr1_we(    de_adr1_we      ),
1786
                .de_fetch_descr(de_fetch_descr  ),
1787
                .dma_rest(      dma_rest[14]    ),
1788
                .ptr_set(       ptr_set         )
1789
                );
1790
`else
1791
wb_dma_ch_rf_dummy #(14, `HAVE_ARS14, `HAVE_ED14, `HAVE_CBUF14) u14(
1792
                .clk(           clk             ),
1793
                .rst(           rst             ),
1794
                .pointer(       pointer14       ),
1795
                .pointer_s(     pointer14_s     ),
1796
                .ch_csr(        ch14_csr                ),
1797
                .ch_txsz(       ch14_txsz       ),
1798
                .ch_adr0(       ch14_adr0       ),
1799
                .ch_adr1(       ch14_adr1       ),
1800
                .ch_am0(        ch14_am0                ),
1801
                .ch_am1(        ch14_am1                ),
1802
                .sw_pointer(    sw_pointer14    ),
1803
                .ch_stop(       ch_stop[14]     ),
1804
                .ch_dis(        ch_dis[14]      ),
1805
                .int(           ch_int[14]      ),
1806
                .wb_rf_din(     wb_rf_din       ),
1807
                .wb_rf_adr(     wb_rf_adr       ),
1808
                .wb_rf_we(      wb_rf_we        ),
1809
                .wb_rf_re(      wb_rf_re        ),
1810
                .ch_sel(        ch_sel          ),
1811
                .ndnr(          ndnr[14]                ),
1812
                .dma_busy(      dma_busy        ),
1813
                .dma_err(       dma_err         ),
1814
                .dma_done(      dma_done        ),
1815
                .dma_done_all(  dma_done_all    ),
1816
                .de_csr(        de_csr          ),
1817
                .de_txsz(       de_txsz         ),
1818
                .de_adr0(       de_adr0         ),
1819
                .de_adr1(       de_adr1         ),
1820
                .de_csr_we(     de_csr_we       ),
1821
                .de_txsz_we(    de_txsz_we      ),
1822
                .de_adr0_we(    de_adr0_we      ),
1823
                .de_adr1_we(    de_adr1_we      ),
1824
                .de_fetch_descr(de_fetch_descr  ),
1825
                .dma_rest(      dma_rest[14]    ),
1826
                .ptr_set(       ptr_set         )
1827
                );
1828
`endif
1829
 
1830
 
1831
`ifdef HAVE_CH15
1832
wb_dma_ch_rf #(15, `HAVE_ARS15, `HAVE_ED15, `HAVE_CBUF15) u15(
1833
                .clk(           clk             ),
1834
                .rst(           rst             ),
1835
                .pointer(       pointer15       ),
1836
                .pointer_s(     pointer15_s     ),
1837
                .ch_csr(        ch15_csr                ),
1838
                .ch_txsz(       ch15_txsz       ),
1839
                .ch_adr0(       ch15_adr0       ),
1840
                .ch_adr1(       ch15_adr1       ),
1841
                .ch_am0(        ch15_am0                ),
1842
                .ch_am1(        ch15_am1                ),
1843
                .sw_pointer(    sw_pointer15    ),
1844
                .ch_stop(       ch_stop[15]     ),
1845
                .ch_dis(        ch_dis[15]      ),
1846
                .int(           ch_int[15]      ),
1847
                .wb_rf_din(     wb_rf_din       ),
1848
                .wb_rf_adr(     wb_rf_adr       ),
1849
                .wb_rf_we(      wb_rf_we        ),
1850
                .wb_rf_re(      wb_rf_re        ),
1851
                .ch_sel(        ch_sel          ),
1852
                .ndnr(          ndnr[15]                ),
1853
                .dma_busy(      dma_busy        ),
1854
                .dma_err(       dma_err         ),
1855
                .dma_done(      dma_done        ),
1856
                .dma_done_all(  dma_done_all    ),
1857
                .de_csr(        de_csr          ),
1858
                .de_txsz(       de_txsz         ),
1859
                .de_adr0(       de_adr0         ),
1860
                .de_adr1(       de_adr1         ),
1861
                .de_csr_we(     de_csr_we       ),
1862
                .de_txsz_we(    de_txsz_we      ),
1863
                .de_adr0_we(    de_adr0_we      ),
1864
                .de_adr1_we(    de_adr1_we      ),
1865
                .de_fetch_descr(de_fetch_descr  ),
1866
                .dma_rest(      dma_rest[15]    ),
1867
                .ptr_set(       ptr_set         )
1868
                );
1869
`else
1870
wb_dma_ch_rf_dummy #(15, `HAVE_ARS15, `HAVE_ED15, `HAVE_CBUF15) u15(
1871
                .clk(           clk             ),
1872
                .rst(           rst             ),
1873
                .pointer(       pointer15       ),
1874
                .pointer_s(     pointer15_s     ),
1875
                .ch_csr(        ch15_csr                ),
1876
                .ch_txsz(       ch15_txsz       ),
1877
                .ch_adr0(       ch15_adr0       ),
1878
                .ch_adr1(       ch15_adr1       ),
1879
                .ch_am0(        ch15_am0                ),
1880
                .ch_am1(        ch15_am1                ),
1881
                .sw_pointer(    sw_pointer15    ),
1882
                .ch_stop(       ch_stop[15]     ),
1883
                .ch_dis(        ch_dis[15]      ),
1884
                .int(           ch_int[15]      ),
1885
                .wb_rf_din(     wb_rf_din       ),
1886
                .wb_rf_adr(     wb_rf_adr       ),
1887
                .wb_rf_we(      wb_rf_we        ),
1888
                .wb_rf_re(      wb_rf_re        ),
1889
                .ch_sel(        ch_sel          ),
1890
                .ndnr(          ndnr[15]                ),
1891
                .dma_busy(      dma_busy        ),
1892
                .dma_err(       dma_err         ),
1893
                .dma_done(      dma_done        ),
1894
                .dma_done_all(  dma_done_all    ),
1895
                .de_csr(        de_csr          ),
1896
                .de_txsz(       de_txsz         ),
1897
                .de_adr0(       de_adr0         ),
1898
                .de_adr1(       de_adr1         ),
1899
                .de_csr_we(     de_csr_we       ),
1900
                .de_txsz_we(    de_txsz_we      ),
1901
                .de_adr0_we(    de_adr0_we      ),
1902
                .de_adr1_we(    de_adr1_we      ),
1903
                .de_fetch_descr(de_fetch_descr  ),
1904
                .dma_rest(      dma_rest[15]    ),
1905
                .ptr_set(       ptr_set         )
1906
                );
1907
`endif
1908
 
1909
 
1910
`ifdef HAVE_CH16
1911
wb_dma_ch_rf #(16, `HAVE_ARS16, `HAVE_ED16, `HAVE_CBUF16) u16(
1912
                .clk(           clk             ),
1913
                .rst(           rst             ),
1914
                .pointer(       pointer16       ),
1915
                .pointer_s(     pointer16_s     ),
1916
                .ch_csr(        ch16_csr                ),
1917
                .ch_txsz(       ch16_txsz       ),
1918
                .ch_adr0(       ch16_adr0       ),
1919
                .ch_adr1(       ch16_adr1       ),
1920
                .ch_am0(        ch16_am0                ),
1921
                .ch_am1(        ch16_am1                ),
1922
                .sw_pointer(    sw_pointer16    ),
1923
                .ch_stop(       ch_stop[16]     ),
1924
                .ch_dis(        ch_dis[16]      ),
1925
                .int(           ch_int[16]      ),
1926
                .wb_rf_din(     wb_rf_din       ),
1927
                .wb_rf_adr(     wb_rf_adr       ),
1928
                .wb_rf_we(      wb_rf_we        ),
1929
                .wb_rf_re(      wb_rf_re        ),
1930
                .ch_sel(        ch_sel          ),
1931
                .ndnr(          ndnr[16]                ),
1932
                .dma_busy(      dma_busy        ),
1933
                .dma_err(       dma_err         ),
1934
                .dma_done(      dma_done        ),
1935
                .dma_done_all(  dma_done_all    ),
1936
                .de_csr(        de_csr          ),
1937
                .de_txsz(       de_txsz         ),
1938
                .de_adr0(       de_adr0         ),
1939
                .de_adr1(       de_adr1         ),
1940
                .de_csr_we(     de_csr_we       ),
1941
                .de_txsz_we(    de_txsz_we      ),
1942
                .de_adr0_we(    de_adr0_we      ),
1943
                .de_adr1_we(    de_adr1_we      ),
1944
                .de_fetch_descr(de_fetch_descr  ),
1945
                .dma_rest(      dma_rest[16]    ),
1946
                .ptr_set(       ptr_set         )
1947
                );
1948
`else
1949
wb_dma_ch_rf_dummy #(16, `HAVE_ARS16, `HAVE_ED16, `HAVE_CBUF16) u16(
1950
                .clk(           clk             ),
1951
                .rst(           rst             ),
1952
                .pointer(       pointer16       ),
1953
                .pointer_s(     pointer16_s     ),
1954
                .ch_csr(        ch16_csr                ),
1955
                .ch_txsz(       ch16_txsz       ),
1956
                .ch_adr0(       ch16_adr0       ),
1957
                .ch_adr1(       ch16_adr1       ),
1958
                .ch_am0(        ch16_am0                ),
1959
                .ch_am1(        ch16_am1                ),
1960
                .sw_pointer(    sw_pointer16    ),
1961
                .ch_stop(       ch_stop[16]     ),
1962
                .ch_dis(        ch_dis[16]      ),
1963
                .int(           ch_int[16]      ),
1964
                .wb_rf_din(     wb_rf_din       ),
1965
                .wb_rf_adr(     wb_rf_adr       ),
1966
                .wb_rf_we(      wb_rf_we        ),
1967
                .wb_rf_re(      wb_rf_re        ),
1968
                .ch_sel(        ch_sel          ),
1969
                .ndnr(          ndnr[16]                ),
1970
                .dma_busy(      dma_busy        ),
1971
                .dma_err(       dma_err         ),
1972
                .dma_done(      dma_done        ),
1973
                .dma_done_all(  dma_done_all    ),
1974
                .de_csr(        de_csr          ),
1975
                .de_txsz(       de_txsz         ),
1976
                .de_adr0(       de_adr0         ),
1977
                .de_adr1(       de_adr1         ),
1978
                .de_csr_we(     de_csr_we       ),
1979
                .de_txsz_we(    de_txsz_we      ),
1980
                .de_adr0_we(    de_adr0_we      ),
1981
                .de_adr1_we(    de_adr1_we      ),
1982
                .de_fetch_descr(de_fetch_descr  ),
1983
                .dma_rest(      dma_rest[16]    ),
1984
                .ptr_set(       ptr_set         )
1985
                );
1986
`endif
1987
 
1988
 
1989
`ifdef HAVE_CH17
1990
wb_dma_ch_rf #(17, `HAVE_ARS17, `HAVE_ED17, `HAVE_CBUF17) u17(
1991
                .clk(           clk             ),
1992
                .rst(           rst             ),
1993
                .pointer(       pointer17       ),
1994
                .pointer_s(     pointer17_s     ),
1995
                .ch_csr(        ch17_csr                ),
1996
                .ch_txsz(       ch17_txsz       ),
1997
                .ch_adr0(       ch17_adr0       ),
1998
                .ch_adr1(       ch17_adr1       ),
1999
                .ch_am0(        ch17_am0                ),
2000
                .ch_am1(        ch17_am1                ),
2001
                .sw_pointer(    sw_pointer17    ),
2002
                .ch_stop(       ch_stop[17]     ),
2003
                .ch_dis(        ch_dis[17]      ),
2004
                .int(           ch_int[17]      ),
2005
                .wb_rf_din(     wb_rf_din       ),
2006
                .wb_rf_adr(     wb_rf_adr       ),
2007
                .wb_rf_we(      wb_rf_we        ),
2008
                .wb_rf_re(      wb_rf_re        ),
2009
                .ch_sel(        ch_sel          ),
2010
                .ndnr(          ndnr[17]                ),
2011
                .dma_busy(      dma_busy        ),
2012
                .dma_err(       dma_err         ),
2013
                .dma_done(      dma_done        ),
2014
                .dma_done_all(  dma_done_all    ),
2015
                .de_csr(        de_csr          ),
2016
                .de_txsz(       de_txsz         ),
2017
                .de_adr0(       de_adr0         ),
2018
                .de_adr1(       de_adr1         ),
2019
                .de_csr_we(     de_csr_we       ),
2020
                .de_txsz_we(    de_txsz_we      ),
2021
                .de_adr0_we(    de_adr0_we      ),
2022
                .de_adr1_we(    de_adr1_we      ),
2023
                .de_fetch_descr(de_fetch_descr  ),
2024
                .dma_rest(      dma_rest[17]    ),
2025
                .ptr_set(       ptr_set         )
2026
                );
2027
`else
2028
wb_dma_ch_rf_dummy #(17, `HAVE_ARS17, `HAVE_ED17, `HAVE_CBUF17) u17(
2029
                .clk(           clk             ),
2030
                .rst(           rst             ),
2031
                .pointer(       pointer17       ),
2032
                .pointer_s(     pointer17_s     ),
2033
                .ch_csr(        ch17_csr                ),
2034
                .ch_txsz(       ch17_txsz       ),
2035
                .ch_adr0(       ch17_adr0       ),
2036
                .ch_adr1(       ch17_adr1       ),
2037
                .ch_am0(        ch17_am0                ),
2038
                .ch_am1(        ch17_am1                ),
2039
                .sw_pointer(    sw_pointer17    ),
2040
                .ch_stop(       ch_stop[17]     ),
2041
                .ch_dis(        ch_dis[17]      ),
2042
                .int(           ch_int[17]      ),
2043
                .wb_rf_din(     wb_rf_din       ),
2044
                .wb_rf_adr(     wb_rf_adr       ),
2045
                .wb_rf_we(      wb_rf_we        ),
2046
                .wb_rf_re(      wb_rf_re        ),
2047
                .ch_sel(        ch_sel          ),
2048
                .ndnr(          ndnr[17]                ),
2049
                .dma_busy(      dma_busy        ),
2050
                .dma_err(       dma_err         ),
2051
                .dma_done(      dma_done        ),
2052
                .dma_done_all(  dma_done_all    ),
2053
                .de_csr(        de_csr          ),
2054
                .de_txsz(       de_txsz         ),
2055
                .de_adr0(       de_adr0         ),
2056
                .de_adr1(       de_adr1         ),
2057
                .de_csr_we(     de_csr_we       ),
2058
                .de_txsz_we(    de_txsz_we      ),
2059
                .de_adr0_we(    de_adr0_we      ),
2060
                .de_adr1_we(    de_adr1_we      ),
2061
                .de_fetch_descr(de_fetch_descr  ),
2062
                .dma_rest(      dma_rest[17]    ),
2063
                .ptr_set(       ptr_set         )
2064
                );
2065
`endif
2066
 
2067
 
2068
`ifdef HAVE_CH18
2069
wb_dma_ch_rf #(18, `HAVE_ARS18, `HAVE_ED18, `HAVE_CBUF18) u18(
2070
                .clk(           clk             ),
2071
                .rst(           rst             ),
2072
                .pointer(       pointer18       ),
2073
                .pointer_s(     pointer18_s     ),
2074
                .ch_csr(        ch18_csr                ),
2075
                .ch_txsz(       ch18_txsz       ),
2076
                .ch_adr0(       ch18_adr0       ),
2077
                .ch_adr1(       ch18_adr1       ),
2078
                .ch_am0(        ch18_am0                ),
2079
                .ch_am1(        ch18_am1                ),
2080
                .sw_pointer(    sw_pointer18    ),
2081
                .ch_stop(       ch_stop[18]     ),
2082
                .ch_dis(        ch_dis[18]      ),
2083
                .int(           ch_int[18]      ),
2084
                .wb_rf_din(     wb_rf_din       ),
2085
                .wb_rf_adr(     wb_rf_adr       ),
2086
                .wb_rf_we(      wb_rf_we        ),
2087
                .wb_rf_re(      wb_rf_re        ),
2088
                .ch_sel(        ch_sel          ),
2089
                .ndnr(          ndnr[18]                ),
2090
                .dma_busy(      dma_busy        ),
2091
                .dma_err(       dma_err         ),
2092
                .dma_done(      dma_done        ),
2093
                .dma_done_all(  dma_done_all    ),
2094
                .de_csr(        de_csr          ),
2095
                .de_txsz(       de_txsz         ),
2096
                .de_adr0(       de_adr0         ),
2097
                .de_adr1(       de_adr1         ),
2098
                .de_csr_we(     de_csr_we       ),
2099
                .de_txsz_we(    de_txsz_we      ),
2100
                .de_adr0_we(    de_adr0_we      ),
2101
                .de_adr1_we(    de_adr1_we      ),
2102
                .de_fetch_descr(de_fetch_descr  ),
2103
                .dma_rest(      dma_rest[18]    ),
2104
                .ptr_set(       ptr_set         )
2105
                );
2106
`else
2107
wb_dma_ch_rf_dummy #(18, `HAVE_ARS18, `HAVE_ED18, `HAVE_CBUF18) u18(
2108
                .clk(           clk             ),
2109
                .rst(           rst             ),
2110
                .pointer(       pointer18       ),
2111
                .pointer_s(     pointer18_s     ),
2112
                .ch_csr(        ch18_csr                ),
2113
                .ch_txsz(       ch18_txsz       ),
2114
                .ch_adr0(       ch18_adr0       ),
2115
                .ch_adr1(       ch18_adr1       ),
2116
                .ch_am0(        ch18_am0                ),
2117
                .ch_am1(        ch18_am1                ),
2118
                .sw_pointer(    sw_pointer18    ),
2119
                .ch_stop(       ch_stop[18]     ),
2120
                .ch_dis(        ch_dis[18]      ),
2121
                .int(           ch_int[18]      ),
2122
                .wb_rf_din(     wb_rf_din       ),
2123
                .wb_rf_adr(     wb_rf_adr       ),
2124
                .wb_rf_we(      wb_rf_we        ),
2125
                .wb_rf_re(      wb_rf_re        ),
2126
                .ch_sel(        ch_sel          ),
2127
                .ndnr(          ndnr[18]                ),
2128
                .dma_busy(      dma_busy        ),
2129
                .dma_err(       dma_err         ),
2130
                .dma_done(      dma_done        ),
2131
                .dma_done_all(  dma_done_all    ),
2132
                .de_csr(        de_csr          ),
2133
                .de_txsz(       de_txsz         ),
2134
                .de_adr0(       de_adr0         ),
2135
                .de_adr1(       de_adr1         ),
2136
                .de_csr_we(     de_csr_we       ),
2137
                .de_txsz_we(    de_txsz_we      ),
2138
                .de_adr0_we(    de_adr0_we      ),
2139
                .de_adr1_we(    de_adr1_we      ),
2140
                .de_fetch_descr(de_fetch_descr  ),
2141
                .dma_rest(      dma_rest[18]    ),
2142
                .ptr_set(       ptr_set         )
2143
                );
2144
`endif
2145
 
2146
 
2147
`ifdef HAVE_CH19
2148
wb_dma_ch_rf #(19, `HAVE_ARS19, `HAVE_ED19, `HAVE_CBUF19) u19(
2149
                .clk(           clk             ),
2150
                .rst(           rst             ),
2151
                .pointer(       pointer19       ),
2152
                .pointer_s(     pointer19_s     ),
2153
                .ch_csr(        ch19_csr                ),
2154
                .ch_txsz(       ch19_txsz       ),
2155
                .ch_adr0(       ch19_adr0       ),
2156
                .ch_adr1(       ch19_adr1       ),
2157
                .ch_am0(        ch19_am0                ),
2158
                .ch_am1(        ch19_am1                ),
2159
                .sw_pointer(    sw_pointer19    ),
2160
                .ch_stop(       ch_stop[19]     ),
2161
                .ch_dis(        ch_dis[19]      ),
2162
                .int(           ch_int[19]      ),
2163
                .wb_rf_din(     wb_rf_din       ),
2164
                .wb_rf_adr(     wb_rf_adr       ),
2165
                .wb_rf_we(      wb_rf_we        ),
2166
                .wb_rf_re(      wb_rf_re        ),
2167
                .ch_sel(        ch_sel          ),
2168
                .ndnr(          ndnr[19]                ),
2169
                .dma_busy(      dma_busy        ),
2170
                .dma_err(       dma_err         ),
2171
                .dma_done(      dma_done        ),
2172
                .dma_done_all(  dma_done_all    ),
2173
                .de_csr(        de_csr          ),
2174
                .de_txsz(       de_txsz         ),
2175
                .de_adr0(       de_adr0         ),
2176
                .de_adr1(       de_adr1         ),
2177
                .de_csr_we(     de_csr_we       ),
2178
                .de_txsz_we(    de_txsz_we      ),
2179
                .de_adr0_we(    de_adr0_we      ),
2180
                .de_adr1_we(    de_adr1_we      ),
2181
                .de_fetch_descr(de_fetch_descr  ),
2182
                .dma_rest(      dma_rest[19]    ),
2183
                .ptr_set(       ptr_set         )
2184
                );
2185
`else
2186
wb_dma_ch_rf_dummy #(19, `HAVE_ARS19, `HAVE_ED19, `HAVE_CBUF19) u19(
2187
                .clk(           clk             ),
2188
                .rst(           rst             ),
2189
                .pointer(       pointer19       ),
2190
                .pointer_s(     pointer19_s     ),
2191
                .ch_csr(        ch19_csr                ),
2192
                .ch_txsz(       ch19_txsz       ),
2193
                .ch_adr0(       ch19_adr0       ),
2194
                .ch_adr1(       ch19_adr1       ),
2195
                .ch_am0(        ch19_am0                ),
2196
                .ch_am1(        ch19_am1                ),
2197
                .sw_pointer(    sw_pointer19    ),
2198
                .ch_stop(       ch_stop[19]     ),
2199
                .ch_dis(        ch_dis[19]      ),
2200
                .int(           ch_int[19]      ),
2201
                .wb_rf_din(     wb_rf_din       ),
2202
                .wb_rf_adr(     wb_rf_adr       ),
2203
                .wb_rf_we(      wb_rf_we        ),
2204
                .wb_rf_re(      wb_rf_re        ),
2205
                .ch_sel(        ch_sel          ),
2206
                .ndnr(          ndnr[19]                ),
2207
                .dma_busy(      dma_busy        ),
2208
                .dma_err(       dma_err         ),
2209
                .dma_done(      dma_done        ),
2210
                .dma_done_all(  dma_done_all    ),
2211
                .de_csr(        de_csr          ),
2212
                .de_txsz(       de_txsz         ),
2213
                .de_adr0(       de_adr0         ),
2214
                .de_adr1(       de_adr1         ),
2215
                .de_csr_we(     de_csr_we       ),
2216
                .de_txsz_we(    de_txsz_we      ),
2217
                .de_adr0_we(    de_adr0_we      ),
2218
                .de_adr1_we(    de_adr1_we      ),
2219
                .de_fetch_descr(de_fetch_descr  ),
2220
                .dma_rest(      dma_rest[19]    ),
2221
                .ptr_set(       ptr_set         )
2222
                );
2223
`endif
2224
 
2225
 
2226
`ifdef HAVE_CH20
2227
wb_dma_ch_rf #(20, `HAVE_ARS20, `HAVE_ED20, `HAVE_CBUF20) u20(
2228
                .clk(           clk             ),
2229
                .rst(           rst             ),
2230
                .pointer(       pointer20       ),
2231
                .pointer_s(     pointer20_s     ),
2232
                .ch_csr(        ch20_csr                ),
2233
                .ch_txsz(       ch20_txsz       ),
2234
                .ch_adr0(       ch20_adr0       ),
2235
                .ch_adr1(       ch20_adr1       ),
2236
                .ch_am0(        ch20_am0                ),
2237
                .ch_am1(        ch20_am1                ),
2238
                .sw_pointer(    sw_pointer20    ),
2239
                .ch_stop(       ch_stop[20]     ),
2240
                .ch_dis(        ch_dis[20]      ),
2241
                .int(           ch_int[20]      ),
2242
                .wb_rf_din(     wb_rf_din       ),
2243
                .wb_rf_adr(     wb_rf_adr       ),
2244
                .wb_rf_we(      wb_rf_we        ),
2245
                .wb_rf_re(      wb_rf_re        ),
2246
                .ch_sel(        ch_sel          ),
2247
                .ndnr(          ndnr[20]                ),
2248
                .dma_busy(      dma_busy        ),
2249
                .dma_err(       dma_err         ),
2250
                .dma_done(      dma_done        ),
2251
                .dma_done_all(  dma_done_all    ),
2252
                .de_csr(        de_csr          ),
2253
                .de_txsz(       de_txsz         ),
2254
                .de_adr0(       de_adr0         ),
2255
                .de_adr1(       de_adr1         ),
2256
                .de_csr_we(     de_csr_we       ),
2257
                .de_txsz_we(    de_txsz_we      ),
2258
                .de_adr0_we(    de_adr0_we      ),
2259
                .de_adr1_we(    de_adr1_we      ),
2260
                .de_fetch_descr(de_fetch_descr  ),
2261
                .dma_rest(      dma_rest[20]    ),
2262
                .ptr_set(       ptr_set         )
2263
                );
2264
`else
2265
wb_dma_ch_rf_dummy #(20, `HAVE_ARS20, `HAVE_ED20, `HAVE_CBUF20) u20(
2266
                .clk(           clk             ),
2267
                .rst(           rst             ),
2268
                .pointer(       pointer20       ),
2269
                .pointer_s(     pointer20_s     ),
2270
                .ch_csr(        ch20_csr                ),
2271
                .ch_txsz(       ch20_txsz       ),
2272
                .ch_adr0(       ch20_adr0       ),
2273
                .ch_adr1(       ch20_adr1       ),
2274
                .ch_am0(        ch20_am0                ),
2275
                .ch_am1(        ch20_am1                ),
2276
                .sw_pointer(    sw_pointer20    ),
2277
                .ch_stop(       ch_stop[20]     ),
2278
                .ch_dis(        ch_dis[20]      ),
2279
                .int(           ch_int[20]      ),
2280
                .wb_rf_din(     wb_rf_din       ),
2281
                .wb_rf_adr(     wb_rf_adr       ),
2282
                .wb_rf_we(      wb_rf_we        ),
2283
                .wb_rf_re(      wb_rf_re        ),
2284
                .ch_sel(        ch_sel          ),
2285
                .ndnr(          ndnr[20]                ),
2286
                .dma_busy(      dma_busy        ),
2287
                .dma_err(       dma_err         ),
2288
                .dma_done(      dma_done        ),
2289
                .dma_done_all(  dma_done_all    ),
2290
                .de_csr(        de_csr          ),
2291
                .de_txsz(       de_txsz         ),
2292
                .de_adr0(       de_adr0         ),
2293
                .de_adr1(       de_adr1         ),
2294
                .de_csr_we(     de_csr_we       ),
2295
                .de_txsz_we(    de_txsz_we      ),
2296
                .de_adr0_we(    de_adr0_we      ),
2297
                .de_adr1_we(    de_adr1_we      ),
2298
                .de_fetch_descr(de_fetch_descr  ),
2299
                .dma_rest(      dma_rest[20]    ),
2300
                .ptr_set(       ptr_set         )
2301
                );
2302
`endif
2303
 
2304
 
2305
`ifdef HAVE_CH21
2306
wb_dma_ch_rf #(21, `HAVE_ARS21, `HAVE_ED21, `HAVE_CBUF21) u21(
2307
                .clk(           clk             ),
2308
                .rst(           rst             ),
2309
                .pointer(       pointer21       ),
2310
                .pointer_s(     pointer21_s     ),
2311
                .ch_csr(        ch21_csr                ),
2312
                .ch_txsz(       ch21_txsz       ),
2313
                .ch_adr0(       ch21_adr0       ),
2314
                .ch_adr1(       ch21_adr1       ),
2315
                .ch_am0(        ch21_am0                ),
2316
                .ch_am1(        ch21_am1                ),
2317
                .sw_pointer(    sw_pointer21    ),
2318
                .ch_stop(       ch_stop[21]     ),
2319
                .ch_dis(        ch_dis[21]      ),
2320
                .int(           ch_int[21]      ),
2321
                .wb_rf_din(     wb_rf_din       ),
2322
                .wb_rf_adr(     wb_rf_adr       ),
2323
                .wb_rf_we(      wb_rf_we        ),
2324
                .wb_rf_re(      wb_rf_re        ),
2325
                .ch_sel(        ch_sel          ),
2326
                .ndnr(          ndnr[21]                ),
2327
                .dma_busy(      dma_busy        ),
2328
                .dma_err(       dma_err         ),
2329
                .dma_done(      dma_done        ),
2330
                .dma_done_all(  dma_done_all    ),
2331
                .de_csr(        de_csr          ),
2332
                .de_txsz(       de_txsz         ),
2333
                .de_adr0(       de_adr0         ),
2334
                .de_adr1(       de_adr1         ),
2335
                .de_csr_we(     de_csr_we       ),
2336
                .de_txsz_we(    de_txsz_we      ),
2337
                .de_adr0_we(    de_adr0_we      ),
2338
                .de_adr1_we(    de_adr1_we      ),
2339
                .de_fetch_descr(de_fetch_descr  ),
2340
                .dma_rest(      dma_rest[21]    ),
2341
                .ptr_set(       ptr_set         )
2342
                );
2343
`else
2344
wb_dma_ch_rf_dummy #(21, `HAVE_ARS21, `HAVE_ED21, `HAVE_CBUF21) u21(
2345
                .clk(           clk             ),
2346
                .rst(           rst             ),
2347
                .pointer(       pointer21       ),
2348
                .pointer_s(     pointer21_s     ),
2349
                .ch_csr(        ch21_csr                ),
2350
                .ch_txsz(       ch21_txsz       ),
2351
                .ch_adr0(       ch21_adr0       ),
2352
                .ch_adr1(       ch21_adr1       ),
2353
                .ch_am0(        ch21_am0                ),
2354
                .ch_am1(        ch21_am1                ),
2355
                .sw_pointer(    sw_pointer21    ),
2356
                .ch_stop(       ch_stop[21]     ),
2357
                .ch_dis(        ch_dis[21]      ),
2358
                .int(           ch_int[21]      ),
2359
                .wb_rf_din(     wb_rf_din       ),
2360
                .wb_rf_adr(     wb_rf_adr       ),
2361
                .wb_rf_we(      wb_rf_we        ),
2362
                .wb_rf_re(      wb_rf_re        ),
2363
                .ch_sel(        ch_sel          ),
2364
                .ndnr(          ndnr[21]                ),
2365
                .dma_busy(      dma_busy        ),
2366
                .dma_err(       dma_err         ),
2367
                .dma_done(      dma_done        ),
2368
                .dma_done_all(  dma_done_all    ),
2369
                .de_csr(        de_csr          ),
2370
                .de_txsz(       de_txsz         ),
2371
                .de_adr0(       de_adr0         ),
2372
                .de_adr1(       de_adr1         ),
2373
                .de_csr_we(     de_csr_we       ),
2374
                .de_txsz_we(    de_txsz_we      ),
2375
                .de_adr0_we(    de_adr0_we      ),
2376
                .de_adr1_we(    de_adr1_we      ),
2377
                .de_fetch_descr(de_fetch_descr  ),
2378
                .dma_rest(      dma_rest[21]    ),
2379
                .ptr_set(       ptr_set         )
2380
                );
2381
`endif
2382
 
2383
 
2384
`ifdef HAVE_CH22
2385
wb_dma_ch_rf #(22, `HAVE_ARS22, `HAVE_ED22, `HAVE_CBUF22) u22(
2386
                .clk(           clk             ),
2387
                .rst(           rst             ),
2388
                .pointer(       pointer22       ),
2389
                .pointer_s(     pointer22_s     ),
2390
                .ch_csr(        ch22_csr                ),
2391
                .ch_txsz(       ch22_txsz       ),
2392
                .ch_adr0(       ch22_adr0       ),
2393
                .ch_adr1(       ch22_adr1       ),
2394
                .ch_am0(        ch22_am0                ),
2395
                .ch_am1(        ch22_am1                ),
2396
                .sw_pointer(    sw_pointer22    ),
2397
                .ch_stop(       ch_stop[22]     ),
2398
                .ch_dis(        ch_dis[22]      ),
2399
                .int(           ch_int[22]      ),
2400
                .wb_rf_din(     wb_rf_din       ),
2401
                .wb_rf_adr(     wb_rf_adr       ),
2402
                .wb_rf_we(      wb_rf_we        ),
2403
                .wb_rf_re(      wb_rf_re        ),
2404
                .ch_sel(        ch_sel          ),
2405
                .ndnr(          ndnr[22]                ),
2406
                .dma_busy(      dma_busy        ),
2407
                .dma_err(       dma_err         ),
2408
                .dma_done(      dma_done        ),
2409
                .dma_done_all(  dma_done_all    ),
2410
                .de_csr(        de_csr          ),
2411
                .de_txsz(       de_txsz         ),
2412
                .de_adr0(       de_adr0         ),
2413
                .de_adr1(       de_adr1         ),
2414
                .de_csr_we(     de_csr_we       ),
2415
                .de_txsz_we(    de_txsz_we      ),
2416
                .de_adr0_we(    de_adr0_we      ),
2417
                .de_adr1_we(    de_adr1_we      ),
2418
                .de_fetch_descr(de_fetch_descr  ),
2419
                .dma_rest(      dma_rest[22]    ),
2420
                .ptr_set(       ptr_set         )
2421
                );
2422
`else
2423
wb_dma_ch_rf_dummy #(22, `HAVE_ARS22, `HAVE_ED22, `HAVE_CBUF22) u22(
2424
                .clk(           clk             ),
2425
                .rst(           rst             ),
2426
                .pointer(       pointer22       ),
2427
                .pointer_s(     pointer22_s     ),
2428
                .ch_csr(        ch22_csr                ),
2429
                .ch_txsz(       ch22_txsz       ),
2430
                .ch_adr0(       ch22_adr0       ),
2431
                .ch_adr1(       ch22_adr1       ),
2432
                .ch_am0(        ch22_am0                ),
2433
                .ch_am1(        ch22_am1                ),
2434
                .sw_pointer(    sw_pointer22    ),
2435
                .ch_stop(       ch_stop[22]     ),
2436
                .ch_dis(        ch_dis[22]      ),
2437
                .int(           ch_int[22]      ),
2438
                .wb_rf_din(     wb_rf_din       ),
2439
                .wb_rf_adr(     wb_rf_adr       ),
2440
                .wb_rf_we(      wb_rf_we        ),
2441
                .wb_rf_re(      wb_rf_re        ),
2442
                .ch_sel(        ch_sel          ),
2443
                .ndnr(          ndnr[22]                ),
2444
                .dma_busy(      dma_busy        ),
2445
                .dma_err(       dma_err         ),
2446
                .dma_done(      dma_done        ),
2447
                .dma_done_all(  dma_done_all    ),
2448
                .de_csr(        de_csr          ),
2449
                .de_txsz(       de_txsz         ),
2450
                .de_adr0(       de_adr0         ),
2451
                .de_adr1(       de_adr1         ),
2452
                .de_csr_we(     de_csr_we       ),
2453
                .de_txsz_we(    de_txsz_we      ),
2454
                .de_adr0_we(    de_adr0_we      ),
2455
                .de_adr1_we(    de_adr1_we      ),
2456
                .de_fetch_descr(de_fetch_descr  ),
2457
                .dma_rest(      dma_rest[22]    ),
2458
                .ptr_set(       ptr_set         )
2459
                );
2460
`endif
2461
 
2462
 
2463
`ifdef HAVE_CH23
2464
wb_dma_ch_rf #(23, `HAVE_ARS23, `HAVE_ED23, `HAVE_CBUF23) u23(
2465
                .clk(           clk             ),
2466
                .rst(           rst             ),
2467
                .pointer(       pointer23       ),
2468
                .pointer_s(     pointer23_s     ),
2469
                .ch_csr(        ch23_csr                ),
2470
                .ch_txsz(       ch23_txsz       ),
2471
                .ch_adr0(       ch23_adr0       ),
2472
                .ch_adr1(       ch23_adr1       ),
2473
                .ch_am0(        ch23_am0                ),
2474
                .ch_am1(        ch23_am1                ),
2475
                .sw_pointer(    sw_pointer23    ),
2476
                .ch_stop(       ch_stop[23]     ),
2477
                .ch_dis(        ch_dis[23]      ),
2478
                .int(           ch_int[23]      ),
2479
                .wb_rf_din(     wb_rf_din       ),
2480
                .wb_rf_adr(     wb_rf_adr       ),
2481
                .wb_rf_we(      wb_rf_we        ),
2482
                .wb_rf_re(      wb_rf_re        ),
2483
                .ch_sel(        ch_sel          ),
2484
                .ndnr(          ndnr[23]                ),
2485
                .dma_busy(      dma_busy        ),
2486
                .dma_err(       dma_err         ),
2487
                .dma_done(      dma_done        ),
2488
                .dma_done_all(  dma_done_all    ),
2489
                .de_csr(        de_csr          ),
2490
                .de_txsz(       de_txsz         ),
2491
                .de_adr0(       de_adr0         ),
2492
                .de_adr1(       de_adr1         ),
2493
                .de_csr_we(     de_csr_we       ),
2494
                .de_txsz_we(    de_txsz_we      ),
2495
                .de_adr0_we(    de_adr0_we      ),
2496
                .de_adr1_we(    de_adr1_we      ),
2497
                .de_fetch_descr(de_fetch_descr  ),
2498
                .dma_rest(      dma_rest[23]    ),
2499
                .ptr_set(       ptr_set         )
2500
                );
2501
`else
2502
wb_dma_ch_rf_dummy #(23, `HAVE_ARS23, `HAVE_ED23, `HAVE_CBUF23) u23(
2503
                .clk(           clk             ),
2504
                .rst(           rst             ),
2505
                .pointer(       pointer23       ),
2506
                .pointer_s(     pointer23_s     ),
2507
                .ch_csr(        ch23_csr                ),
2508
                .ch_txsz(       ch23_txsz       ),
2509
                .ch_adr0(       ch23_adr0       ),
2510
                .ch_adr1(       ch23_adr1       ),
2511
                .ch_am0(        ch23_am0                ),
2512
                .ch_am1(        ch23_am1                ),
2513
                .sw_pointer(    sw_pointer23    ),
2514
                .ch_stop(       ch_stop[23]     ),
2515
                .ch_dis(        ch_dis[23]      ),
2516
                .int(           ch_int[23]      ),
2517
                .wb_rf_din(     wb_rf_din       ),
2518
                .wb_rf_adr(     wb_rf_adr       ),
2519
                .wb_rf_we(      wb_rf_we        ),
2520
                .wb_rf_re(      wb_rf_re        ),
2521
                .ch_sel(        ch_sel          ),
2522
                .ndnr(          ndnr[23]                ),
2523
                .dma_busy(      dma_busy        ),
2524
                .dma_err(       dma_err         ),
2525
                .dma_done(      dma_done        ),
2526
                .dma_done_all(  dma_done_all    ),
2527
                .de_csr(        de_csr          ),
2528
                .de_txsz(       de_txsz         ),
2529
                .de_adr0(       de_adr0         ),
2530
                .de_adr1(       de_adr1         ),
2531
                .de_csr_we(     de_csr_we       ),
2532
                .de_txsz_we(    de_txsz_we      ),
2533
                .de_adr0_we(    de_adr0_we      ),
2534
                .de_adr1_we(    de_adr1_we      ),
2535
                .de_fetch_descr(de_fetch_descr  ),
2536
                .dma_rest(      dma_rest[23]    ),
2537
                .ptr_set(       ptr_set         )
2538
                );
2539
`endif
2540
 
2541
 
2542
`ifdef HAVE_CH24
2543
wb_dma_ch_rf #(24, `HAVE_ARS24, `HAVE_ED24, `HAVE_CBUF24) u24(
2544
                .clk(           clk             ),
2545
                .rst(           rst             ),
2546
                .pointer(       pointer24       ),
2547
                .pointer_s(     pointer24_s     ),
2548
                .ch_csr(        ch24_csr                ),
2549
                .ch_txsz(       ch24_txsz       ),
2550
                .ch_adr0(       ch24_adr0       ),
2551
                .ch_adr1(       ch24_adr1       ),
2552
                .ch_am0(        ch24_am0                ),
2553
                .ch_am1(        ch24_am1                ),
2554
                .sw_pointer(    sw_pointer24    ),
2555
                .ch_stop(       ch_stop[24]     ),
2556
                .ch_dis(        ch_dis[24]      ),
2557
                .int(           ch_int[24]      ),
2558
                .wb_rf_din(     wb_rf_din       ),
2559
                .wb_rf_adr(     wb_rf_adr       ),
2560
                .wb_rf_we(      wb_rf_we        ),
2561
                .wb_rf_re(      wb_rf_re        ),
2562
                .ch_sel(        ch_sel          ),
2563
                .ndnr(          ndnr[24]                ),
2564
                .dma_busy(      dma_busy        ),
2565
                .dma_err(       dma_err         ),
2566
                .dma_done(      dma_done        ),
2567
                .dma_done_all(  dma_done_all    ),
2568
                .de_csr(        de_csr          ),
2569
                .de_txsz(       de_txsz         ),
2570
                .de_adr0(       de_adr0         ),
2571
                .de_adr1(       de_adr1         ),
2572
                .de_csr_we(     de_csr_we       ),
2573
                .de_txsz_we(    de_txsz_we      ),
2574
                .de_adr0_we(    de_adr0_we      ),
2575
                .de_adr1_we(    de_adr1_we      ),
2576
                .de_fetch_descr(de_fetch_descr  ),
2577
                .dma_rest(      dma_rest[24]    ),
2578
                .ptr_set(       ptr_set         )
2579
                );
2580
`else
2581
wb_dma_ch_rf_dummy #(24, `HAVE_ARS24, `HAVE_ED24, `HAVE_CBUF24) u24(
2582
                .clk(           clk             ),
2583
                .rst(           rst             ),
2584
                .pointer(       pointer24       ),
2585
                .pointer_s(     pointer24_s     ),
2586
                .ch_csr(        ch24_csr                ),
2587
                .ch_txsz(       ch24_txsz       ),
2588
                .ch_adr0(       ch24_adr0       ),
2589
                .ch_adr1(       ch24_adr1       ),
2590
                .ch_am0(        ch24_am0                ),
2591
                .ch_am1(        ch24_am1                ),
2592
                .sw_pointer(    sw_pointer24    ),
2593
                .ch_stop(       ch_stop[24]     ),
2594
                .ch_dis(        ch_dis[24]      ),
2595
                .int(           ch_int[24]      ),
2596
                .wb_rf_din(     wb_rf_din       ),
2597
                .wb_rf_adr(     wb_rf_adr       ),
2598
                .wb_rf_we(      wb_rf_we        ),
2599
                .wb_rf_re(      wb_rf_re        ),
2600
                .ch_sel(        ch_sel          ),
2601
                .ndnr(          ndnr[24]                ),
2602
                .dma_busy(      dma_busy        ),
2603
                .dma_err(       dma_err         ),
2604
                .dma_done(      dma_done        ),
2605
                .dma_done_all(  dma_done_all    ),
2606
                .de_csr(        de_csr          ),
2607
                .de_txsz(       de_txsz         ),
2608
                .de_adr0(       de_adr0         ),
2609
                .de_adr1(       de_adr1         ),
2610
                .de_csr_we(     de_csr_we       ),
2611
                .de_txsz_we(    de_txsz_we      ),
2612
                .de_adr0_we(    de_adr0_we      ),
2613
                .de_adr1_we(    de_adr1_we      ),
2614
                .de_fetch_descr(de_fetch_descr  ),
2615
                .dma_rest(      dma_rest[24]    ),
2616
                .ptr_set(       ptr_set         )
2617
                );
2618
`endif
2619
 
2620
 
2621
`ifdef HAVE_CH25
2622
wb_dma_ch_rf #(25, `HAVE_ARS25, `HAVE_ED25, `HAVE_CBUF25) u25(
2623
                .clk(           clk             ),
2624
                .rst(           rst             ),
2625
                .pointer(       pointer25       ),
2626
                .pointer_s(     pointer25_s     ),
2627
                .ch_csr(        ch25_csr                ),
2628
                .ch_txsz(       ch25_txsz       ),
2629
                .ch_adr0(       ch25_adr0       ),
2630
                .ch_adr1(       ch25_adr1       ),
2631
                .ch_am0(        ch25_am0                ),
2632
                .ch_am1(        ch25_am1                ),
2633
                .sw_pointer(    sw_pointer25    ),
2634
                .ch_stop(       ch_stop[25]     ),
2635
                .ch_dis(        ch_dis[25]      ),
2636
                .int(           ch_int[25]      ),
2637
                .wb_rf_din(     wb_rf_din       ),
2638
                .wb_rf_adr(     wb_rf_adr       ),
2639
                .wb_rf_we(      wb_rf_we        ),
2640
                .wb_rf_re(      wb_rf_re        ),
2641
                .ch_sel(        ch_sel          ),
2642
                .ndnr(          ndnr[25]                ),
2643
                .dma_busy(      dma_busy        ),
2644
                .dma_err(       dma_err         ),
2645
                .dma_done(      dma_done        ),
2646
                .dma_done_all(  dma_done_all    ),
2647
                .de_csr(        de_csr          ),
2648
                .de_txsz(       de_txsz         ),
2649
                .de_adr0(       de_adr0         ),
2650
                .de_adr1(       de_adr1         ),
2651
                .de_csr_we(     de_csr_we       ),
2652
                .de_txsz_we(    de_txsz_we      ),
2653
                .de_adr0_we(    de_adr0_we      ),
2654
                .de_adr1_we(    de_adr1_we      ),
2655
                .de_fetch_descr(de_fetch_descr  ),
2656
                .dma_rest(      dma_rest[25]    ),
2657
                .ptr_set(       ptr_set         )
2658
                );
2659
`else
2660
wb_dma_ch_rf_dummy #(25, `HAVE_ARS25, `HAVE_ED25, `HAVE_CBUF25) u25(
2661
                .clk(           clk             ),
2662
                .rst(           rst             ),
2663
                .pointer(       pointer25       ),
2664
                .pointer_s(     pointer25_s     ),
2665
                .ch_csr(        ch25_csr                ),
2666
                .ch_txsz(       ch25_txsz       ),
2667
                .ch_adr0(       ch25_adr0       ),
2668
                .ch_adr1(       ch25_adr1       ),
2669
                .ch_am0(        ch25_am0                ),
2670
                .ch_am1(        ch25_am1                ),
2671
                .sw_pointer(    sw_pointer25    ),
2672
                .ch_stop(       ch_stop[25]     ),
2673
                .ch_dis(        ch_dis[25]      ),
2674
                .int(           ch_int[25]      ),
2675
                .wb_rf_din(     wb_rf_din       ),
2676
                .wb_rf_adr(     wb_rf_adr       ),
2677
                .wb_rf_we(      wb_rf_we        ),
2678
                .wb_rf_re(      wb_rf_re        ),
2679
                .ch_sel(        ch_sel          ),
2680
                .ndnr(          ndnr[25]                ),
2681
                .dma_busy(      dma_busy        ),
2682
                .dma_err(       dma_err         ),
2683
                .dma_done(      dma_done        ),
2684
                .dma_done_all(  dma_done_all    ),
2685
                .de_csr(        de_csr          ),
2686
                .de_txsz(       de_txsz         ),
2687
                .de_adr0(       de_adr0         ),
2688
                .de_adr1(       de_adr1         ),
2689
                .de_csr_we(     de_csr_we       ),
2690
                .de_txsz_we(    de_txsz_we      ),
2691
                .de_adr0_we(    de_adr0_we      ),
2692
                .de_adr1_we(    de_adr1_we      ),
2693
                .de_fetch_descr(de_fetch_descr  ),
2694
                .dma_rest(      dma_rest[25]    ),
2695
                .ptr_set(       ptr_set         )
2696
                );
2697
`endif
2698
 
2699
 
2700
`ifdef HAVE_CH26
2701
wb_dma_ch_rf #(26, `HAVE_ARS26, `HAVE_ED26, `HAVE_CBUF26) u26(
2702
                .clk(           clk             ),
2703
                .rst(           rst             ),
2704
                .pointer(       pointer26       ),
2705
                .pointer_s(     pointer26_s     ),
2706
                .ch_csr(        ch26_csr                ),
2707
                .ch_txsz(       ch26_txsz       ),
2708
                .ch_adr0(       ch26_adr0       ),
2709
                .ch_adr1(       ch26_adr1       ),
2710
                .ch_am0(        ch26_am0                ),
2711
                .ch_am1(        ch26_am1                ),
2712
                .sw_pointer(    sw_pointer26    ),
2713
                .ch_stop(       ch_stop[26]     ),
2714
                .ch_dis(        ch_dis[26]      ),
2715
                .int(           ch_int[26]      ),
2716
                .wb_rf_din(     wb_rf_din       ),
2717
                .wb_rf_adr(     wb_rf_adr       ),
2718
                .wb_rf_we(      wb_rf_we        ),
2719
                .wb_rf_re(      wb_rf_re        ),
2720
                .ch_sel(        ch_sel          ),
2721
                .ndnr(          ndnr[26]                ),
2722
                .dma_busy(      dma_busy        ),
2723
                .dma_err(       dma_err         ),
2724
                .dma_done(      dma_done        ),
2725
                .dma_done_all(  dma_done_all    ),
2726
                .de_csr(        de_csr          ),
2727
                .de_txsz(       de_txsz         ),
2728
                .de_adr0(       de_adr0         ),
2729
                .de_adr1(       de_adr1         ),
2730
                .de_csr_we(     de_csr_we       ),
2731
                .de_txsz_we(    de_txsz_we      ),
2732
                .de_adr0_we(    de_adr0_we      ),
2733
                .de_adr1_we(    de_adr1_we      ),
2734
                .de_fetch_descr(de_fetch_descr  ),
2735
                .dma_rest(      dma_rest[26]    ),
2736
                .ptr_set(       ptr_set         )
2737
                );
2738
`else
2739
wb_dma_ch_rf_dummy #(26, `HAVE_ARS26, `HAVE_ED26, `HAVE_CBUF26) u26(
2740
                .clk(           clk             ),
2741
                .rst(           rst             ),
2742
                .pointer(       pointer26       ),
2743
                .pointer_s(     pointer26_s     ),
2744
                .ch_csr(        ch26_csr                ),
2745
                .ch_txsz(       ch26_txsz       ),
2746
                .ch_adr0(       ch26_adr0       ),
2747
                .ch_adr1(       ch26_adr1       ),
2748
                .ch_am0(        ch26_am0                ),
2749
                .ch_am1(        ch26_am1                ),
2750
                .sw_pointer(    sw_pointer26    ),
2751
                .ch_stop(       ch_stop[26]     ),
2752
                .ch_dis(        ch_dis[26]      ),
2753
                .int(           ch_int[26]      ),
2754
                .wb_rf_din(     wb_rf_din       ),
2755
                .wb_rf_adr(     wb_rf_adr       ),
2756
                .wb_rf_we(      wb_rf_we        ),
2757
                .wb_rf_re(      wb_rf_re        ),
2758
                .ch_sel(        ch_sel          ),
2759
                .ndnr(          ndnr[26]                ),
2760
                .dma_busy(      dma_busy        ),
2761
                .dma_err(       dma_err         ),
2762
                .dma_done(      dma_done        ),
2763
                .dma_done_all(  dma_done_all    ),
2764
                .de_csr(        de_csr          ),
2765
                .de_txsz(       de_txsz         ),
2766
                .de_adr0(       de_adr0         ),
2767
                .de_adr1(       de_adr1         ),
2768
                .de_csr_we(     de_csr_we       ),
2769
                .de_txsz_we(    de_txsz_we      ),
2770
                .de_adr0_we(    de_adr0_we      ),
2771
                .de_adr1_we(    de_adr1_we      ),
2772
                .de_fetch_descr(de_fetch_descr  ),
2773
                .dma_rest(      dma_rest[26]    ),
2774
                .ptr_set(       ptr_set         )
2775
                );
2776
`endif
2777
 
2778
 
2779
`ifdef HAVE_CH27
2780
wb_dma_ch_rf #(27, `HAVE_ARS27, `HAVE_ED27, `HAVE_CBUF27) u27(
2781
                .clk(           clk             ),
2782
                .rst(           rst             ),
2783
                .pointer(       pointer27       ),
2784
                .pointer_s(     pointer27_s     ),
2785
                .ch_csr(        ch27_csr                ),
2786
                .ch_txsz(       ch27_txsz       ),
2787
                .ch_adr0(       ch27_adr0       ),
2788
                .ch_adr1(       ch27_adr1       ),
2789
                .ch_am0(        ch27_am0                ),
2790
                .ch_am1(        ch27_am1                ),
2791
                .sw_pointer(    sw_pointer27    ),
2792
                .ch_stop(       ch_stop[27]     ),
2793
                .ch_dis(        ch_dis[27]      ),
2794
                .int(           ch_int[27]      ),
2795
                .wb_rf_din(     wb_rf_din       ),
2796
                .wb_rf_adr(     wb_rf_adr       ),
2797
                .wb_rf_we(      wb_rf_we        ),
2798
                .wb_rf_re(      wb_rf_re        ),
2799
                .ch_sel(        ch_sel          ),
2800
                .ndnr(          ndnr[27]                ),
2801
                .dma_busy(      dma_busy        ),
2802
                .dma_err(       dma_err         ),
2803
                .dma_done(      dma_done        ),
2804
                .dma_done_all(  dma_done_all    ),
2805
                .de_csr(        de_csr          ),
2806
                .de_txsz(       de_txsz         ),
2807
                .de_adr0(       de_adr0         ),
2808
                .de_adr1(       de_adr1         ),
2809
                .de_csr_we(     de_csr_we       ),
2810
                .de_txsz_we(    de_txsz_we      ),
2811
                .de_adr0_we(    de_adr0_we      ),
2812
                .de_adr1_we(    de_adr1_we      ),
2813
                .de_fetch_descr(de_fetch_descr  ),
2814
                .dma_rest(      dma_rest[27]    ),
2815
                .ptr_set(       ptr_set         )
2816
                );
2817
`else
2818
wb_dma_ch_rf_dummy #(27, `HAVE_ARS27, `HAVE_ED27, `HAVE_CBUF27) u27(
2819
                .clk(           clk             ),
2820
                .rst(           rst             ),
2821
                .pointer(       pointer27       ),
2822
                .pointer_s(     pointer27_s     ),
2823
                .ch_csr(        ch27_csr                ),
2824
                .ch_txsz(       ch27_txsz       ),
2825
                .ch_adr0(       ch27_adr0       ),
2826
                .ch_adr1(       ch27_adr1       ),
2827
                .ch_am0(        ch27_am0                ),
2828
                .ch_am1(        ch27_am1                ),
2829
                .sw_pointer(    sw_pointer27    ),
2830
                .ch_stop(       ch_stop[27]     ),
2831
                .ch_dis(        ch_dis[27]      ),
2832
                .int(           ch_int[27]      ),
2833
                .wb_rf_din(     wb_rf_din       ),
2834
                .wb_rf_adr(     wb_rf_adr       ),
2835
                .wb_rf_we(      wb_rf_we        ),
2836
                .wb_rf_re(      wb_rf_re        ),
2837
                .ch_sel(        ch_sel          ),
2838
                .ndnr(          ndnr[27]                ),
2839
                .dma_busy(      dma_busy        ),
2840
                .dma_err(       dma_err         ),
2841
                .dma_done(      dma_done        ),
2842
                .dma_done_all(  dma_done_all    ),
2843
                .de_csr(        de_csr          ),
2844
                .de_txsz(       de_txsz         ),
2845
                .de_adr0(       de_adr0         ),
2846
                .de_adr1(       de_adr1         ),
2847
                .de_csr_we(     de_csr_we       ),
2848
                .de_txsz_we(    de_txsz_we      ),
2849
                .de_adr0_we(    de_adr0_we      ),
2850
                .de_adr1_we(    de_adr1_we      ),
2851
                .de_fetch_descr(de_fetch_descr  ),
2852
                .dma_rest(      dma_rest[27]    ),
2853
                .ptr_set(       ptr_set         )
2854
                );
2855
`endif
2856
 
2857
 
2858
`ifdef HAVE_CH28
2859
wb_dma_ch_rf #(28, `HAVE_ARS28, `HAVE_ED28, `HAVE_CBUF28) u28(
2860
                .clk(           clk             ),
2861
                .rst(           rst             ),
2862
                .pointer(       pointer28       ),
2863
                .pointer_s(     pointer28_s     ),
2864
                .ch_csr(        ch28_csr                ),
2865
                .ch_txsz(       ch28_txsz       ),
2866
                .ch_adr0(       ch28_adr0       ),
2867
                .ch_adr1(       ch28_adr1       ),
2868
                .ch_am0(        ch28_am0                ),
2869
                .ch_am1(        ch28_am1                ),
2870
                .sw_pointer(    sw_pointer28    ),
2871
                .ch_stop(       ch_stop[28]     ),
2872
                .ch_dis(        ch_dis[28]      ),
2873
                .int(           ch_int[28]      ),
2874
                .wb_rf_din(     wb_rf_din       ),
2875
                .wb_rf_adr(     wb_rf_adr       ),
2876
                .wb_rf_we(      wb_rf_we        ),
2877
                .wb_rf_re(      wb_rf_re        ),
2878
                .ch_sel(        ch_sel          ),
2879
                .ndnr(          ndnr[28]                ),
2880
                .dma_busy(      dma_busy        ),
2881
                .dma_err(       dma_err         ),
2882
                .dma_done(      dma_done        ),
2883
                .dma_done_all(  dma_done_all    ),
2884
                .de_csr(        de_csr          ),
2885
                .de_txsz(       de_txsz         ),
2886
                .de_adr0(       de_adr0         ),
2887
                .de_adr1(       de_adr1         ),
2888
                .de_csr_we(     de_csr_we       ),
2889
                .de_txsz_we(    de_txsz_we      ),
2890
                .de_adr0_we(    de_adr0_we      ),
2891
                .de_adr1_we(    de_adr1_we      ),
2892
                .de_fetch_descr(de_fetch_descr  ),
2893
                .dma_rest(      dma_rest[28]    ),
2894
                .ptr_set(       ptr_set         )
2895
                );
2896
`else
2897
wb_dma_ch_rf_dummy #(28, `HAVE_ARS28, `HAVE_ED28, `HAVE_CBUF28) u28(
2898
                .clk(           clk             ),
2899
                .rst(           rst             ),
2900
                .pointer(       pointer28       ),
2901
                .pointer_s(     pointer28_s     ),
2902
                .ch_csr(        ch28_csr                ),
2903
                .ch_txsz(       ch28_txsz       ),
2904
                .ch_adr0(       ch28_adr0       ),
2905
                .ch_adr1(       ch28_adr1       ),
2906
                .ch_am0(        ch28_am0                ),
2907
                .ch_am1(        ch28_am1                ),
2908
                .sw_pointer(    sw_pointer28    ),
2909
                .ch_stop(       ch_stop[28]     ),
2910
                .ch_dis(        ch_dis[28]      ),
2911
                .int(           ch_int[28]      ),
2912
                .wb_rf_din(     wb_rf_din       ),
2913
                .wb_rf_adr(     wb_rf_adr       ),
2914
                .wb_rf_we(      wb_rf_we        ),
2915
                .wb_rf_re(      wb_rf_re        ),
2916
                .ch_sel(        ch_sel          ),
2917
                .ndnr(          ndnr[28]                ),
2918
                .dma_busy(      dma_busy        ),
2919
                .dma_err(       dma_err         ),
2920
                .dma_done(      dma_done        ),
2921
                .dma_done_all(  dma_done_all    ),
2922
                .de_csr(        de_csr          ),
2923
                .de_txsz(       de_txsz         ),
2924
                .de_adr0(       de_adr0         ),
2925
                .de_adr1(       de_adr1         ),
2926
                .de_csr_we(     de_csr_we       ),
2927
                .de_txsz_we(    de_txsz_we      ),
2928
                .de_adr0_we(    de_adr0_we      ),
2929
                .de_adr1_we(    de_adr1_we      ),
2930
                .de_fetch_descr(de_fetch_descr  ),
2931
                .dma_rest(      dma_rest[28]    ),
2932
                .ptr_set(       ptr_set         )
2933
                );
2934
`endif
2935
 
2936
 
2937
`ifdef HAVE_CH29
2938
wb_dma_ch_rf #(29, `HAVE_ARS29, `HAVE_ED29, `HAVE_CBUF29) u29(
2939
                .clk(           clk             ),
2940
                .rst(           rst             ),
2941
                .pointer(       pointer29       ),
2942
                .pointer_s(     pointer29_s     ),
2943
                .ch_csr(        ch29_csr                ),
2944
                .ch_txsz(       ch29_txsz       ),
2945
                .ch_adr0(       ch29_adr0       ),
2946
                .ch_adr1(       ch29_adr1       ),
2947
                .ch_am0(        ch29_am0                ),
2948
                .ch_am1(        ch29_am1                ),
2949
                .sw_pointer(    sw_pointer29    ),
2950
                .ch_stop(       ch_stop[29]     ),
2951
                .ch_dis(        ch_dis[29]      ),
2952
                .int(           ch_int[29]      ),
2953
                .wb_rf_din(     wb_rf_din       ),
2954
                .wb_rf_adr(     wb_rf_adr       ),
2955
                .wb_rf_we(      wb_rf_we        ),
2956
                .wb_rf_re(      wb_rf_re        ),
2957
                .ch_sel(        ch_sel          ),
2958
                .ndnr(          ndnr[29]                ),
2959
                .dma_busy(      dma_busy        ),
2960
                .dma_err(       dma_err         ),
2961
                .dma_done(      dma_done        ),
2962
                .dma_done_all(  dma_done_all    ),
2963
                .de_csr(        de_csr          ),
2964
                .de_txsz(       de_txsz         ),
2965
                .de_adr0(       de_adr0         ),
2966
                .de_adr1(       de_adr1         ),
2967
                .de_csr_we(     de_csr_we       ),
2968
                .de_txsz_we(    de_txsz_we      ),
2969
                .de_adr0_we(    de_adr0_we      ),
2970
                .de_adr1_we(    de_adr1_we      ),
2971
                .de_fetch_descr(de_fetch_descr  ),
2972
                .dma_rest(      dma_rest[29]    ),
2973
                .ptr_set(       ptr_set         )
2974
                );
2975
`else
2976
wb_dma_ch_rf_dummy #(29, `HAVE_ARS29, `HAVE_ED29, `HAVE_CBUF29) u29(
2977
                .clk(           clk             ),
2978
                .rst(           rst             ),
2979
                .pointer(       pointer29       ),
2980
                .pointer_s(     pointer29_s     ),
2981
                .ch_csr(        ch29_csr                ),
2982
                .ch_txsz(       ch29_txsz       ),
2983
                .ch_adr0(       ch29_adr0       ),
2984
                .ch_adr1(       ch29_adr1       ),
2985
                .ch_am0(        ch29_am0                ),
2986
                .ch_am1(        ch29_am1                ),
2987
                .sw_pointer(    sw_pointer29    ),
2988
                .ch_stop(       ch_stop[29]     ),
2989
                .ch_dis(        ch_dis[29]      ),
2990
                .int(           ch_int[29]      ),
2991
                .wb_rf_din(     wb_rf_din       ),
2992
                .wb_rf_adr(     wb_rf_adr       ),
2993
                .wb_rf_we(      wb_rf_we        ),
2994
                .wb_rf_re(      wb_rf_re        ),
2995
                .ch_sel(        ch_sel          ),
2996
                .ndnr(          ndnr[29]                ),
2997
                .dma_busy(      dma_busy        ),
2998
                .dma_err(       dma_err         ),
2999
                .dma_done(      dma_done        ),
3000
                .dma_done_all(  dma_done_all    ),
3001
                .de_csr(        de_csr          ),
3002
                .de_txsz(       de_txsz         ),
3003
                .de_adr0(       de_adr0         ),
3004
                .de_adr1(       de_adr1         ),
3005
                .de_csr_we(     de_csr_we       ),
3006
                .de_txsz_we(    de_txsz_we      ),
3007
                .de_adr0_we(    de_adr0_we      ),
3008
                .de_adr1_we(    de_adr1_we      ),
3009
                .de_fetch_descr(de_fetch_descr  ),
3010
                .dma_rest(      dma_rest[29]    ),
3011
                .ptr_set(       ptr_set         )
3012
                );
3013
`endif
3014
 
3015
 
3016
`ifdef HAVE_CH30
3017
wb_dma_ch_rf #(30, `HAVE_ARS30, `HAVE_ED30, `HAVE_CBUF30) u30(
3018
                .clk(           clk             ),
3019
                .rst(           rst             ),
3020
                .pointer(       pointer30       ),
3021
                .pointer_s(     pointer30_s     ),
3022
                .ch_csr(        ch30_csr                ),
3023
                .ch_txsz(       ch30_txsz       ),
3024
                .ch_adr0(       ch30_adr0       ),
3025
                .ch_adr1(       ch30_adr1       ),
3026
                .ch_am0(        ch30_am0                ),
3027
                .ch_am1(        ch30_am1                ),
3028
                .sw_pointer(    sw_pointer30    ),
3029
                .ch_stop(       ch_stop[30]     ),
3030
                .ch_dis(        ch_dis[30]      ),
3031
                .int(           ch_int[30]      ),
3032
                .wb_rf_din(     wb_rf_din       ),
3033
                .wb_rf_adr(     wb_rf_adr       ),
3034
                .wb_rf_we(      wb_rf_we        ),
3035
                .wb_rf_re(      wb_rf_re        ),
3036
                .ch_sel(        ch_sel          ),
3037
                .ndnr(          ndnr[30]                ),
3038
                .dma_busy(      dma_busy        ),
3039
                .dma_err(       dma_err         ),
3040
                .dma_done(      dma_done        ),
3041
                .dma_done_all(  dma_done_all    ),
3042
                .de_csr(        de_csr          ),
3043
                .de_txsz(       de_txsz         ),
3044
                .de_adr0(       de_adr0         ),
3045
                .de_adr1(       de_adr1         ),
3046
                .de_csr_we(     de_csr_we       ),
3047
                .de_txsz_we(    de_txsz_we      ),
3048
                .de_adr0_we(    de_adr0_we      ),
3049
                .de_adr1_we(    de_adr1_we      ),
3050
                .de_fetch_descr(de_fetch_descr  ),
3051
                .dma_rest(      dma_rest[30]    ),
3052
                .ptr_set(       ptr_set         )
3053
                );
3054
`else
3055
wb_dma_ch_rf_dummy #(30, `HAVE_ARS30, `HAVE_ED30, `HAVE_CBUF30) u30(
3056
                .clk(           clk             ),
3057
                .rst(           rst             ),
3058
                .pointer(       pointer30       ),
3059
                .pointer_s(     pointer30_s     ),
3060
                .ch_csr(        ch30_csr                ),
3061
                .ch_txsz(       ch30_txsz       ),
3062
                .ch_adr0(       ch30_adr0       ),
3063
                .ch_adr1(       ch30_adr1       ),
3064
                .ch_am0(        ch30_am0                ),
3065
                .ch_am1(        ch30_am1                ),
3066
                .sw_pointer(    sw_pointer30    ),
3067
                .ch_stop(       ch_stop[30]     ),
3068
                .ch_dis(        ch_dis[30]      ),
3069
                .int(           ch_int[30]      ),
3070
                .wb_rf_din(     wb_rf_din       ),
3071
                .wb_rf_adr(     wb_rf_adr       ),
3072
                .wb_rf_we(      wb_rf_we        ),
3073
                .wb_rf_re(      wb_rf_re        ),
3074
                .ch_sel(        ch_sel          ),
3075
                .ndnr(          ndnr[30]                ),
3076
                .dma_busy(      dma_busy        ),
3077
                .dma_err(       dma_err         ),
3078
                .dma_done(      dma_done        ),
3079
                .dma_done_all(  dma_done_all    ),
3080
                .de_csr(        de_csr          ),
3081
                .de_txsz(       de_txsz         ),
3082
                .de_adr0(       de_adr0         ),
3083
                .de_adr1(       de_adr1         ),
3084
                .de_csr_we(     de_csr_we       ),
3085
                .de_txsz_we(    de_txsz_we      ),
3086
                .de_adr0_we(    de_adr0_we      ),
3087
                .de_adr1_we(    de_adr1_we      ),
3088
                .de_fetch_descr(de_fetch_descr  ),
3089
                .dma_rest(      dma_rest[30]    ),
3090
                .ptr_set(       ptr_set         )
3091
                );
3092
`endif
3093
 
3094
endmodule

powered by: WebSVN 2.1.0

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