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

Subversion Repositories dma_ahb

[/] [dma_ahb/] [trunk/] [src/] [dma_ahb64/] [dma_ahb64_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:32:58 2011
5
//--
6
//-- Source file: dma_dual_core.v
7
//---------------------------------------------------------
8
 
9
 
10
 
11
module dma_ahb64_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_WHADDR,M0_WHBURST,M0_WHSIZE,M0_WHTRANS,M0_WHWDATA,M0_WHREADY,M0_WHRESP,M0_RHADDR,M0_RHBURST,M0_RHSIZE,M0_RHTRANS,M0_RHRDATA,M0_RHREADY,M0_RHRESP,M0_WHLAST,M0_WHOLD,M0_RHLAST,M0_RHOLD);
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 [32-1:0]           M0_WHADDR;
41
   output [2:0]                           M0_WHBURST;
42
   output [1:0]                           M0_WHSIZE;
43
   output [1:0]                           M0_WHTRANS;
44
   output [64-1:0]           M0_WHWDATA;
45
   input                                  M0_WHREADY;
46
   input                                  M0_WHRESP;
47
   output [32-1:0]           M0_RHADDR;
48
   output [2:0]                           M0_RHBURST;
49
   output [1:0]                           M0_RHSIZE;
50
   output [1:0]                           M0_RHTRANS;
51
   input [64-1:0]            M0_RHRDATA;
52
   input                                  M0_RHREADY;
53
   input                                  M0_RHRESP;
54
   output                                 M0_WHLAST;
55
   input                                  M0_WHOLD;
56
   output                                 M0_RHLAST;
57
   input                                  M0_RHOLD;
58
 
59
 
60
 
61
   wire                   psel0;
62
   wire [31:0]                   prdata0;
63
   wire                   pslverr0;
64
 
65
   wire                   psel1;
66
   wire [31:0]                   prdata1;
67
   wire                   pslverr1;
68
 
69
   wire                   psel_reg;
70
   wire [31:0]                   prdata_reg;
71
   wire                   pslverr_reg;
72
 
73
   wire [8*1-1:0]                  ch_int_all_proc0;
74
 
75
   //outputs of dma_ahb64 reg
76
   wire [1-1:0]                    int_all_proc;
77
   wire [3:0]                   core0_clkdiv;
78
   wire [7:0]                   core0_ch_start;
79
   wire                   joint_mode0;
80
   wire                   joint_remote0;
81
   wire                    rd_prio_top0;
82
   wire                    rd_prio_high0;
83
   wire [2:0]                   rd_prio_top_num0;
84
   wire [2:0]                   rd_prio_high_num0;
85
   wire                    wr_prio_top0;
86
   wire                    wr_prio_high0;
87
   wire [2:0]                   wr_prio_top_num0;
88
   wire [2:0]                   wr_prio_high_num0;
89
   wire [31:1]                   periph_rx_req_reg;
90
   wire [31:1]                   periph_tx_req_reg;
91
 
92
   wire [31:1]                   periph_rx_req0;
93
   wire [31:1]                   periph_tx_req0;
94
   wire [31:1]                   periph_rx_req1;
95
   wire [31:1]                   periph_tx_req1;
96
   wire [31:1]                   periph_rx_clr0;
97
   wire [31:1]                   periph_tx_clr0;
98
   wire [31:1]                   periph_rx_clr1;
99
   wire [31:1]                   periph_tx_clr1;
100
 
101
   wire                   core0_idle;
102
 
103
 
104
 
105
   assign                   idle = core0_idle;
106
 
107
   assign                   INT = int_all_proc;
108
 
109
 
110
   assign                   periph_rx_req0     = periph_rx_req | periph_rx_req_reg;
111
   assign                   periph_tx_req0     = periph_tx_req | periph_tx_req_reg;
112
   assign                   periph_rx_req1     = periph_rx_req0;
113
   assign                   periph_tx_req1     = periph_tx_req0;
114
 
115
   assign                   periph_rx_clr      = periph_rx_clr0 | periph_rx_clr1;
116
   assign                   periph_tx_clr      = periph_tx_clr0 | periph_tx_clr1;
117
 
118
 
119
   assign                   joint_remote0 = joint_mode0 & 0 & 0;
120
 
121
 
122
   dma_ahb64_apb_mux  dma_ahb64_apb_mux (
123
                   .clk(clk),
124
                   .reset(reset),
125
                   .pclken(pclken),
126
                   .psel(psel),
127
                   .penable(penable),
128
                   .pwrite(pwrite),
129
                   .paddr(paddr[12:11]),
130
                   .prdata(prdata),
131
                   .pslverr(pslverr),
132
                   .pready(pready),
133
                   .psel0(psel0),
134
                   .prdata0(prdata0),
135
                   .pslverr0(pslverr0),
136
                   .psel1(psel1),
137
                   .prdata1(prdata1),
138
                   .pslverr1(pslverr1),
139
                   .psel_reg(psel_reg),
140
                   .prdata_reg(prdata_reg),
141
                   .pslverr_reg(pslverr_reg)
142
                   );
