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

Subversion Repositories test_project

[/] [test_project/] [trunk/] [rtl/] [verilog/] [orpsoc_top.v] - Blame information for rev 41

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 40 julius
//module ref_design_top
2
module orpsoc_top
3
  (
4
   output spi_flash_sclk_pad_o  ,
5
   output spi_flash_ss_pad_o    ,
6
   input  spi_flash_miso_pad_i  ,
7
   output spi_flash_mosi_pad_o  ,
8
   output spi_flash_w_n_pad_o   ,
9
   output spi_flash_hold_n_pad_o,
10
   output spi_sd_sclk_pad_o  ,
11
   output spi_sd_ss_pad_o    ,
12
   input  spi_sd_miso_pad_i  ,
13
   output spi_sd_mosi_pad_o  ,
14
   inout [15:0]  mem_dat_pad_io,
15
   output [12:0] mem_adr_pad_o ,
16
   output [1:0]  mem_dqm_pad_o ,
17
   output [1:0]  mem_ba_pad_o  ,
18
   output        mem_cs_pad_o  ,
19
   output        mem_ras_pad_o ,
20
   output        mem_cas_pad_o ,
21
   output        mem_we_pad_o  ,
22
   output        mem_cke_pad_o ,
23
   output [1:1] eth_sync_pad_o,
24
   output [1:1] eth_tx_pad_o,
25
   input [1:1]  eth_rx_pad_i,
26
   input                 eth_clk_pad_i,
27
   inout [1:1]  eth_md_pad_io,
28
   output [1:1] eth_mdc_pad_o,
29
   output spi1_mosi_pad_o,
30
   input  spi1_miso_pad_i,
31
   output spi1_ss_pad_o  ,
32
   output spi1_sclk_pad_o,
33
   inout [8-1:0] gpio_a_pad_io,
34
   input  uart0_srx_pad_i ,
35
   output uart0_stx_pad_o ,
36
   input  dbg_tdi_pad_i,
37
   input  dbg_tck_pad_i,
38
   input  dbg_tms_pad_i,
39
   output dbg_tdo_pad_o,
40
   input rst_pad_i,
41
   output rst_pad_o,
42
   input clk_pad_i
43
   )
44
;
45
   wire          wb_rst;
46
   wire          wb_clk, clk50, clk100, usbClk, dbg_tck;
47
   wire          pll_lock;
48
   wire          mem_io_req, mem_io_gnt, mem_io_busy;
49
   wire [15:0]    mem_dat_pad_i, mem_dat_pad_o;
50
   wire [30:0]    pic_ints;
51
   wire          spi3_irq, spi2_irq, spi1_irq, spi0_irq, uart0_irq;
52
   wire          eth0_int_o;
