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

Subversion Repositories dma_axi

[/] [dma_axi/] [trunk/] [src/] [dma_axi32/] [dma_axi32_dual_core.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:50 2011
5
//--
6
//-- Source file: dma_dual_core.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_axi32_dual_core(clk,reset,scan_en,idle,INT,periph_tx_req,periph_tx_clr,periph_rx_req,periph_rx_clr,pclken,psel,penable,paddr,pwrite,pwdata,prdata,pslverr,pready,rd_port_num0,wr_port_num0,rd_port_num1,wr_port_num1,M0_AWID,M0_AWADDR,M0_AWLEN,M0_AWSIZE,M0_AWVALID,M0_AWREADY,M0_WID,M0_WDATA,M0_WSTRB,M0_WLAST,M0_WVALID,M0_WREADY,M0_BID,M0_BRESP,M0_BVALID,M0_BREADY,M0_ARID,M0_ARADDR,M0_ARLEN,M0_ARSIZE,M0_ARVALID,M0_ARREADY,M0_RID,M0_RDATA,M0_RRESP,M0_RLAST,M0_RVALID,M0_RREADY);
12
 
13
   input                   clk;
14
   input                   reset;
15
   input                   scan_en;
16
 
17
   output                   idle;
18
   output [1-1:0]                  INT;
19
 
20
   input [31:1]               periph_tx_req;
21
   output [31:1]               periph_tx_clr;
22
   input [31:1]               periph_rx_req;
23
   output [31:1]               periph_rx_clr;
24
 
25
   input                                  pclken;
26
   input                                  psel;
27
   input                                  penable;
28
   input [12:0]                           paddr;
29
   input                                  pwrite;
30
   input [31:0]                           pwdata;
31
   output [31:0]                          prdata;
32
   output                                 pslverr;
33
   output                                 pready;
34
 
35
   output                   rd_port_num0;
36
   output                   wr_port_num0;
37
   output                   rd_port_num1;
38
   output                   wr_port_num1;
39
 
40
   output [`ID_BITS-1:0]                  M0_AWID;
41
   output [32-1:0]           M0_AWADDR;
42
   output [`LEN_BITS-1:0]                 M0_AWLEN;
43
   output [`SIZE_BITS-1:0]         M0_AWSIZE;
44
   output                                 M0_AWVALID;
45
   input                                  M0_AWREADY;
46
   output [`ID_BITS-1:0]                  M0_WID;
47
   output [32-1:0]           M0_WDATA;
48
   output [32/8-1:0]         M0_WSTRB;
49
   output                                 M0_WLAST;
50
   output                                 M0_WVALID;
51
   input                                  M0_WREADY;
52
   input [`ID_BITS-1:0]                   M0_BID;
53
   input [1:0]                            M0_BRESP;
54
   input                                  M0_BVALID;
55
   output                                 M0_BREADY;
56
   output [`ID_BITS-1:0]                  M0_ARID;
57
   output [32-1:0]           M0_ARADDR;
58
   output [`LEN_BITS-1:0]                 M0_ARLEN;
59
   output [`SIZE_BITS-1:0]         M0_ARSIZE;
60
   output                                 M0_ARVALID;
61
   input                                  M0_ARREADY;
62
   input [`ID_BITS-1:0]                   M0_RID;
63
   input [32-1:0]            M0_RDATA;
64
   input [1:0]                            M0_RRESP;
65
   input                                  M0_RLAST;
66
   input                                  M0_RVALID;
67
   output                                 M0_RREADY;
68
 
69
 
70
 
71
   wire                   psel0;
72
   wire [31:0]                   prdata0;
73
   wire                   pslverr0;
74
 
75
   wire                   psel1;
76
   wire [31:0]                   prdata1;
77
   wire                   pslverr1;
78
 
79
   wire                   psel_reg;
80
   wire [31:0]                   prdata_reg;
81
   wire                   pslverr_reg;
82
 
83
   wire [8*1-1:0]                  ch_int_all_proc0;
84
 
85
   //outputs of dma_axi32 reg
86
   wire [1-1:0]                    int_all_proc;
87
   wire [3:0]                   core0_clkdiv;
88
   wire [7:0]                   core0_ch_start;
89
   wire                   joint_mode0;
90
   wire                   joint_remote0;
91
   wire                    rd_prio_top0;
92
   wire                    rd_prio_high0;
93
   wire [2:0]                   rd_prio_top_num0;
94
   wire [2:0]                   rd_prio_high_num0;
95
   wire                    wr_prio_top0;
96
   wire                    wr_prio_high0;
97
   wire [2:0]                   wr_prio_top_num0;
98
   wire [2:0]                   wr_prio_high_num0;
99
   wire [31:1]                   periph_rx_req_reg;
100
   wire [31:1]                   periph_tx_req_reg;
101
 
102
   wire [31:1]                   periph_rx_req0;
103
   wire [31:1]                   periph_tx_req0;
104
   wire [31:1]                   periph_rx_req1;
105
   wire [31:1]                   periph_tx_req1;
106
   wire [31:1]                   periph_rx_clr0;
107
   wire [31:1]                   periph_tx_clr0;
108
   wire [31:1]                   periph_rx_clr1;
109
   wire [31:1]                   periph_tx_clr1;
110
 
111
   wire                   core0_idle;
112
 
113
 
114
 
115
   assign                   idle = core0_idle;
116
 
117
   assign                   INT = int_all_proc;
118
 
119
 
120
   assign                   periph_rx_req0     = periph_rx_req | periph_rx_req_reg;
121
   assign                   periph_tx_req0     = periph_tx_req | periph_tx_req_reg;
122
   assign                   periph_rx_req1     = periph_rx_req0;
123
   assign                   periph_tx_req1     = periph_tx_req0;
124
 
125
   assign                   periph_rx_clr      = periph_rx_clr0 | periph_rx_clr1;
126
   assign                   periph_tx_clr      = periph_tx_clr0 | periph_tx_clr1;
127
 
128
 
129
   assign                   joint_remote0 = joint_mode0 & 0 & 0;
130
 
131
 
132
   dma_axi32_apb_mux  dma_axi32_apb_mux (
133
                   .clk(clk),
134
                   .reset(reset),
135
                   .pclken(pclken),
136
                   .psel(psel),
137
                   .penable(penable),
138
                   .pwrite(pwrite),
139
                   .paddr(paddr[12:11]),
140
                   .prdata(prdata),
141
                   .pslverr(pslverr),
142
                   .pready(pready),
143
                   .psel0(psel0),
144
                   .prdata0(prdata0),
145
                   .pslverr0(pslverr0),
146
                   .psel1(psel1),
147
                   .prdata1(prdata1),
148
                   .pslverr1(pslverr1),
149
                   .psel_reg(psel_reg),
150
                   .prdata_reg(prdata_reg),
151
                   .pslverr_reg(pslverr_reg)
152
                   );
153
 
154
 
155
   dma_axi32_reg  dma_axi32_reg (
156
               .clk(clk),
157
               .reset(reset),
158
               .pclken(pclken),
159
               .psel(psel_reg),
160
               .penable(penable),
161
               .paddr(paddr[7:0]),
162
               .pwrite(pwrite),
163
               .pwdata(pwdata),
164
               .prdata(prdata_reg),
165
               .pslverr(pslverr_reg),
166
               .core0_idle(core0_idle),
167
               .ch_int_all_proc0(ch_int_all_proc0),
168
               .int_all_proc(int_all_proc),
169
               .core0_clkdiv(core0_clkdiv),
170
               .core0_ch_start(core0_ch_start),
171
               .joint_mode0(joint_mode0),
172
               .rd_prio_top0(rd_prio_top0),
173
               .rd_prio_high0(rd_prio_high0),
174
               .rd_prio_top_num0(rd_prio_top_num0),
175
               .rd_prio_high_num0(rd_prio_high_num0),
176
               .wr_prio_top0(wr_prio_top0),
177
               .wr_prio_high0(wr_prio_high0),
178
               .wr_prio_top_num0(wr_prio_top_num0),
179
               .wr_prio_high_num0(wr_prio_high_num0),
180
               .periph_rx_req_reg(periph_rx_req_reg),
181
               .periph_tx_req_reg(periph_tx_req_reg),
182
               .periph_rx_clr(periph_rx_clr),
183
               .periph_tx_clr(periph_tx_clr)
184
               );
185
 
186
 
187
 
188
   dma_axi32_core0_top
189
   dma_axi32_core0_top (
190
 
191
             .clk(clk),
192
             .reset(reset),
193
             .scan_en(scan_en),
194
 
195
             .idle(core0_idle),
196
             .ch_int_all_proc(ch_int_all_proc0),
197
             .ch_start(core0_ch_start),
198
             .clkdiv(core0_clkdiv),
199
 
200
             .periph_tx_req(periph_tx_req0),
201
             .periph_tx_clr(periph_tx_clr0),
202
             .periph_rx_req(periph_rx_req0),
203
             .periph_rx_clr(periph_rx_clr0),
204
 
205
             .pclken(pclken),
206
             .psel(psel0),
207
             .penable(penable),
208
             .paddr(paddr[10:0]),
209
             .pwrite(pwrite),
210
             .pwdata(pwdata),
211
             .prdata(prdata0),
212
             .pslverr(pslverr0),
213
 
214
             .rd_port_num(rd_port_num0),
215
             .wr_port_num(wr_port_num0),
216
 
217
             .joint_mode(joint_mode0),
218
             .joint_remote(joint_remote0),
219
             .rd_prio_top(rd_prio_top0),
220
             .rd_prio_high(rd_prio_high0),
221
             .rd_prio_top_num(rd_prio_top_num0),
222
             .rd_prio_high_num(rd_prio_high_num0),
223
             .wr_prio_top(wr_prio_top0),
224
             .wr_prio_high(wr_prio_high0),
225
             .wr_prio_top_num(wr_prio_top_num0),
226
             .wr_prio_high_num(wr_prio_high_num0),
227
 
228
                     .AWADDR(M0_AWADDR),
229
                     .AWLEN(M0_AWLEN),
230
                     .AWSIZE(M0_AWSIZE),
231
                     .AWVALID(M0_AWVALID),
232
                     .AWREADY(M0_AWREADY),
233
                     .WDATA(M0_WDATA),
234
                     .WSTRB(M0_WSTRB),
235
                     .WLAST(M0_WLAST),
236
                     .WVALID(M0_WVALID),
237
                     .WREADY(M0_WREADY),
238
                     .BRESP(M0_BRESP),
239
                     .BVALID(M0_BVALID),
240
                     .BREADY(M0_BREADY),
241
                     .ARADDR(M0_ARADDR),
242
                     .ARLEN(M0_ARLEN),
243
                     .ARSIZE(M0_ARSIZE),
244
                     .ARVALID(M0_ARVALID),
245
                     .ARREADY(M0_ARREADY),
246
                     .RDATA(M0_RDATA),
247
                     .RRESP(M0_RRESP),
248
                     .RLAST(M0_RLAST),
249
                     .RVALID(M0_RVALID),
250
                     .RREADY(M0_RREADY)
251
             );
252
 
253
 
254
 
255
 
256
   prgen_delay #(1) delay_pslverr1 (.clk(clk), .reset(reset), .din(psel1), .dout(pslverr1)); //return error
257
   assign                   prdata1          = {32{1'b0}};
258
 
259
   assign                   periph_rx_clr1   = {31{1'b0}};
260
   assign                   periph_tx_clr1   = {31{1'b0}};
261
 
262
   assign                   rd_port_num1     = 1'b0;
263
   assign                   wr_port_num1     = 1'b0;
264
 
265
 
266
endmodule
267
 
268
 
269
 
270
 

powered by: WebSVN 2.1.0

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