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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi32/] [dma_axi32_core0_ch_fifo_ctrl.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:54 2011
5
//--
6
//-- Source file: dma_ch_fifo_ctrl.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_axi32_core0_ch_fifo_ctrl (clk,reset,end_swap,joint_in_prog,wr_outstanding,ch_update,fifo_wr,fifo_wdata,fifo_wsize,wr_align,rd_incr,fifo_rd,fifo_rsize,rd_align,wr_incr,wr_single,wr_burst_size,rd_clr_line,wr_clr_line,wr_next_size,fifo_rd_valid,fifo_rdata,fifo_wr_ready,fifo_overflow,fifo_underflow);
12
 
13
   input               clk;
14
   input               reset;
15
 
16
   input [1:0]               end_swap;
17
 
18
   input               joint_in_prog;
19
   input               wr_outstanding;
20
   input               ch_update;
21
 
22
   input               fifo_wr;
23
   input [32-1:0]      fifo_wdata;
24
   input [3-1:0]      fifo_wsize;
25
   input [2-1:0]      wr_align;
26
   input               rd_incr;
27
 
28
   input               fifo_rd;
29
   input [3-1:0]      fifo_rsize;
30
   input [2-1:0]      rd_align;
31
   input               wr_incr;
32
   input               wr_single;
33
   input [7-1:0]     wr_burst_size;
34
 
35
   input               rd_clr_line;
36
   input               wr_clr_line;
37
   input [3-1:0]      wr_next_size;
38
 
39
   output               fifo_rd_valid;
40
   output [32-1:0]     fifo_rdata;
41
   output               fifo_wr_ready;
42
   output               fifo_overflow;
43
   output               fifo_underflow;
44
 
45
 
46
 
47
   //outputs of wr slicer
48
   wire               slice_wr;
49
   wire               slice_wr_fifo;
50
   wire [5-1:0]       slice_wr_ptr;
51
   wire [4-1:0]       slice_bsel;
52
   wire [32-1:0]       slice_wdata;
53
   wire [3-1:0]       slice_wsize;
54
 
55
   //outputs of rd slicer
56
   wire               slice_rd;
57
   wire [32-1:0]       slice_rdata;
58
   wire [3-1:0]       slice_rsize;
59
   wire [5-1:0]       slice_rd_ptr;
60
   wire               slice_rd_valid;
61
 
62
   //outputs of fifo ptr
63
   wire [5-1:0]       rd_ptr;
64
   wire [5-1:0]       wr_ptr;
65
   wire [3-1:0]       rd_line_remain;
66
   wire               joint_delay;
67
   wire               fifo_wr_ready;
68
   wire               fifo_overflow;
69
   wire               fifo_underflow;
70
 
71
   //outputs of fifo
72
   wire [32-1:0]       DOUT;
73
 
74
   wire               fifo_wr_d;
75
   reg [32-1:0]           fifo_wdata_d;
76
   wire               fifo_wr_valid;
77
   wire [32-1:0]       fifo_wdata_valid;
78
 
79
 
80
   assign               fifo_wr_valid    = fifo_wr;
81
   assign               fifo_wdata_valid = fifo_wdata;
82
 
83
 
84
   assign               fifo_rdata    = slice_rdata & {32{slice_rd_valid}};
85
   assign               fifo_rd_valid = slice_rd_valid;
86
 
87
 
88
   dma_axi32_core0_ch_wr_slicer
89
   dma_axi32_ch_wr_slicer (
90
            .clk(clk),
91
            .reset(reset),
92
            .ch_update(ch_update),
93
            .rd_clr_line(rd_clr_line),
94
            .fifo_wr(fifo_wr_valid),
95
            .fifo_wdata(fifo_wdata_valid),
96
            .fifo_wsize(fifo_wsize),
97
            .wr_align(wr_align),
98
            .wr_ptr(wr_ptr),
99
            .rd_incr(rd_incr),
100
            .end_swap(end_swap),
101
            .slice_wr(slice_wr),
102
            .slice_wr_fifo(slice_wr_fifo),
103
            .slice_wr_ptr(slice_wr_ptr),
104
            .slice_bsel(slice_bsel),
105
            .slice_wdata(slice_wdata),
106
            .slice_wsize(slice_wsize)
107
            );
108
 
109
 
110
   dma_axi32_core0_ch_rd_slicer
111
   dma_axi32_ch_rd_slicer (
112
            .clk(clk),
113
            .reset(reset),
114
            .fifo_rd(fifo_rd),
115
            .fifo_rdata(DOUT),
116
            .fifo_rsize(fifo_rsize),
117
            .rd_align(rd_align),
118
            .rd_ptr(rd_ptr),
119
            .rd_line_remain(rd_line_remain),
120
            .wr_incr(wr_incr),
121
            .wr_single(wr_single),
122
            .slice_rd(slice_rd),
123
            .slice_rdata(slice_rdata),
124
            .slice_rd_valid(slice_rd_valid),
125
            .slice_rsize(slice_rsize),
126
            .slice_rd_ptr(slice_rd_ptr)
127
            );
128
 
129
 
130
   dma_axi32_core0_ch_fifo_ptr
131
   dma_axi32_ch_fifo_ptr (
132
               .clk(clk),
133
               .reset(reset),
134
               .joint_in_prog(joint_in_prog),
135
               .wr_outstanding(wr_outstanding),
136
               .ch_update(ch_update),
137
               .fifo_rd(fifo_rd),
138
               .fifo_rsize(fifo_rsize),
139
               .slice_wr(slice_wr),
140
               .slice_wr_fifo(slice_wr_fifo),
141
               .slice_wsize(slice_wsize),
142
               .slice_rd(slice_rd),
143
               .slice_rsize(slice_rsize),
144
               .rd_clr_line(rd_clr_line),
145
               .wr_clr_line(wr_clr_line),
146
               .rd_ptr(rd_ptr),
147
               .wr_ptr(wr_ptr),
148
               .rd_line_remain(rd_line_remain),
149
               .joint_delay(joint_delay),
150
               .wr_next_size(wr_next_size),
151
               .wr_burst_size(wr_burst_size),
152
               .fifo_wr_ready(fifo_wr_ready),
153
               .fifo_overflow(fifo_overflow),
154
               .fifo_underflow(fifo_underflow)
155
               );
156
 
157
 
158
   dma_axi32_core0_ch_fifo
159
   dma_axi32_ch_fifo (
160
           .CLK(clk),
161
           .WR(slice_wr_fifo),
162
           .RD(slice_rd),
163
           .WR_ADDR(slice_wr_ptr[5-1:2] ),
164
           .RD_ADDR(slice_rd_ptr[5-1:2]),
165
           .DIN(slice_wdata),
166
           .BSEL(slice_bsel),
167
           .DOUT(DOUT)
168
           );
169
 
170
 
171
endmodule
172
 
173
 
174
 
175
 
176
 
177
 

powered by: WebSVN 2.1.0

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