53
parameter [31:0] wbm_or12_i_dat_o = 32'h0;
54
wire [31:0] wbm_or12_i_adr_o;
55
wire [3:0] wbm_or12_i_sel_o;
56
wire wbm_or12_i_we_o;
57
wire [1:0] wbm_or12_i_bte_o;
58
wire [2:0] wbm_or12_i_cti_o;
59
wire wbm_or12_i_stb_o;
60
wire wbm_or12_i_cyc_o;
61
wire [31:0] wbm_or12_i_dat_i;
62
wire wbm_or12_i_ack_i;
63
wire wbm_or12_i_err_i;
64
wire wbm_or12_i_rty_i;
65
wire [31:0] wbm_or12_debug_dat_o;
66
wire [31:0] wbm_or12_debug_adr_o;
67
wire [3:0] wbm_or12_debug_sel_o;
68
wire wbm_or12_debug_we_o;
69
wire [1:0] wbm_or12_debug_bte_o;
70
wire [2:0] wbm_or12_debug_cti_o;
71
wire wbm_or12_debug_stb_o;
72
wire wbm_or12_debug_cyc_o;
73
wire [31:0] wbm_or12_debug_dat_i;
74
wire wbm_or12_debug_ack_i;
75
wire wbm_or12_debug_err_i;
76
wire wbm_or12_debug_rty_i;
77
wire [31:0] wbm_or12_d_dat_o;
78
wire [31:0] wbm_or12_d_adr_o;
79
wire [3:0] wbm_or12_d_sel_o;
80
wire wbm_or12_d_we_o;
81
wire [1:0] wbm_or12_d_bte_o;
82
wire [2:0] wbm_or12_d_cti_o;
83
wire wbm_or12_d_stb_o;
84
wire wbm_or12_d_cyc_o;
85
wire [31:0] wbm_or12_d_dat_i;
86
wire wbm_or12_d_ack_i;
87
wire wbm_or12_d_err_i;
88
wire wbm_or12_d_rty_i;
89
wire [31:0] wbm_eth1_dat_o;
90
wire [31:0] wbm_eth1_adr_o;
91
wire [3:0] wbm_eth1_sel_o;
92
wire wbm_eth1_we_o;
93
wire [1:0] wbm_eth1_bte_o;
94
wire [2:0] wbm_eth1_cti_o;
95
wire wbm_eth1_stb_o;
96
wire wbm_eth1_cyc_o;
97
wire [31:0] wbm_eth1_dat_i;
98
wire wbm_eth1_ack_i;
99
wire wbm_eth1_err_i;
100
wire wbm_eth1_rty_i;
101
wire [31:0] wbs_eth1_cfg_dat_o;
102
wire [31:0] wbs_eth1_cfg_dat_i;
103
wire [31:0] wbs_eth1_cfg_adr_i;
104
wire [3:0] wbs_eth1_cfg_sel_i;
105
wire [1:0] wbs_eth1_cfg_bte_i;
106
wire [2:0] wbs_eth1_cfg_cti_i;
107
wire wbs_eth1_cfg_stb_i;
108
wire wbs_eth1_cfg_cyc_i;
109
wire wbs_eth1_cfg_ack_o;
110
wire wbs_eth1_cfg_err_o;
111
parameter wbs_eth1_cfg_rty_o = 1'b0;
112
wire [31:0] wbs_rom_dat_o;
113
wire [31:0] wbs_rom_dat_i;
114
wire [31:0] wbs_rom_adr_i;
115
wire [3:0] wbs_rom_sel_i;
116
wire [1:0] wbs_rom_bte_i;
117
wire [2:0] wbs_rom_cti_i;
118
wire wbs_rom_stb_i;
119
wire wbs_rom_cyc_i;
120
wire wbs_rom_ack_o;
121
parameter wbs_rom_err_o = 1'b0;
122
parameter wbs_rom_rty_o = 1'b0;
123
wire [31:0] wbs_mc_m_dat_o;
124
wire [31:0] wbs_mc_m_dat_i;
125
wire [31:0] wbs_mc_m_adr_i;
126
wire [3:0] wbs_mc_m_sel_i;
127
wire [1:0] wbs_mc_m_bte_i;
128
wire [2:0] wbs_mc_m_cti_i;
129
wire wbs_mc_m_stb_i;
130
wire wbs_mc_m_cyc_i;
131
wire wbs_mc_m_ack_o;
132
wire wbs_mc_m_err_o;
133
parameter wbs_mc_m_rty_o = 1'b0;
134
wire [31:0] wbs_spi_flash_dat_o;
135
wire [31:0] wbs_spi_flash_dat_i;
136
wire [31:0] wbs_spi_flash_adr_i;
137
wire [3:0] wbs_spi_flash_sel_i;
138
wire [1:0] wbs_spi_flash_bte_i;
139
wire [2:0] wbs_spi_flash_cti_i;
140
wire wbs_spi_flash_stb_i;
141
wire wbs_spi_flash_cyc_i;
142
wire wbs_spi_flash_ack_o;
143
parameter wbs_spi_flash_err_o = 1'b0;
144
parameter wbs_spi_flash_rty_o = 1'b0;
145
wire [31:0] wbs_uart0_dat_o;
146
wire [31:0] wbs_uart0_dat_i;
147
wire [31:0] wbs_uart0_adr_i;
148
wire [3:0] wbs_uart0_sel_i;
149
wire [1:0] wbs_uart0_bte_i;
150
wire [2:0] wbs_uart0_cti_i;
151
wire wbs_uart0_stb_i;
152
wire wbs_uart0_cyc_i;
153
wire wbs_uart0_ack_o;
154
parameter wbs_uart0_err_o = 1'b0;
155
parameter wbs_uart0_rty_o = 1'b0;
156
wire [31:0] wbs_ds1_dat_o;
157
wire [31:0] wbs_ds1_dat_i;
158
wire [31:0] wbs_ds1_adr_i;
159
wire [3:0] wbs_ds1_sel_i;
160
wire [1:0] wbs_ds1_bte_i;
161
wire [2:0] wbs_ds1_cti_i;
162
wire wbs_ds1_stb_i;
163
wire wbs_ds1_cyc_i;
164
wire wbs_ds1_ack_o;
165
parameter wbs_ds1_err_o = 1'b0;
166
parameter wbs_ds1_rty_o = 1'b0;
167
wire [31:0] wbs_ds2_dat_o;
168
wire [31:0] wbs_ds2_dat_i;
169
wire [31:0] wbs_ds2_adr_i;
170
wire [3:0] wbs_ds2_sel_i;
171
wire [1:0] wbs_ds2_bte_i;
172
wire [2:0] wbs_ds2_cti_i;
173
wire wbs_ds2_stb_i;
174
wire wbs_ds2_cyc_i;
175
wire wbs_ds2_ack_o;
176
parameter wbs_ds2_err_o = 1'b0;
177
parameter wbs_ds2_rty_o = 1'b0;
178
   wire                eth_clk;
