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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi32/] [dma_axi32_core0_channels_mux.v] - Blame information for rev 2

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

Line No. Rev Author Line
1 2 eyalhoc
//---------------------------------------------------------
2
//-- File generated by RobustVerilog parser
3
//-- Version: 1.0
4
//-- Invoked Fri Mar 25 23:34:52 2011
5
//--
6
//-- Source file: dma_core_channels_mux.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_axi32_core0_channels_mux(ch_fifo_rd_valid,fifo_rd_valid,ch_fifo_rdata,fifo_rdata,ch_periph_rx_clr,periph_rx_clr,ch_periph_tx_clr,periph_tx_clr,ch_rd_page_cross,ch_wr_page_cross,rd_page_cross,wr_page_cross,timeout_aw,timeout_w,timeout_ar,timeout_num_aw,timeout_num_w,timeout_num_ar,wdt_timeout,wdt_ch_num,ch_timeout_aw,ch_timeout_w,ch_timeout_ar,ch_wdt_timeout,joint_in_prog,joint_not_in_prog,joint_mux_in_prog,ch_joint_in_prog,ch_joint_not_in_prog,ch_joint_mux_in_prog,wr_cmd_pending,ch_wr_cmd_pending,rd_ch_num,rd_cmd_num,load_req_in_prog,rd_line_cmd,rd_go_next_line,rd_burst_start,rd_burst_addr,rd_burst_size,rd_tokens,rd_cmd_port,rd_periph_delay,rd_clr_valid,rd_cmd_split,rd_cmd_line,rd_clr_stall,ch_load_req_in_prog,ch_rd_line_cmd,ch_rd_go_next_line,ch_rd_burst_start,ch_rd_burst_addr,ch_rd_burst_size,ch_rd_tokens,ch_rd_port_num,ch_rd_periph_delay,ch_rd_clr_valid,ch_rd_cmd_split,ch_rd_cmd_line,ch_rd_clr_stall,load_wr_num,load_wr,ch_load_wr,ch_fifo_wr_num,rd_transfer_num,rd_clr_line_num,rd_transfer,rd_clr_line,fifo_wr,ch_rd_transfer,ch_rd_clr_line,ch_fifo_wr,rd_ch_num_resp,rd_slverr,rd_decerr,rd_clr,rd_clr_load,ch_rd_slverr,ch_rd_decerr,ch_rd_clr,ch_rd_clr_load,wr_ch_num,wr_cmd_num,wr_last_cmd,wr_line_cmd,wr_go_next_line,wr_burst_start,wr_burst_addr,wr_burst_size,wr_tokens,wr_cmd_port,wr_periph_delay,wr_clr_valid,wr_cmd_split,wr_clr_stall,ch_wr_last_cmd,ch_wr_line_cmd,ch_wr_go_next_line,ch_wr_burst_start,ch_wr_burst_addr,ch_wr_burst_size,ch_wr_tokens,ch_wr_port_num,ch_wr_periph_delay,ch_wr_clr_valid,ch_wr_cmd_split,ch_wr_clr_stall,ch_fifo_rd_num,wr_transfer_num,wr_clr_line_num,wr_transfer,wr_clr_line,fifo_rd,ch_fifo_wr_ready,ch_wr_transfer,ch_wr_clr_line,ch_fifo_rd,fifo_wr_ready,wr_ch_num_resp,wr_slverr,wr_decerr,wr_clr,wr_clr_last,ch_wr_slverr,ch_wr_decerr,ch_wr_clr_last,ch_wr_clr);
12
 
13
   //data
14
   input [7:0]               ch_fifo_rd_valid;
15
   output               fifo_rd_valid;
16
   input [8*32-1:0]    ch_fifo_rdata;
17
   output [32-1:0]     fifo_rdata;
18
 
19
   //periph
20
   input [8*31-1:0]           ch_periph_rx_clr;
21
   output [30:0]           periph_rx_clr;
22
   input [8*31-1:0]           ch_periph_tx_clr;
23
   output [30:0]           periph_tx_clr;
24
 
