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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi64/] [dma_axi64_core0_axim_wr.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:36:54 2011
5
//--
6
//-- Source file: dma_core_axim_wr.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_axi64_core0_axim_wr(clk,reset,wr_cmd_port,wr_last_cmd,wr_line_cmd,wr_ch_num,wr_burst_start,wr_burst_addr,wr_burst_size,wr_cmd_pending,wr_cmd_split,wr_cmd_num,rd_transfer,rd_transfer_size,ch_fifo_rd,ch_fifo_rdata,ch_fifo_rd_valid,ch_fifo_rsize,ch_fifo_wr_ready,ch_fifo_rd_num,wr_transfer_num,wr_transfer,wr_transfer_size,wr_next_size,wr_cmd_full,wr_clr_line,wr_clr_line_num,wr_slverr,wr_decerr,wr_clr,wr_clr_last,wr_ch_num_resp,page_cross,AWADDR,AWPORT,AWLEN,AWSIZE,AWVALID,AWREADY,WDATA,WSTRB,WLAST,WVALID,WREADY,BRESP,BVALID,BREADY,joint_req,joint_stall,axim_timeout_aw,axim_timeout_w,axim_timeout_num_aw,axim_timeout_num_w);
12
 
13
   input               clk;
14
   input               reset;
15
 
16
   //command
17
   input               wr_cmd_port;
18
   input               wr_last_cmd;
19
   input               wr_line_cmd;
20
   input [2:0]               wr_ch_num;
21
   input               wr_burst_start;
22
   input [32-1:0]      wr_burst_addr;
23
   input [8-1:0]     wr_burst_size;
24
   output               wr_cmd_pending;
25
   output               wr_cmd_split;
26
   output [2:0]           wr_cmd_num;
27
 
28
   //data
29
   input               rd_transfer;
30
   input [4-1:0]      rd_transfer_size;
31
   output               ch_fifo_rd;
32
   input [64-1:0]      ch_fifo_rdata;
33
   input               ch_fifo_rd_valid;
34
   output [4-1:0]     ch_fifo_rsize;
35
   input               ch_fifo_wr_ready;
36
   output [2:0]           ch_fifo_rd_num;
37
   output [2:0]           wr_transfer_num;
38
   output               wr_transfer;
39
   output [4-1:0]     wr_transfer_size;
40
   output [4-1:0]     wr_next_size;
41
   output               wr_cmd_full;
42
   output               wr_clr_line;
43
   output [2:0]           wr_clr_line_num;
44
 
45
   //resp
46
   output               wr_slverr;
47
   output               wr_decerr;
48
   output               wr_clr;
49
   output               wr_clr_last;
50
   output [2:0]           wr_ch_num_resp;
51
 
52
   output               page_cross;
53
 
54
   output [32-1:0]     AWADDR;
55
   output               AWPORT;
56
   output [`LEN_BITS-1:0]     AWLEN;
57
   output [1:0]           AWSIZE;
58
   output               AWVALID;
59
   input               AWREADY;
60
   output [64-1:0]     WDATA;
61
   output [8-1:0]     WSTRB;
62
   output               WLAST;
63
   output               WVALID;
64
   input               WREADY;
65
   input [1:0]               BRESP;
66
   input               BVALID;
67
   output               BREADY;
68
 
69
   input               joint_req;
70
   output               joint_stall;
71
 
72
   output               axim_timeout_aw;
73
   output               axim_timeout_w;
74
   output [2:0]           axim_timeout_num_aw;
75
   output [2:0]           axim_timeout_num_w;
76
 
77
 
78
 
79
   wire [`CMD_BITS-1:0]       AWID;
80
   wire               AJOINT;
81
   wire               BVALID_d;
82
   wire [`CMD_BITS-1:0]       BID;
83
   reg [1:0]               BRESP_d;
84
   wire               wr_resp_full;
85
 
86
 
87
   assign               BREADY   = 1'b1;
88
 
89
 
90
   prgen_delay #(1) delay_bvalid(.clk(clk), .reset(reset), .din(BVALID), .dout(BVALID_d));
91
 
92
   always @(posedge clk or posedge reset)
93
     if (reset)
94
       begin
95
      BRESP_d <= #1 2'b00;
96
       end
97
     else if (BVALID)
98
       begin
99
      BRESP_d <= #1 BRESP;
100
       end
101
 
102
 
103
   dma_axi64_core0_axim_cmd
104
   dma_axi64_axim_wcmd (
105
             .clk(clk),
106
             .reset(reset),
107
             .end_line_cmd(wr_line_cmd),
108
             .extra_bit(wr_last_cmd),
109
             .cmd_port(wr_cmd_port),
110
             .joint_req(joint_req),
111
             .ch_num(wr_ch_num),
112
             .burst_start(wr_burst_start),
113
             .burst_addr(wr_burst_addr),
114
             .burst_size(wr_burst_size),
115
             .cmd_pending(wr_cmd_pending),
116
             .cmd_full(wr_cmd_full),
117
             .cmd_split(wr_cmd_split),
118
             .cmd_num(wr_cmd_num),
119
             .cmd_line(),
120
             .page_cross(page_cross),
121
             .AID(AWID),
122
             .AADDR(AWADDR),
123
             .APORT(AWPORT),
124
             .ALEN(AWLEN),
125
             .ASIZE(AWSIZE),
126
             .AVALID(AWVALID),
127
             .AREADY(AWREADY),
128
             .AWVALID(1'b0),
129
             .AJOINT(AJOINT),
130
             .axim_timeout_num(axim_timeout_num_aw),
131
             .axim_timeout(axim_timeout_aw)
132
             );
133
 
134
 
135
   dma_axi64_core0_axim_wdata
136
   dma_axi64_axim_wdata (
137
              .clk(clk),
138
              .reset(reset),
139
              .joint_stall(joint_stall),
140
              .rd_transfer(rd_transfer),
141
              .rd_transfer_size(rd_transfer_size),
142
              .ch_fifo_rd(ch_fifo_rd),
143
              .ch_fifo_rdata(ch_fifo_rdata),
144
              .ch_fifo_rd_valid(ch_fifo_rd_valid),
145
              .ch_fifo_rsize(ch_fifo_rsize),
146
              .ch_fifo_rd_num(ch_fifo_rd_num),
147
              .ch_fifo_wr_ready(ch_fifo_wr_ready),
148
              .wr_transfer_num(wr_transfer_num),
149
              .wr_transfer(wr_transfer),
150
              .wr_transfer_size(wr_transfer_size),
151
              .wr_next_size(wr_next_size),
152
              .wr_resp_full(wr_resp_full),
153
              .wr_cmd_full(wr_cmd_full),
154
              .wr_clr_line(wr_clr_line),
155
              .wr_clr_line_num(wr_clr_line_num),
156
              .AWID(AWID),
157
              .AWADDR(AWADDR),
158
              .AWLEN(AWLEN),
159
              .AWSIZE(AWSIZE),
160
              .AWVALID(AWVALID),
161
              .AWREADY(AWREADY),
162
              .AJOINT(AJOINT),
163
              .WDATA(WDATA),
164
              .WSTRB(WSTRB),
165
              .WLAST(WLAST),
166
              .WVALID(WVALID),
167
              .WREADY(WREADY),
168
              .axim_timeout_num(axim_timeout_num_w),
169
              .axim_timeout(axim_timeout_w)
170
              );
171
 
172
 
173
   dma_axi64_core0_axim_resp #(.CMD_DEPTH(4))
174
   dma_axi64_axim_wresp (
175
              .clk(clk),
176
              .reset(reset),
177
              .slverr(wr_slverr),
178
              .decerr(wr_decerr),
179
              .clr(wr_clr),
180
              .clr_last(wr_clr_last),
181
              .ch_num_resp(wr_ch_num_resp),
182
              .resp_full(wr_resp_full),
183
              .AID(AWID),
184
              .AVALID(AWVALID),
185
              .AREADY(AWREADY),
186
              .ID(BID),
187
              .RESP(BRESP_d),
188
              .VALID(BVALID_d),
189
              .READY(BREADY),
190
              .LAST(1'b1)
191
              );
192
 
193
 
194
endmodule
195
 
196
 
197
 
198
 
199
 

powered by: WebSVN 2.1.0

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