179
   wire [1:1] eth_int;
180
intercon intercon1 (
181
    .wbm_or12_isaw_dat_o(wbm_or12_i_dat_o),
182
    .wbm_or12_isaw_adr_o(wbm_or12_i_adr_o),
183
    .wbm_or12_isaw_sel_o(wbm_or12_i_sel_o),
184
    .wbm_or12_isaw_we_o(wbm_or12_i_we_o),
185
    .wbm_or12_isaw_bte_o(wbm_or12_i_bte_o),
186
    .wbm_or12_isaw_cti_o(wbm_or12_i_cti_o),
187
    .wbm_or12_isaw_stb_o(wbm_or12_i_stb_o),
188
    .wbm_or12_isaw_cyc_o(wbm_or12_i_cyc_o),
189
    .wbm_or12_isaw_dat_i(wbm_or12_i_dat_i),
190
    .wbm_or12_isaw_ack_i(wbm_or12_i_ack_i),
191
    .wbm_or12_isaw_err_i(wbm_or12_i_err_i),
192
    .wbm_or12_isaw_rty_i(wbm_or12_i_rty_i),
193
    .wbm_or12_debug_dat_o(wbm_or12_debug_dat_o),
194
    .wbm_or12_debug_adr_o(wbm_or12_debug_adr_o),
195
    .wbm_or12_debug_sel_o(wbm_or12_debug_sel_o),
196
    .wbm_or12_debug_we_o(wbm_or12_debug_we_o),
197
    .wbm_or12_debug_bte_o(wbm_or12_debug_bte_o),
198
    .wbm_or12_debug_cti_o(wbm_or12_debug_cti_o),
199
    .wbm_or12_debug_stb_o(wbm_or12_debug_stb_o),
200
    .wbm_or12_debug_cyc_o(wbm_or12_debug_cyc_o),
201
    .wbm_or12_debug_dat_i(wbm_or12_debug_dat_i),
202
    .wbm_or12_debug_ack_i(wbm_or12_debug_ack_i),
203
    .wbm_or12_debug_err_i(wbm_or12_debug_err_i),
204
    .wbm_or12_debug_rty_i(wbm_or12_debug_rty_i),
205
    .wbm_or12_d_dat_o(wbm_or12_d_dat_o),
206
    .wbm_or12_d_adr_o(wbm_or12_d_adr_o),
207
    .wbm_or12_d_sel_o(wbm_or12_d_sel_o),
208
    .wbm_or12_d_we_o(wbm_or12_d_we_o),
209
    .wbm_or12_d_bte_o(wbm_or12_d_bte_o),
210
    .wbm_or12_d_cti_o(wbm_or12_d_cti_o),
211
    .wbm_or12_d_stb_o(wbm_or12_d_stb_o),
212
    .wbm_or12_d_cyc_o(wbm_or12_d_cyc_o),
213
    .wbm_or12_d_dat_i(wbm_or12_d_dat_i),
214
    .wbm_or12_d_ack_i(wbm_or12_d_ack_i),
215
    .wbm_or12_d_err_i(wbm_or12_d_err_i),
216
    .wbm_or12_d_rty_i(wbm_or12_d_rty_i),
217
    .wbm_eth1_dat_o(wbm_eth1_dat_o),
218
    .wbm_eth1_adr_o(wbm_eth1_adr_o),
219
    .wbm_eth1_sel_o(wbm_eth1_sel_o),
220
    .wbm_eth1_we_o(wbm_eth1_we_o),
221
    .wbm_eth1_bte_o(wbm_eth1_bte_o),
222
    .wbm_eth1_cti_o(wbm_eth1_cti_o),
223
    .wbm_eth1_stb_o(wbm_eth1_stb_o),
224
    .wbm_eth1_cyc_o(wbm_eth1_cyc_o),
225
    .wbm_eth1_dat_i(wbm_eth1_dat_i),
226
    .wbm_eth1_ack_i(wbm_eth1_ack_i),
227
    .wbm_eth1_err_i(wbm_eth1_err_i),
228
    .wbm_eth1_rty_i(wbm_eth1_rty_i),
229
    .wbs_eth1_cfg_dat_i(wbs_eth1_cfg_dat_i),
230
    .wbs_eth1_cfg_adr_i(wbs_eth1_cfg_adr_i),
231
    .wbs_eth1_cfg_sel_i(wbs_eth1_cfg_sel_i),
232
    .wbs_eth1_cfg_we_i(wbs_eth1_cfg_we_i),
233
    .wbs_eth1_cfg_bte_i(wbs_eth1_cfg_bte_i),
234
    .wbs_eth1_cfg_cti_i(wbs_eth1_cfg_cti_i),
235
    .wbs_eth1_cfg_stb_i(wbs_eth1_cfg_stb_i),
236
    .wbs_eth1_cfg_cyc_i(wbs_eth1_cfg_cyc_i),
237
    .wbs_eth1_cfg_dat_o(wbs_eth1_cfg_dat_o),
238
    .wbs_eth1_cfg_ack_o(wbs_eth1_cfg_ack_o),
239
    .wbs_eth1_cfg_err_o(wbs_eth1_cfg_err_o),
240
    .wbs_eth1_cfg_rty_o(wbs_eth1_cfg_rty_o),
241
    .wbs_rom_dat_i(wbs_rom_dat_i),
242
    .wbs_rom_adr_i(wbs_rom_adr_i),
243
    .wbs_rom_sel_i(wbs_rom_sel_i),
244
    .wbs_rom_we_i(wbs_rom_we_i),
245
    .wbs_rom_bte_i(wbs_rom_bte_i),
246
    .wbs_rom_cti_i(wbs_rom_cti_i),
247
    .wbs_rom_stb_i(wbs_rom_stb_i),
248
    .wbs_rom_cyc_i(wbs_rom_cyc_i),
249
    .wbs_rom_dat_o(wbs_rom_dat_o),
250
    .wbs_rom_ack_o(wbs_rom_ack_o),
251
    .wbs_rom_err_o(wbs_rom_err_o),
252
    .wbs_rom_rty_o(wbs_rom_rty_o),
253
    .wbs_mc_m_dat_i(wbs_mc_m_dat_i),
254
    .wbs_mc_m_adr_i(wbs_mc_m_adr_i),
255
    .wbs_mc_m_sel_i(wbs_mc_m_sel_i),
256
    .wbs_mc_m_we_i(wbs_mc_m_we_i),
257
    .wbs_mc_m_bte_i(wbs_mc_m_bte_i),
258
    .wbs_mc_m_cti_i(wbs_mc_m_cti_i),
259
    .wbs_mc_m_stb_i(wbs_mc_m_stb_i),
260
    .wbs_mc_m_cyc_i(wbs_mc_m_cyc_i),
261
    .wbs_mc_m_dat_o(wbs_mc_m_dat_o),
262
    .wbs_mc_m_ack_o(wbs_mc_m_ack_o),
263
    .wbs_mc_m_err_o(wbs_mc_m_err_o),
264
    .wbs_mc_m_rty_o(wbs_mc_m_rty_o),
265
    .wbs_spi_flash_dat_i(wbs_spi_flash_dat_i),
266
    .wbs_spi_flash_adr_i(wbs_spi_flash_adr_i),
267
    .wbs_spi_flash_sel_i(wbs_spi_flash_sel_i),
268
    .wbs_spi_flash_we_i(wbs_spi_flash_we_i),
269
    .wbs_spi_flash_bte_i(wbs_spi_flash_bte_i),
270
    .wbs_spi_flash_cti_i(wbs_spi_flash_cti_i),
271
    .wbs_spi_flash_stb_i(wbs_spi_flash_stb_i),
272
    .wbs_spi_flash_cyc_i(wbs_spi_flash_cyc_i),
273
    .wbs_spi_flash_dat_o(wbs_spi_flash_dat_o),
274
    .wbs_spi_flash_ack_o(wbs_spi_flash_ack_o),
275
    .wbs_spi_flash_err_o(wbs_spi_flash_err_o),
276
    .wbs_spi_flash_rty_o(wbs_spi_flash_rty_o),
277
    .wbs_uart0_dat_i(wbs_uart0_dat_i),
278
    .wbs_uart0_adr_i(wbs_uart0_adr_i),
279
    .wbs_uart0_sel_i(wbs_uart0_sel_i),
280
    .wbs_uart0_we_i(wbs_uart0_we_i),
281
    .wbs_uart0_bte_i(wbs_uart0_bte_i),
282
    .wbs_uart0_cti_i(wbs_uart0_cti_i),
283
    .wbs_uart0_stb_i(wbs_uart0_stb_i),
284
    .wbs_uart0_cyc_i(wbs_uart0_cyc_i),
285
    .wbs_uart0_dat_o(wbs_uart0_dat_o),
286
    .wbs_uart0_ack_o(wbs_uart0_ack_o),
287
    .wbs_uart0_err_o(wbs_uart0_err_o),
288
    .wbs_uart0_rty_o(wbs_uart0_rty_o),
289
    .wbs_ds1_dat_i(wbs_ds1_dat_i),
290
    .wbs_ds1_adr_i(wbs_ds1_adr_i),
291
    .wbs_ds1_sel_i(wbs_ds1_sel_i),
292
    .wbs_ds1_we_i(wbs_ds1_we_i),
293
    .wbs_ds1_bte_i(wbs_ds1_bte_i),
294
    .wbs_ds1_cti_i(wbs_ds1_cti_i),
295
    .wbs_ds1_stb_i(wbs_ds1_stb_i),
296
    .wbs_ds1_cyc_i(wbs_ds1_cyc_i),
297
    .wbs_ds1_dat_o(wbs_ds1_dat_o),
298
    .wbs_ds1_ack_o(wbs_ds1_ack_o),
299
    .wbs_ds1_err_o(wbs_ds1_err_o),
300
    .wbs_ds1_rty_o(wbs_ds1_rty_o),
301
    .wbs_ds2_dat_i(wbs_ds2_dat_i),
302
    .wbs_ds2_adr_i(wbs_ds2_adr_i),
303
    .wbs_ds2_sel_i(wbs_ds2_sel_i),
304
    .wbs_ds2_we_i(wbs_ds2_we_i),
305
    .wbs_ds2_bte_i(wbs_ds2_bte_i),
306
    .wbs_ds2_cti_i(wbs_ds2_cti_i),
307
    .wbs_ds2_stb_i(wbs_ds2_stb_i),
308
    .wbs_ds2_cyc_i(wbs_ds2_cyc_i),
309
    .wbs_ds2_dat_o(wbs_ds2_dat_o),
310
    .wbs_ds2_ack_o(wbs_ds2_ack_o),
311
    .wbs_ds2_err_o(wbs_ds2_err_o),
312
    .wbs_ds2_rty_o(wbs_ds2_rty_o),
313
    .wb_clk_i(wb_clk),
314
    .wb_rst_i(wb_rst)
315
);
316
    assign       pic_ints[30] = 1'b0;