25
   output [7:0]           ch_rd_page_cross;
26
   output [7:0]           ch_wr_page_cross;
27
   input               rd_page_cross;
28
   input               wr_page_cross;
29
 
30
   //axim timeout
31
   input               timeout_aw;
32
   input               timeout_w;
33
   input               timeout_ar;
34
   input [2:0]               timeout_num_aw;
35
   input [2:0]               timeout_num_w;
36
   input [2:0]               timeout_num_ar;
37
   input               wdt_timeout;
38
   input [2:0]               wdt_ch_num;
39
 
40
   output [7:0]           ch_timeout_aw;
41
   output [7:0]           ch_timeout_w;
42
   output [7:0]           ch_timeout_ar;
43
   output [7:0]           ch_wdt_timeout;
44
 
45
   output               joint_in_prog;
46
   output               joint_not_in_prog;
47
   output               joint_mux_in_prog;
48
   input [7:0]               ch_joint_in_prog;
49
   input [7:0]               ch_joint_not_in_prog;
50
   input [7:0]               ch_joint_mux_in_prog;
51
 
52
   input               wr_cmd_pending;
53
   output [7:0]           ch_wr_cmd_pending;
54
 
55
   //rd cmd
56
   input [2:0]               rd_ch_num;
57
   input [2:0]               rd_cmd_num;
58
 
59
   output               load_req_in_prog;
60
   output               rd_line_cmd;
61
   output               rd_go_next_line;
62
   input               rd_burst_start;
63
   output [32-1:0]     rd_burst_addr;
64
   output [7-1:0]    rd_burst_size;
65
   output [`TOKEN_BITS-1:0]   rd_tokens;
66
   output               rd_cmd_port;
67
   output [`DELAY_BITS-1:0]   rd_periph_delay;
68
   output               rd_clr_valid;
69
   input               rd_cmd_split;
70
   input               rd_cmd_line;
71
   output               rd_clr_stall;
72
 
73
   input [7:0]               ch_load_req_in_prog;
74
   input [7:0]               ch_rd_line_cmd;
75
   input [7:0]               ch_rd_go_next_line;
76
   output [7:0]           ch_rd_burst_start;
77
   input [8*32-1:0]    ch_rd_burst_addr;
78
   input [8*7-1:0]   ch_rd_burst_size;
79
   input [8*`TOKEN_BITS-1:0]  ch_rd_tokens;
80
   input [7:0]               ch_rd_port_num;
81
   input [8*`DELAY_BITS-1:0]  ch_rd_periph_delay;
82
   input [7:0]               ch_rd_clr_valid;
83
   output [7:0]           ch_rd_cmd_split;
84
   output [7:0]           ch_rd_cmd_line;
85
   input [7:0]               ch_rd_clr_stall;
86
 
87
   //rd data - load cmd
88
   input [2:0]               load_wr_num;
89
 
90
   input               load_wr;
91
 
92
   output [7:0]           ch_load_wr;
93
 
94
   //rd data
95
   input [2:0]               ch_fifo_wr_num;
96
   input [2:0]               rd_transfer_num;
97
   input [2:0]               rd_clr_line_num;
98
 
99
   input               rd_transfer;
100
   input               rd_clr_line;
101
   input               fifo_wr;
102
 
103
   output [7:0]           ch_rd_transfer;
104
   output [7:0]           ch_rd_clr_line;
105
   output [7:0]           ch_fifo_wr;
106
 
107
   //rd resp
108
   input [2:0]               rd_ch_num_resp;
109
 
110
   input               rd_slverr;
111
   input               rd_decerr;
112
   input               rd_clr;
113
   input               rd_clr_load;
114
 
115
   output [7:0]           ch_rd_slverr;
116
   output [7:0]           ch_rd_decerr;
117
   output [7:0]           ch_rd_clr;
118
   output [7:0]           ch_rd_clr_load;
119
 
120
   //wr cmd
121
   input [2:0]               wr_ch_num;
122
   input [2:0]               wr_cmd_num;
123
 
124
   output               wr_last_cmd;
