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 45

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 42 julius
    or1k_top i_or1k
348 40 julius
     (
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 45 julius
`ifdef USE_SDRAM
444 40 julius
  wb_sdram_ctrl wb_sdram_ctrl0
445
  (
446
    .wb_dat_i(wbs_mc_m_dat_i),
447
    .wb_dat_o(wbs_mc_m_dat_o),
448
    .wb_sel_i(wbs_mc_m_sel_i),
449
    .wb_adr_i(wbs_mc_m_adr_i[24:2]),
450
    .wb_we_i (wbs_mc_m_we_i),
451
    .wb_cti_i(wbs_mc_m_cti_i),
452
    .wb_stb_i(wbs_mc_m_stb_i),
453
    .wb_cyc_i(wbs_mc_m_cyc_i),
454
    .wb_ack_o(wbs_mc_m_ack_o),
455
    .sdr_cke_o(mem_cke_pad_o),
456
    .sdr_cs_n_o(mem_cs_pad_o),
457
    .sdr_ras_n_o(mem_ras_pad_o),
458
    .sdr_cas_n_o(mem_cas_pad_o),
459
    .sdr_we_n_o(mem_we_pad_o),
460
    .sdr_a_o(mem_adr_pad_o),
461
    .sdr_ba_o(mem_ba_pad_o),
462
    .sdr_dq_io(mem_dat_pad_io),
463
    .sdr_dqm_o(mem_dqm_pad_o),
464
    .sdram_clk(wb_clk),
465
    .wb_clk(wb_clk),
466
    .wb_rst(wb_rst)
467
   );
468 45 julius
`else // !`ifdef USE_SDRAM
469
 
470
   parameter ram_wb_dat_width = 32;
471
   parameter ram_wb_adr_width = 24;
472
   parameter ram_wb_mem_size  = 2097152; // 8MB
473
 
474
  ram_wb
475
    #
476
    (
477
     .dat_width(ram_wb_dat_width),
478
     .adr_width(ram_wb_adr_width),
479
     .mem_size(ram_wb_mem_size)
480
     )
481
   ram_wb0
482
   (
483
    .dat_i(wbs_mc_m_dat_i),
484
    .dat_o(wbs_mc_m_dat_o),
485
    .sel_i(wbs_mc_m_sel_i),
486
    .adr_i(wbs_mc_m_adr_i[ram_wb_adr_width-1:2]),
487
    .we_i (wbs_mc_m_we_i),
488
    .cti_i(wbs_mc_m_cti_i),
489
    .stb_i(wbs_mc_m_stb_i),
490
    .cyc_i(wbs_mc_m_cyc_i),
491
    .ack_o(wbs_mc_m_ack_o),
492
    .clk_i(wb_clk),
493
    .rst_i(wb_rst)
494
   );
495
 
496
   assign mem_cke_pad_o = 1;
497
   assign mem_cs_pad_o = 1;
498
   assign mem_ras_pad_o = 1;
499
   assign mem_cas_pad_o = 1;
500
   assign mem_we_pad_o = 1;
501
   assign mem_adr_pad_o = 0;
502
   assign mem_ba_pad_o = 0;
503
   assign mem_dat_pad_io = 32'hzzzzzzzz;
504
   assign mem_dqm_pad_o = 0;
505
 
506
`endif // !`ifdef USE_SDRAM
507
 
508 40 julius
assign wbs_mc_m_err_o = 1'b0;
509 45 julius
 
510 40 julius
     uart_top
511
     #( 32, 5)
512
   i_uart_0_top
513
     (
514
      .wb_dat_o   (wbs_uart0_dat_o),
515
      .wb_dat_i   (wbs_uart0_dat_i),
516
      .wb_sel_i   (wbs_uart0_sel_i),
517
      .wb_adr_i   (wbs_uart0_adr_i[4:0]),
518
      .wb_we_i    (wbs_uart0_we_i),
519
      .wb_stb_i   (wbs_uart0_stb_i),
520
      .wb_cyc_i   (wbs_uart0_cyc_i),
521
      .wb_ack_o   (wbs_uart0_ack_o),
522
      .wb_clk_i   (wb_clk),
523
      .wb_rst_i   (wb_rst),
524
      .int_o      (uart0_irq),
525
      .srx_pad_i  (uart0_srx_pad_i),
526
      .stx_pad_o  (uart0_stx_pad_o),
527
      .cts_pad_i  (1'b0),
528
      .rts_pad_o  ( ),
529
      .dtr_pad_o  ( ),
530
      .dcd_pad_i  (1'b0),
531
      .dsr_pad_i  (1'b0),
532
      .ri_pad_i   (1'b0)
533
      );
534
   assign gpio_a_pad_io[7:0] = 8'hfe;
535
  wire       m1tx_clk;
536
wire [3:0]            m1txd;
537
wire         m1txen;
538
wire         m1txerr;
539
wire         m1rx_clk;
540
wire [3:0]            m1rxd;
541
wire         m1rxdv;
542
wire         m1rxerr;
543
wire         m1coll;
544
wire         m1crs;
545 42 julius
//wire [1:10]        state;
546
wire [10:1]          state;   // Changed for verilator -- jb
547 40 julius
wire              sync;
548
wire [1:1]    rx, tx;
549
wire [1:1]    mdc_o, md_i, md_o, md_oe;
550
smii_sync smii_sync1
551
  (
552
   .sync(sync),
553
   .state(state),
554
   .clk(eth_clk),
555
   .rst(wb_rst)
556
   );
557
eth_top eth_top1
558
        (
559
         .wb_clk_i(wb_clk),
560
         .wb_rst_i(wb_rst),
561
         .wb_dat_i(wbs_eth1_cfg_dat_i),
562
         .wb_dat_o(wbs_eth1_cfg_dat_o),
563
         .wb_adr_i(wbs_eth1_cfg_adr_i[11:2]),
564
         .wb_sel_i(wbs_eth1_cfg_sel_i),
565
         .wb_we_i(wbs_eth1_cfg_we_i),
566
         .wb_cyc_i(wbs_eth1_cfg_cyc_i),
567
         .wb_stb_i(wbs_eth1_cfg_stb_i),
568
         .wb_ack_o(wbs_eth1_cfg_ack_o),
569
         .wb_err_o(wbs_eth1_cfg_err_o),
570
         .m_wb_adr_o(wbm_eth1_adr_o),
571
         .m_wb_sel_o(wbm_eth1_sel_o),
572
         .m_wb_we_o(wbm_eth1_we_o),
573
         .m_wb_dat_o(wbm_eth1_dat_o),
574
         .m_wb_dat_i(wbm_eth1_dat_i),
575
         .m_wb_cyc_o(wbm_eth1_cyc_o),
576
         .m_wb_stb_o(wbm_eth1_stb_o),
577
         .m_wb_ack_i(wbm_eth1_ack_i),
578
         .m_wb_err_i(wbm_eth1_err_i),
579
         .m_wb_cti_o(wbm_eth1_cti_o),
580
         .m_wb_bte_o(wbm_eth1_bte_o),
581
         .mtx_clk_pad_i(m1tx_clk),
582
         .mtxd_pad_o(m1txd),
583
         .mtxen_pad_o(m1txen),
584
         .mtxerr_pad_o(m1txerr),
585
         .mrx_clk_pad_i(m1rx_clk),
586
         .mrxd_pad_i(m1rxd),
587
         .mrxdv_pad_i(m1rxdv),
588
         .mrxerr_pad_i(m1rxerr),
589
         .mcoll_pad_i(m1coll),
590
         .mcrs_pad_i(m1crs),
591
         .mdc_pad_o(mdc_o[1]),
592
         .md_pad_i(md_i[1]),
593
         .md_pad_o(md_o[1]),
594
         .md_padoe_o(md_oe[1]),
595
         .int_o(eth_int[1])
596
         );
597
iobuftri iobuftri1
598
  (
599
   .i(md_o[1]),
600
   .oe(md_oe[1]),
601
   .o(md_i[1]),
602
   .pad(eth_md_pad_io[1])
603
   );
604
obuf obuf1
605
  (
606
   .i(mdc_o[1]),
607
   .pad(eth_mdc_pad_o[1])
608
   );
609
smii_txrx smii_txrx1
610
  (
611
   .tx(tx[1]),
612
   .rx(rx[1]),
613
   .mtx_clk(m1tx_clk),
614
   .mtxd(m1txd),
615
   .mtxen(m1txen),
616
   .mtxerr(m1txerr),
617
   .mrx_clk(m1rx_clk),
618
   .mrxd(m1rxd),
619
   .mrxdv(m1rxdv),
620
   .mrxerr(m1rxerr),
621
   .mcoll(m1coll),
622
   .mcrs(m1crs),
623
   .state(state),
624
   .clk(eth_clk),
625
   .rst(wb_rst)
626
   );
627
obufdff obufdff_sync1
628
  (
629
   .d(sync),
630
   .pad(eth_sync_pad_o[1]),
631
   .clk(eth_clk),
632
   .rst(wb_rst)
633
   );
634
obufdff obufdff_tx1
635
  (
636
   .d(tx[1]),
637
   .pad(eth_tx_pad_o[1]),
638
   .clk(eth_clk),
639
   .rst(wb_rst)
640
   );
641
ibufdff ibufdff_rx1
642
  (
643
   .pad(eth_rx_pad_i[1]),
644
   .q(rx[1]),
645
   .clk(eth_clk),
646
   .rst(wb_rst)
647
   );
648
   dummy_slave
649
     # ( .value(32'hc0000000))
650
   ds1
651
     (
652
       .dat_o(wbs_ds1_dat_o),
653
       .stb_i(wbs_ds1_stb_i),
654
       .cyc_i(wbs_ds1_cyc_i),
655
       .ack_o(wbs_ds1_ack_o),
656
       .clk(wb_clk),
657
       .rst(wb_rst)
658
       );
659
   dummy_slave
660
     # ( .value(32'hf0000000))
661
     ds2
662
     (
663
       .dat_o(wbs_ds2_dat_o),
664
       .stb_i(wbs_ds2_stb_i),
665
       .cyc_i(wbs_ds2_cyc_i),
666
       .ack_o(wbs_ds2_ack_o),
667
       .clk(wb_clk),
668
       .rst(wb_rst)
669
       );
670
   clk_gen iclk_gen
671
     (
672
      .POWERDOWN (1'b1),
673
      .CLKA (clk_pad_i),
674
      .LOCK (pll_lock),
675
      .GLA(wb_clk),
676
      .GLB(usbClk_pll),
677
      .GLC()
678
      );
679
assign rst_pad_o = pll_lock;
680
   gbuf gbufi1
681
     (
682
      .CLK(~(pll_lock & rst_pad_i)),
683
      .GL(wb_rst));
684
   gbuf gbufi2
685
     (
686
      .CLK(dbg_tck_pad_i),
687
      .GL(dbg_tck));
688
   gbuf gbufi3
689
     (
690
      .CLK(usbClk_pll),
691
      .GL(usbClk));
692
   gbuf gbufi4
693
     (
694
      .CLK(eth_clk_pad_i),
695
      .GL(eth_clk));
696
endmodule

powered by: WebSVN 2.1.0

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