317
   assign        pic_ints[29] = 1'b0;
318
   assign        pic_ints[28] = 1'b0;
319
   assign        pic_ints[27] = 1'b0;
320
   assign        pic_ints[26] = 1'b0;
321
   assign        pic_ints[25] = 1'b0;
322
   assign        pic_ints[24] = 1'b0;
323
   assign        pic_ints[23] = 1'b0;
324
   assign        pic_ints[22] = 1'b0;
325
   assign        pic_ints[21] = 1'b0;
326
   assign        pic_ints[20] = 1'b0;
327
   assign        pic_ints[19] = 1'b0;
328
   assign        pic_ints[18] = 1'b0;
329
   assign        pic_ints[17] = 1'b0;
330
   assign        pic_ints[16] = 1'b0;
331
   assign        pic_ints[15] = 1'b0;
332
   assign        pic_ints[14] = 1'b0;
333
   assign        pic_ints[13] = 1'b0;
334
   assign        pic_ints[12] = 1'b0;
335
   assign        pic_ints[11] = 1'b0;
336
   assign        pic_ints[10] = 1'b0;
337
   assign        pic_ints[9]  = 1'b0;
338
   assign        pic_ints[8]  = 1'b0;
339
   assign        pic_ints[7] = 1'b0;
340
   assign        pic_ints[6] = 1'b0;