125
   output               wr_line_cmd;
126
   output               wr_go_next_line;
127
   input               wr_burst_start;
128
   output [32-1:0]     wr_burst_addr;
129
   output [7-1:0]    wr_burst_size;
130
   output [`TOKEN_BITS-1:0]   wr_tokens;
131
   output               wr_cmd_port;
132
   output [`DELAY_BITS-1:0]   wr_periph_delay;
133
   output               wr_clr_valid;
134
   input               wr_cmd_split;
135
   output               wr_clr_stall;
136
 
137
   input [7:0]               ch_wr_last_cmd;
138
   input [7:0]               ch_wr_line_cmd;
139
   input [7:0]               ch_wr_go_next_line;
140
   output [7:0]           ch_wr_burst_start;
141
   input [8*32-1:0]    ch_wr_burst_addr;
142
   input [8*7-1:0]   ch_wr_burst_size;
143
   input [8*`TOKEN_BITS-1:0]  ch_wr_tokens;
144
   input [7:0]               ch_wr_port_num;
145
   input [8*`DELAY_BITS-1:0]  ch_wr_periph_delay;
146
   input [7:0]               ch_wr_clr_valid;
147
   output [7:0]           ch_wr_cmd_split;
148
   input [7:0]               ch_wr_clr_stall;
149
 
150
   //wr data
151
   input [2:0]               ch_fifo_rd_num;
152
   input [2:0]               wr_transfer_num;
153
   input [2:0]               wr_clr_line_num;
154
 
155
   input               wr_transfer;
156
   input               wr_clr_line;
157
   input               fifo_rd;
158
   input [7:0]               ch_fifo_wr_ready;
159
 
160
   output [7:0]           ch_wr_transfer;
161
   output [7:0]           ch_wr_clr_line;
162
   output [7:0]           ch_fifo_rd;
163
   output               fifo_wr_ready;
164
 
165
   //wr resp
166
   input [2:0]               wr_ch_num_resp;
167
 
168
   input               wr_slverr;
169
   input               wr_decerr;
170
   input               wr_clr;
171
   input               wr_clr_last;
172
 
173
   output [7:0]           ch_wr_slverr;
174
   output [7:0]           ch_wr_decerr;
175
   output [7:0]           ch_wr_clr_last;
176
   output [7:0]           ch_wr_clr;
177
 
178
 
179
 
180
 
181
   prgen_or8 #(1)
182
   mux_2(.ch_x(ch_fifo_rd_valid),
183
     .x(fifo_rd_valid)
184
     );
185
 
186
   prgen_or8 #(32)
187
   mux_3(.ch_x(ch_fifo_rdata),
188
     .x(fifo_rdata)
189
     );
190
 
191
   prgen_or8 #(31)
192
   mux_4(.ch_x(ch_periph_rx_clr),
193
     .x(periph_rx_clr)
194
     );
195
 
196
   prgen_or8 #(31)
197
   mux_5(.ch_x(ch_periph_tx_clr),
198
     .x(periph_tx_clr)
199
     );
200
 
201
   prgen_mux8 #(`DELAY_BITS)
202
   mux_30(.sel(rd_ch_num),
203
      .ch_x(ch_rd_periph_delay),
204
      .x(rd_periph_delay)
205
      );
206
 
207
   prgen_mux8 #(`DELAY_BITS)
208
   mux_51(.sel(wr_ch_num),
209
      .ch_x(ch_wr_periph_delay),
210
      .x(wr_periph_delay)
211
      );
212
 
213
 
214
   prgen_demux8 #(1)
215
   mux_6(.sel(timeout_num_aw),
216
     .x(timeout_aw),
217
     .ch_x(ch_timeout_aw)
218
     );
219
 
220
   prgen_demux8 #(1)
221
   mux_7(.sel(timeout_num_w),
222
     .x(timeout_w),
223
     .ch_x(ch_timeout_w)
224
     );
225
 
226
   prgen_demux8 #(1)
227
   mux_8(.sel(timeout_num_ar),
228
     .x(timeout_ar),
229
     .ch_x(ch_timeout_ar)
230
     );
