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

Subversion Repositories dma_axi

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 eyalhoc
/////////////////////////////////////////////////////////////////////
2
////                                                             ////
3
////  Author: Eyal Hochberg                                      ////
4
////          eyal@provartec.com                                 ////
5
////                                                             ////
6
////  Downloaded from: http://www.opencores.org                  ////
7
/////////////////////////////////////////////////////////////////////
8
////                                                             ////
9
//// Copyright (C) 2010 Provartec LTD                            ////
10
//// www.provartec.com                                           ////
11
//// info@provartec.com                                          ////
12
////                                                             ////
13
//// This source file may be used and distributed without        ////
14
//// restriction provided that this copyright statement is not   ////
15
//// removed from the file and that any derivative work contains ////
16
//// the original copyright notice and the associated disclaimer.////
17
////                                                             ////
18
//// This source file is free software; you can redistribute it  ////
19
//// and/or modify it under the terms of the GNU Lesser General  ////
20
//// Public License as published by the Free Software Foundation.////
21
////                                                             ////
22
//// This source is distributed in the hope that it will be      ////
23
//// useful, but WITHOUT ANY WARRANTY; without even the implied  ////
24
//// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR     ////
25
//// PURPOSE.  See the GNU Lesser General Public License for more////
26
//// details. http://www.gnu.org/licenses/lgpl.html              ////
27
////                                                             ////
28
/////////////////////////////////////////////////////////////////////
29 2 eyalhoc
//---------------------------------------------------------
30
//-- File generated by RobustVerilog parser
31
//-- Version: 1.0
32
//-- Invoked Fri Mar 25 23:36:56 2011
33
//--
34
//-- Source file: dma_ch_calc.v
35
//---------------------------------------------------------
36
 
37
 
38
 
39
module dma_axi64_core0_ch_calc(clk,reset,load_in_prog,load_req_in_prog,load_addr,ch_update,ch_end,ch_end_flush,go_next_line,burst_start,incr,wr_cmd_pending,outs_empty,burst_max_size,start_addr,frame_width,x_size,x_remain,fifo_wr_ready,fifo_remain,burst_last,burst_addr,burst_size,burst_ready,single,joint_ready_out,joint_ready_in,joint_line_req_in,joint_line_req_out,joint_burst_req_in,joint_burst_req_out,joint_line_req_clr,joint,page_cross,joint_cross,joint_flush,joint_flush_in);
40
 
41
   parameter                READ = 0;
42
 
43
   parameter             SINGLE_SIZE   = 8;
44
 
45
 
46
   input             clk;
47
   input             reset;
48
 
49
   input             load_in_prog;
50
   input             load_req_in_prog;
51
   input [32-1:0]    load_addr;
52
 
53
   input             ch_update;
54
   input             ch_end;
55
   input             ch_end_flush;
56
   input             go_next_line;
57
   input             burst_start;
58
   input             incr;
59
 
60
   input             wr_cmd_pending;
61
   input             outs_empty;
62
   input [8-1:0]   burst_max_size;
63
   input [32-1:0]    start_addr;
64
   input [`FRAME_BITS-1:0]  frame_width;
65
   input [`X_BITS-1:0]         x_size;
66
   input [10-1:0]    x_remain;
67
   input             fifo_wr_ready;
68
   input [5:0]         fifo_remain;
69
 
70
   output             burst_last;
71
   output [32-1:0]   burst_addr;
72
   output [8-1:0]  burst_size;
73
   output             burst_ready;
74
   output             single;
75
 
76
   output             joint_ready_out;
77
   input             joint_ready_in;
78
   input             joint_line_req_in;
79
   output             joint_line_req_out;
80
   input             joint_burst_req_in;
81
   output             joint_burst_req_out;
82
   input             joint_line_req_clr;
83
   input             joint;
84
   input             page_cross;
85
   input             joint_cross;
86
   output             joint_flush;
87
   input             joint_flush_in;
88
 
89
 
90
 
91
   wire             ch_update_d;
92
   wire             ch_update_d2;
93
   wire             ch_update_d3;
94
 
95
   //outputs of calc_addr
96
   wire [32-1:0]     burst_addr;
97
 
98
   //outputs of calc_size
99
   wire [8-1:0]    burst_size;
100
 
101
   reg                 single;
102
 
103
 
104
 
105
   prgen_delay #(1) delay_calc0(.clk(clk), .reset(reset), .din(ch_update), .dout(ch_update_d));
106
   prgen_delay #(1) delay_calc1(.clk(clk), .reset(reset), .din(ch_update_d), .dout(ch_update_d2));
107
   prgen_delay #(1) delay_calc2(.clk(clk), .reset(reset), .din(ch_update_d2), .dout(ch_update_d3));
108
 
109
 
110
   always @(posedge clk or posedge reset)
111
     if (reset)
112
       single <= #1 1'b0;
113
     else if (burst_start)
114
       single <= #1 (burst_size <= SINGLE_SIZE);
115
 
116
 
117
   dma_axi64_core0_ch_calc_addr
118
   dma_axi64_ch_calc_addr (
119
            .clk(clk),
120
            .reset(reset),
121
            .ch_update_d(ch_update_d),
122
            .load_in_prog(load_in_prog),
123
            .load_addr(load_addr),
124
            .go_next_line(go_next_line),
125
            .burst_start(burst_start),
126
            .incr(incr),
127
            .start_addr(start_addr),
128
            .frame_width(frame_width),
129
            .x_size(x_size),
130
            .burst_size(burst_size),
131
            .burst_addr(burst_addr)
132
            );
133
 
134
 
135
   dma_axi64_core0_ch_calc_size #(.READ(READ))
136
   dma_axi64_ch_calc_size (
137
            .clk(clk),
138
            .reset(reset),
139
            .ch_update(ch_update),
140
            .ch_update_d(ch_update_d),
141
            .ch_update_d2(ch_update_d2),
142
            .ch_update_d3(ch_update_d3),
143
            .ch_end(ch_end),
144
            .ch_end_flush(ch_end_flush),
145
            .joint_line_req_clr(joint_line_req_clr),
146
            .wr_cmd_pending(wr_cmd_pending),
147
            .outs_empty(outs_empty),
148
            .load_in_prog(load_in_prog),
149
            .load_req_in_prog(load_req_in_prog),
150
            .burst_start(burst_start),
151
            .burst_addr(burst_addr),
152
            .burst_max_size(burst_max_size),
153
            .x_remain(x_remain),
154
            .fifo_wr_ready(fifo_wr_ready),
155
            .fifo_remain(fifo_remain),
156
            .burst_size(burst_size),
157
            .burst_ready(burst_ready),
158
            .burst_last(burst_last),
159
            .joint_ready_out(joint_ready_out),
160
            .joint_ready_in(joint_ready_in),
161
            .joint_line_req_in(joint_line_req_in),
162
            .joint_line_req_out(joint_line_req_out),
163
            .joint_burst_req_in(joint_burst_req_in),
164
            .joint_burst_req_out(joint_burst_req_out),
165
            .joint(joint),
166
            .page_cross(page_cross),
167
            .joint_cross(joint_cross),
168
            .joint_flush(joint_flush),
169
            .joint_flush_in(joint_flush_in)
170
            );
171
 
172
 
173
 
174
 
175
endmodule
176
 
177
 
178
 
179
 
180
 
181
 

powered by: WebSVN 2.1.0

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