341
   assign        pic_ints[5] = 1'b0;
342
   assign        pic_ints[4] = 1'b0;
343
   assign        pic_ints[3] = 1'b0;
344
   assign        pic_ints[2] = uart0_irq;
345
   assign        pic_ints[1] = 1'b0;
346
   assign        pic_ints[0] = 1'b0;
347
    or1k i_or1k
348
     (
349
      .clk_i      (wb_clk),
350
      .rst_i      (wb_rst),
351
      .pic_ints_i (pic_ints[19:0]),
352
      .iwb_clk_i  (wb_clk),
353
      .iwb_rst_i  (wb_rst),
354
      .iwb_ack_i  (wbm_or12_i_ack_i),
355
      .iwb_err_i  (wbm_or12_i_err_i),
356
      .iwb_rty_i  (wbm_or12_i_rty_i),
357
      .iwb_dat_i  (wbm_or12_i_dat_i),
358
      .iwb_cyc_o  (wbm_or12_i_cyc_o),
359
      .iwb_adr_o  (wbm_or12_i_adr_o),
360
      .iwb_stb_o  (wbm_or12_i_stb_o),
361
      .iwb_we_o   (wbm_or12_i_we_o ),
362
      .iwb_sel_o  (wbm_or12_i_sel_o),
363
      .iwb_cti_o  (wbm_or12_i_cti_o),
364
      .iwb_bte_o  (wbm_or12_i_bte_o),
365
      .dwb_clk_i  (wb_clk),
366
      .dwb_rst_i  (wb_rst),
367
      .dwb_ack_i  (wbm_or12_d_ack_i),
368
      .dwb_err_i  (wbm_or12_d_err_i),
369
      .dwb_rty_i  (wbm_or12_d_rty_i),
370
      .dwb_dat_i  (wbm_or12_d_dat_i),
371
      .dwb_cyc_o  (wbm_or12_d_cyc_o),
372
      .dwb_adr_o  (wbm_or12_d_adr_o),
373
      .dwb_stb_o  (wbm_or12_d_stb_o),
374
      .dwb_we_o   (wbm_or12_d_we_o),
375
      .dwb_sel_o  (wbm_or12_d_sel_o),
376
      .dwb_dat_o  (wbm_or12_d_dat_o),
377
      .dwb_cti_o  (wbm_or12_d_cti_o),
378
      .dwb_bte_o  (wbm_or12_d_bte_o),
379
      .dbgwb_clk_i (wb_clk),
380
      .dbgwb_rst_i (wb_rst),
381
      .dbgwb_ack_i (wbm_or12_debug_ack_i),
382
      .dbgwb_err_i (wbm_or12_debug_err_i),
383
      .dbgwb_dat_i (wbm_or12_debug_dat_i),
384
      .dbgwb_cyc_o (wbm_or12_debug_cyc_o),
385
      .dbgwb_adr_o (wbm_or12_debug_adr_o),
386
      .dbgwb_stb_o (wbm_or12_debug_stb_o),
387
      .dbgwb_we_o  (wbm_or12_debug_we_o),
388
      .dbgwb_sel_o (wbm_or12_debug_sel_o),
389
      .dbgwb_dat_o (wbm_or12_debug_dat_o),
390
      .dbgwb_cti_o (wbm_or12_debug_cti_o),
391
      .dbgwb_bte_o (wbm_or12_debug_bte_o),
392
      .tms_pad_i   (dbg_tms_pad_i),
393
      .tck_pad_i   (dbg_tck),
394
      .tdi_pad_i   (dbg_tdi_pad_i),
395
      .tdo_pad_o   (dbg_tdo_pad_o),
396
      .tdo_padoe_o (             )
397
      );