231
 
232
   prgen_demux8 #(1)
233
   mux_9(.sel(wdt_ch_num),
234
     .x(wdt_timeout),
235
     .ch_x(ch_wdt_timeout)
236
     );
237
 
238
   prgen_or8 #(1)
239
   mux_55(.ch_x(ch_joint_in_prog),
240
      .x(joint_in_prog)
241
      );
242
 
243
   prgen_or8 #(1)
244
   mux_56(.ch_x(ch_joint_not_in_prog),
245
      .x(joint_not_in_prog)
246
      );
247
 
248
   prgen_or8 #(1)
249
   mux_57(.ch_x(ch_joint_mux_in_prog),
250
      .x(joint_mux_in_prog)
251
      );
252
 
253
   prgen_demux8 #(1)
254
   mux_60(.sel(wr_ch_num),
255
      .x(wr_cmd_pending),
256
      .ch_x(ch_wr_cmd_pending)
257
      );
258
 
259
 
260
   prgen_demux8 #(1)
261
   mux_11(.sel(rd_ch_num),
262
      .x(rd_burst_start),
263
      .ch_x(ch_rd_burst_start)
264
      );
265
 
266
   prgen_demux8 #(1)
267
   mux_13(.sel(load_wr_num),
268
      .x(load_wr),
269
      .ch_x(ch_load_wr)
270
      );
271
 
272
   assign               ch_rd_clr_line  = 'd0;
273
   assign               ch_rd_cmd_line  = 'd0;
274
   assign               rd_line_cmd     = 'd0;
275
   assign               rd_go_next_line = 'd0;
276
   assign               rd_clr_stall    = 'd0;
277
   assign               wr_clr_stall    = 'd0;
278
   assign               ch_wr_clr_line  = 'd0;
279
   assign               wr_line_cmd     = 'd0;
280
   assign               wr_go_next_line = 'd0;
281
 
282
   prgen_mux8 #(1)
283
   mux_33(.sel(rd_ch_num),
284
      .ch_x(ch_rd_clr_valid),
285
      .x(rd_clr_valid)
286
      );
287
 
288
   prgen_mux8 #(1)
289
   mux_53(.sel(wr_ch_num),
290
      .ch_x(ch_wr_clr_valid),
291
      .x(wr_clr_valid)
292
      );
293
 
294
   prgen_demux8 #(1)
295
   mux_15(.sel(rd_transfer_num),
296
      .x(rd_transfer),
297
      .ch_x(ch_rd_transfer)
298
      );
299
 
300
   prgen_demux8 #(1)
301
   mux_16(.sel(rd_ch_num_resp),
302
      .x(rd_slverr),
303
      .ch_x(ch_rd_slverr)
304
      );
305
 
306
   prgen_demux8 #(1)
307
   mux_17(.sel(rd_ch_num_resp),
308
      .x(rd_decerr),
309
      .ch_x(ch_rd_decerr)
310
      );
311
 
312
   prgen_demux8 #(1)
313
   mux_39(.sel(wr_ch_num_resp),
314
      .x(wr_decerr),
315
      .ch_x(ch_wr_decerr)
316
      );
317
 
318
   prgen_demux8 #(1)
319
   mux_20(.sel(rd_cmd_num),
320
      .x(rd_cmd_split),
321
      .ch_x(ch_rd_cmd_split)
322
      );
323
 
324
   prgen_demux8 #(1)
325
   mux_42(.sel(wr_cmd_num),
326
      .x(wr_cmd_split),
327
      .ch_x(ch_wr_cmd_split)
328
      );
329
 
330
   prgen_demux8 #(1)
331
   mux_58(.sel(rd_ch_num),
332
      .x(rd_page_cross),
333
      .ch_x(ch_rd_page_cross)
334
      );
335
 
336
   prgen_demux8 #(1)
337
   mux_59(.sel(wr_ch_num),
338
      .x(wr_page_cross),
339
      .ch_x(ch_wr_page_cross)
340
      );
341
 
342
 