143
 
144
 
145
   dma_ahb64_reg  dma_ahb64_reg (
146
               .clk(clk),
147
               .reset(reset),
148
               .pclken(pclken),
149
               .psel(psel_reg),
150
               .penable(penable),
151
               .paddr(paddr[7:0]),
152
               .pwrite(pwrite),
153
               .pwdata(pwdata),
154
               .prdata(prdata_reg),
155
               .pslverr(pslverr_reg),
156
               .core0_idle(core0_idle),
157
               .ch_int_all_proc0(ch_int_all_proc0),
158
               .int_all_proc(int_all_proc),
159
               .core0_clkdiv(core0_clkdiv),
160
               .core0_ch_start(core0_ch_start),
161
               .joint_mode0(joint_mode0),
162
               .rd_prio_top0(rd_prio_top0),
163
               .rd_prio_high0(rd_prio_high0),
164
               .rd_prio_top_num0(rd_prio_top_num0),
165
               .rd_prio_high_num0(rd_prio_high_num0),
166
               .wr_prio_top0(wr_prio_top0),
167
               .wr_prio_high0(wr_prio_high0),
168
               .wr_prio_top_num0(wr_prio_top_num0),
169
               .wr_prio_high_num0(wr_prio_high_num0),
170
               .periph_rx_req_reg(periph_rx_req_reg),
171
               .periph_tx_req_reg(periph_tx_req_reg),
172
               .periph_rx_clr(periph_rx_clr),
173
               .periph_tx_clr(periph_tx_clr)
174
               );
175
 
176
 
177
 
178
   dma_ahb64_core0_top
179
   dma_ahb64_core0_top (
180
 
181
             .clk(clk),
182
             .reset(reset),
183
             .scan_en(scan_en),
184
 
185
             .idle(core0_idle),
186
             .ch_int_all_proc(ch_int_all_proc0),
187
             .ch_start(core0_ch_start),
188
             .clkdiv(core0_clkdiv),
189
 
190
             .periph_tx_req(periph_tx_req0),
191
             .periph_tx_clr(periph_tx_clr0),
192
             .periph_rx_req(periph_rx_req0),
193
             .periph_rx_clr(periph_rx_clr0),
194
 
195
             .pclken(pclken),
196
             .psel(psel0),
197
             .penable(penable),
198
             .paddr(paddr[10:0]),
199
             .pwrite(pwrite),
200
             .pwdata(pwdata),
201
             .prdata(prdata0),
202
             .pslverr(pslverr0),
203
 
204
             .rd_port_num(rd_port_num0),
205
             .wr_port_num(wr_port_num0),
206
 
207
             .joint_mode(joint_mode0),
208
             .joint_remote(joint_remote0),
209
             .rd_prio_top(rd_prio_top0),
210
             .rd_prio_high(rd_prio_high0),
211
             .rd_prio_top_num(rd_prio_top_num0),
212
             .rd_prio_high_num(rd_prio_high_num0),
213
             .wr_prio_top(wr_prio_top0),
214
             .wr_prio_high(wr_prio_high0),
215
             .wr_prio_top_num(wr_prio_top_num0),
216
             .wr_prio_high_num(wr_prio_high_num0),
217
 
218
                     .WHADDR(M0_WHADDR),
219
                     .WHBURST(M0_WHBURST),
220
                     .WHSIZE(M0_WHSIZE),
221
                     .WHTRANS(M0_WHTRANS),
222
                     .WHWDATA(M0_WHWDATA),
223
                     .WHREADY(M0_WHREADY),
224
                     .WHRESP(M0_WHRESP),
225
                     .RHADDR(M0_RHADDR),
226
                     .RHBURST(M0_RHBURST),
227
                     .RHSIZE(M0_RHSIZE),
228
                     .RHTRANS(M0_RHTRANS),
229
                     .RHRDATA(M0_RHRDATA),
230
                     .RHREADY(M0_RHREADY),
231
                     .RHRESP(M0_RHRESP),
232
                     .WHLAST(M0_WHLAST),
233
                     .WHOLD(M0_WHOLD),
234
                     .RHLAST(M0_RHLAST),
235
                     .RHOLD(M0_RHOLD)
236
             );
237
 
238
 
239
 
240
 
241
   prgen_delay #(1) delay_pslverr1 (.clk(clk), .reset(reset), .din(psel1), .dout(pslverr1)); //return error
242
   assign                   prdata1          = {32{1'b0}};
243
 
244
   assign                   periph_rx_clr1   = {31{1'b0}};
245
   assign                   periph_tx_clr1   = {31{1'b0}};
246
 
247
   assign                   rd_port_num1     = 1'b0;
248
   assign                   wr_port_num1     = 1'b0;
249
 
250
 
251
endmodule
252
 
253
 
254
 
255
 

powered by: WebSVN 2.1.0

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