398
 OR1K_startup OR1K_startup0
399
  (
400
    .wb_adr_i(wbs_rom_adr_i[6:2]),
401
    .wb_stb_i(wbs_rom_stb_i),
402
    .wb_cyc_i(wbs_rom_cyc_i),
403
    .wb_dat_o(wbs_rom_dat_o),
404
    .wb_ack_o(wbs_rom_ack_o),
405
    .wb_clk(wb_clk),
406
    .wb_rst(wb_rst)
407
   );
408
wire spi_flash_mosi, spi_flash_miso, spi_flash_sclk;
409
wire [1:0] spi_flash_ss;
410
spi_flash_top #
411
  (
412
   .divider(0),
413
   .divider_len(2)
414
   )
415
spi_flash_top0
416
  (
417
   .wb_clk_i(wb_clk),
418
   .wb_rst_i(wb_rst),
419
   .wb_adr_i(wbs_spi_flash_adr_i[4:2]),
420
   .wb_dat_i(wbs_spi_flash_dat_i),
421
   .wb_dat_o(wbs_spi_flash_dat_o),
422
   .wb_sel_i(wbs_spi_flash_sel_i),
423
   .wb_we_i(wbs_spi_flash_we_i),
424
   .wb_stb_i(wbs_spi_flash_stb_i),
425
   .wb_cyc_i(wbs_spi_flash_cyc_i),
426
   .wb_ack_o(wbs_spi_flash_ack_o),
427
   .mosi_pad_o(spi_flash_mosi),
428
   .miso_pad_i(spi_flash_miso),
429
   .sclk_pad_o(spi_flash_sclk),
430
   .ss_pad_o(spi_flash_ss)
431
   );
432
assign spi_flash_mosi_pad_o = !spi_flash_ss[0] ? spi_flash_mosi : 1'b1;
433
assign spi_flash_sclk_pad_o = !spi_flash_ss[0] ? spi_flash_sclk : 1'b1;
434
assign spi_flash_ss_pad_o   =  spi_flash_ss[0];
435
assign spi_flash_w_n_pad_o    = 1'b1;
436
assign spi_flash_hold_n_pad_o = 1'b1;
437
assign spi_sd_mosi_pad_o = !spi_flash_ss[1] ? spi_flash_mosi : 1'b1;
438
assign spi_sd_sclk_pad_o = !spi_flash_ss[1] ? spi_flash_sclk : 1'b1;
439
assign spi_sd_ss_pad_o   =  spi_flash_ss[1];
440
assign spi_flash_miso = !spi_flash_ss[0] ? spi_flash_miso_pad_i :
441
                        !spi_flash_ss[1] ? spi_sd_miso_pad_i :