343
   prgen_demux8 #(1)
344
   mux_18(.sel(rd_ch_num_resp),
345
      .x(rd_clr),
346
      .ch_x(ch_rd_clr)
347
      );
348
 
349
   prgen_demux8 #(1)
350
   mux_19(.sel(rd_ch_num_resp),
351
      .x(rd_clr_load),
352
      .ch_x(ch_rd_clr_load)
353
      );
354
 
355
   prgen_demux8 #(1)
356
   mux_21(.sel(ch_fifo_rd_num),
357
      .x(fifo_rd),
358
      .ch_x(ch_fifo_rd)
359
      );
360
 
361
   prgen_mux8 #(1)
362
   mux_23(.sel(rd_ch_num),
363
      .ch_x(ch_load_req_in_prog),
364
      .x(load_req_in_prog)
365
      );
366
 
367
   prgen_mux8 #(32)
368
   mux_26(.sel(rd_ch_num),
369
      .ch_x(ch_rd_burst_addr),
370
      .x(rd_burst_addr)
371
      );
372
 
373
   prgen_mux8 #(7)
374
   mux_27(.sel(rd_ch_num),
375
      .ch_x(ch_rd_burst_size),
376
      .x(rd_burst_size)
377
      );
378
 
379
   prgen_mux8 #(`TOKEN_BITS)
380
   mux_28(.sel(rd_ch_num),
381
      .ch_x(ch_rd_tokens),
382
      .x(rd_tokens)
383
      );
384
 
385
   prgen_mux8 #(`TOKEN_BITS)
386
   mux_49(.sel(wr_ch_num),
387
      .ch_x(ch_wr_tokens),
388
      .x(wr_tokens)
389
      );
390
 
391
   assign               rd_cmd_port = 'd0;
392
   assign               wr_cmd_port = 'd0;
393
 
394
 
395
   prgen_mux8 #(1)
396
   mux_31(.sel(ch_fifo_rd_num),
397
      .ch_x(ch_fifo_wr_ready),
398
      .x(fifo_wr_ready)
399
      );
400
 
401
   prgen_demux8 #(1)
402
   mux_34(.sel(wr_ch_num),
403
      .x(wr_burst_start),
404
      .ch_x(ch_wr_burst_start)
405
      );
406
 
407
   prgen_demux8 #(1)
408
   mux_37(.sel(wr_transfer_num),
409
      .x(wr_transfer),
410
      .ch_x(ch_wr_transfer)
411
      );
412
 
413
   prgen_demux8 #(1)
414
   mux_38(.sel(wr_ch_num_resp),
415
      .x(wr_slverr),
416
      .ch_x(ch_wr_slverr)
417
      );
418
 
419
   prgen_demux8 #(1)
420
   mux_40(.sel(wr_ch_num_resp),
421
      .x(wr_clr),
422
      .ch_x(ch_wr_clr)
423
      );
424
 
425
   prgen_demux8 #(1)
426
   mux_41(.sel(wr_ch_num_resp),
427
      .x(wr_clr_last),
428
      .ch_x(ch_wr_clr_last)
429
      );
430
 
431
   prgen_demux8 #(1)
432
   mux_43(.sel(ch_fifo_wr_num),
433
      .x(fifo_wr),
434
      .ch_x(ch_fifo_wr)
435
      );
436
 
437
   prgen_mux8 #(1)
438
   mux_44(.sel(wr_ch_num),
439
      .ch_x(ch_wr_last_cmd),
440
      .x(wr_last_cmd)
441
      );
442
 
443
   prgen_mux8 #(32)
444
   mux_47(.sel(wr_ch_num),
445
      .ch_x(ch_wr_burst_addr),
446
      .x(wr_burst_addr)
447
      );
448
 
449
   prgen_mux8 #(7)
450
   mux_48(.sel(wr_ch_num),
451
      .ch_x(ch_wr_burst_size),
452
      .x(wr_burst_size)
453
      );
454
 
455
 
456
 
457
endmodule
458
 
459
 
460
 

powered by: WebSVN 2.1.0

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