442
                        1'b0;
443
  wb_sdram_ctrl wb_sdram_ctrl0
444
  (
445
    .wb_dat_i(wbs_mc_m_dat_i),
446
    .wb_dat_o(wbs_mc_m_dat_o),
447
    .wb_sel_i(wbs_mc_m_sel_i),
448
    .wb_adr_i(wbs_mc_m_adr_i[24:2]),
449
    .wb_we_i (wbs_mc_m_we_i),
450
    .wb_cti_i(wbs_mc_m_cti_i),
451
    .wb_stb_i(wbs_mc_m_stb_i),
452
    .wb_cyc_i(wbs_mc_m_cyc_i),
453
    .wb_ack_o(wbs_mc_m_ack_o),
454
    .sdr_cke_o(mem_cke_pad_o),
455
    .sdr_cs_n_o(mem_cs_pad_o),
456
    .sdr_ras_n_o(mem_ras_pad_o),
457
    .sdr_cas_n_o(mem_cas_pad_o),
458
    .sdr_we_n_o(mem_we_pad_o),
459
    .sdr_a_o(mem_adr_pad_o),
460
    .sdr_ba_o(mem_ba_pad_o),
461
    .sdr_dq_io(mem_dat_pad_io),
462
    .sdr_dqm_o(mem_dqm_pad_o),
463
    .sdram_clk(wb_clk),
464
    .wb_clk(wb_clk),
465
    .wb_rst(wb_rst)
466
   );
467
assign wbs_mc_m_err_o = 1'b0;
468
     uart_top
469
     #( 32, 5)
470
   i_uart_0_top
471
     (
472
      .wb_dat_o   (wbs_uart0_dat_o),
473
      .wb_dat_i   (wbs_uart0_dat_i),
474
      .wb_sel_i   (wbs_uart0_sel_i),
475
      .wb_adr_i   (wbs_uart0_adr_i[4:0]),
476
      .wb_we_i    (wbs_uart0_we_i),
477
      .wb_stb_i   (wbs_uart0_stb_i),
478
      .wb_cyc_i   (wbs_uart0_cyc_i),
479
      .wb_ack_o   (wbs_uart0_ack_o),
480
      .wb_clk_i   (wb_clk),
481
      .wb_rst_i   (wb_rst),
482
      .int_o      (uart0_irq),
483
      .srx_pad_i  (uart0_srx_pad_i),
484
      .stx_pad_o  (uart0_stx_pad_o),
485
      .cts_pad_i  (1'b0),
486
      .rts_pad_o  ( ),
487
      .dtr_pad_o  ( ),
488
      .dcd_pad_i  (1'b0),
489
      .dsr_pad_i  (1'b0),
490
      .ri_pad_i   (1'b0)
491
      );
492
   assign gpio_a_pad_io[7:0] = 8'hfe;
493
  wire       m1tx_clk;
494
wire [3:0]            m1txd;
495
wire         m1txen;
496
wire         m1txerr;
497
wire         m1rx_clk;
498
wire [3:0]            m1rxd;
499
wire         m1rxdv;
500
wire         m1rxerr;
501
wire         m1coll;
502
wire         m1crs;
503
wire [1:10]          state;
504
wire              sync;
505
wire [1:1]    rx, tx;
506
wire [1:1]    mdc_o, md_i, md_o, md_oe;
507
smii_sync smii_sync1
508
  (
509
   .sync(sync),
510
   .state(state),
511
   .clk(eth_clk),
512
   .rst(wb_rst)
513
   );
514
eth_top eth_top1
515
        (
516
         .wb_clk_i(wb_clk),
517
         .wb_rst_i(wb_rst),
518
         .wb_dat_i(wbs_eth1_cfg_dat_i),
519
         .wb_dat_o(wbs_eth1_cfg_dat_o),
520
         .wb_adr_i(wbs_eth1_cfg_adr_i[11:2]),
521
         .wb_sel_i(wbs_eth1_cfg_sel_i),
522
         .wb_we_i(wbs_eth1_cfg_we_i),
523
         .wb_cyc_i(wbs_eth1_cfg_cyc_i),
524
         .wb_stb_i(wbs_eth1_cfg_stb_i),
525
         .wb_ack_o(wbs_eth1_cfg_ack_o),
526
         .wb_err_o(wbs_eth1_cfg_err_o),
527
         .m_wb_adr_o(wbm_eth1_adr_o),
528
         .m_wb_sel_o(wbm_eth1_sel_o),
529
         .m_wb_we_o(wbm_eth1_we_o),
530
         .m_wb_dat_o(wbm_eth1_dat_o),
531
         .m_wb_dat_i(wbm_eth1_dat_i),
532
         .m_wb_cyc_o(wbm_eth1_cyc_o),
533
         .m_wb_stb_o(wbm_eth1_stb_o),
534
         .m_wb_ack_i(wbm_eth1_ack_i),
535
         .m_wb_err_i(wbm_eth1_err_i),
536
         .m_wb_cti_o(wbm_eth1_cti_o),
537
         .m_wb_bte_o(wbm_eth1_bte_o),
538
         .mtx_clk_pad_i(m1tx_clk),
539
         .mtxd_pad_o(m1txd),
540
         .mtxen_pad_o(m1txen),
541
         .mtxerr_pad_o(m1txerr),
542
         .mrx_clk_pad_i(m1rx_clk),
543
         .mrxd_pad_i(m1rxd),
544
         .mrxdv_pad_i(m1rxdv),
545
         .mrxerr_pad_i(m1rxerr),
546
         .mcoll_pad_i(m1coll),
547
         .mcrs_pad_i(m1crs),
548
         .mdc_pad_o(mdc_o[1]),
549
         .md_pad_i(md_i[1]),
550
         .md_pad_o(md_o[1]),
551
         .md_padoe_o(md_oe[1]),
552
         .int_o(eth_int[1])
553
         );
554
iobuftri iobuftri1
555
  (
556
   .i(md_o[1]),
557
   .oe(md_oe[1]),
558
   .o(md_i[1]),
559
   .pad(eth_md_pad_io[1])
560
   );
561
obuf obuf1
562
  (
563
   .i(mdc_o[1]),
564
   .pad(eth_mdc_pad_o[1])
565
   );
566
smii_txrx smii_txrx1
567
  (
568
   .tx(tx[1]),
569
   .rx(rx[1]),
570
   .mtx_clk(m1tx_clk),
571
   .mtxd(m1txd),
572
   .mtxen(m1txen),
573
   .mtxerr(m1txerr),
574
   .mrx_clk(m1rx_clk),
575
   .mrxd(m1rxd),
576
   .mrxdv(m1rxdv),
577
   .mrxerr(m1rxerr),
578
   .mcoll(m1coll),
579
   .mcrs(m1crs),
580
   .state(state),
581
   .clk(eth_clk),
582
   .rst(wb_rst)
583
   );
584
obufdff obufdff_sync1
585
  (
586
   .d(sync),
587
   .pad(eth_sync_pad_o[1]),
588
   .clk(eth_clk),
589
   .rst(wb_rst)
590
   );
591
obufdff obufdff_tx1
592
  (
593
   .d(tx[1]),
594
   .pad(eth_tx_pad_o[1]),
595
   .clk(eth_clk),
596
   .rst(wb_rst)
597
   );
598
ibufdff ibufdff_rx1
599
  (
600
   .pad(eth_rx_pad_i[1]),
601
   .q(rx[1]),
602
   .clk(eth_clk),
603
   .rst(wb_rst)
604
   );
605
   dummy_slave
606
     # ( .value(32'hc0000000))
607
   ds1
608
     (
609
       .dat_o(wbs_ds1_dat_o),
610
       .stb_i(wbs_ds1_stb_i),
611
       .cyc_i(wbs_ds1_cyc_i),
612
       .ack_o(wbs_ds1_ack_o),
613
       .clk(wb_clk),
614
       .rst(wb_rst)
615
       );
616
   dummy_slave
617
     # ( .value(32'hf0000000))
618
     ds2
619
     (
620
       .dat_o(wbs_ds2_dat_o),
621
       .stb_i(wbs_ds2_stb_i),
622
       .cyc_i(wbs_ds2_cyc_i),
623
       .ack_o(wbs_ds2_ack_o),
624
       .clk(wb_clk),
625
       .rst(wb_rst)
626
       );
627
   clk_gen iclk_gen
628
     (
629
      .POWERDOWN (1'b1),
630
      .CLKA (clk_pad_i),
631
      .LOCK (pll_lock),
632
      .GLA(wb_clk),
633
      .GLB(usbClk_pll),
634
      .GLC()
635
      );
636
assign rst_pad_o = pll_lock;
637
   gbuf gbufi1
638
     (
639
      .CLK(~(pll_lock & rst_pad_i)),
640
      .GL(wb_rst));
641
   gbuf gbufi2
642
     (
643
      .CLK(dbg_tck_pad_i),
644
      .GL(dbg_tck));
645
   gbuf gbufi3
646
     (
647
      .CLK(usbClk_pll),
648
      .GL(usbClk));
649
   gbuf gbufi4
650
     (
651
      .CLK(eth_clk_pad_i),
652
      .GL(eth_clk));
653
endmodule

powered by: WebSVN 2.1.0

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