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

Subversion Repositories wdsp

[/] [wdsp/] [trunk/] [rtl/] [verilog/] [minsoc/] [minsoc_top_sdram.v] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 7 parrado
`include "minsoc_defines.v"
2
`include "or1200/rtl/verilog/or1200_defines.v"
3
 
4
module minsoc_top_sdram (
5
   clk,reset,
6
 
7
   //SDRAM ports
8
 
9
                dram0_a,
10
                dram0_d,
11
                dram0_ba,
12
                dram0_ldqm0,
13
                dram0_udqm1,
14
                dram0_ras_n,
15
                dram0_cas_n,
16
                dram0_cke,
17
                dram0_clk,
18
                dram0_we_n,
19
                dram0_cs_n,
20
                dram1_a,
21
                dram1_d,
22
                dram1_ba,
23
                dram1_ldqm0,
24
                dram1_udqm1,
25
                dram1_ras_n,
26
                dram1_cas_n,
27
                dram1_cke,
28
                dram1_clk,
29
                dram1_we_n,
30
                dram1_cs_n
31
 
32
 
33
 
34
   //JTAG ports
35
`ifdef GENERIC_TAP
36
   , jtag_tdi,jtag_tms,jtag_tck,
37
   jtag_tdo,jtag_vref,jtag_gnd
38
`endif
39
 
40
   //SPI ports
41
`ifdef START_UP
42
   , spi_flash_mosi, spi_flash_miso, spi_flash_sclk, spi_flash_ss
43
`endif
44
 
45
   //UART ports
46
`ifdef UART
47
   , uart_stx,uart_srx
48
`endif
49
 
50
        // Ethernet ports
51
`ifdef ETHERNET
52
        , eth_col, eth_crs, eth_trste, eth_tx_clk,
53
        eth_tx_en, eth_tx_er, eth_txd, eth_rx_clk,
54
        eth_rx_dv, eth_rx_er, eth_rxd, eth_fds_mdint,
55
        eth_mdc, eth_mdio
56
`endif
57
);
58
 
59
 
60
//SDRAM ports
61
 
62
// SDRAM interface
63
output [12:0] dram0_a;
64
inout [15:0] dram0_d;
65
output [1:0] dram0_ba;
66
output dram0_ldqm0;
67
output dram0_udqm1;
68
output dram0_ras_n;
69
output dram0_cas_n;
70
output dram0_cke;
71
output dram0_clk;
72
output dram0_we_n;
73
output dram0_cs_n;
74
output [12:0] dram1_a;
75
inout [15:0] dram1_d;
76
output [1:0] dram1_ba;
77
output dram1_ldqm0;
78
output dram1_udqm1;
79
output dram1_ras_n;
80
output dram1_cas_n;
81
output dram1_cke;
82
output dram1_clk;
83
output dram1_we_n;
84
output  dram1_cs_n;
85
 
86
 
87
 
88
//
89
// I/O Ports
90
//
91
 
92
   input         clk;
93
   input         reset;
94
 
95
//
96
// SPI controller external i/f wires
97
//
98
`ifdef START_UP
99
output spi_flash_mosi;
100
input spi_flash_miso;
101
output spi_flash_sclk;
102
output [1:0] spi_flash_ss;
103
`endif
104
 
105
//
106
// UART
107
//
108
`ifdef UART
109
   output        uart_stx;
110
   input         uart_srx;
111
`endif
112
 
113
//
114
// Ethernet
115
//
116
`ifdef ETHERNET
117
output                  eth_tx_er;
118
input                   eth_tx_clk;
119
output                  eth_tx_en;
120
output  [3:0]            eth_txd;
121
input                   eth_rx_er;
122
input                   eth_rx_clk;
123
input                   eth_rx_dv;
124
input   [3:0]            eth_rxd;
125
input                   eth_col;
126
input                   eth_crs;
127
output                  eth_trste;
128
input                   eth_fds_mdint;
129
inout                   eth_mdio;
130
output                  eth_mdc;
131
`endif
132
 
133
//
134
// JTAG
135
//
136
`ifdef GENERIC_TAP
137
   input         jtag_tdi;
138
   input         jtag_tms;
139
   input         jtag_tck;
140
   output        jtag_tdo;
141
   output        jtag_vref;
142
   output        jtag_gnd;
143
 
144
 
145
assign jtag_vref = 1'b1;
146
assign jtag_gnd = 1'b0;
147
`endif
148
 
149
wire rstn;
150
 
151
`ifdef POSITIVE_RESET
152
assign rstn = ~reset;
153
`elsif NEGATIVE_RESET
154
assign rstn = reset;
155
`endif
156
 
157
//
158
// Internal wires
159
//
160
 
161
//
162
// Debug core master i/f wires
163
//
164
wire    [31:0]           wb_dm_adr_o;
165
wire    [31:0]           wb_dm_dat_i;
166
wire    [31:0]           wb_dm_dat_o;
167
wire    [3:0]            wb_dm_sel_o;
168
wire                    wb_dm_we_o;
169
wire                    wb_dm_stb_o;
170
wire                    wb_dm_cyc_o;
171
wire                    wb_dm_ack_i;
172
wire                    wb_dm_err_i;
173
 
174
 
175
        //**************************************************
176
        // Wires from MC2 to SDRAM Interface
177
        // **************************************************
178
        wire wire_mc2_br_pad_i;
179
        wire wire_mc2_bg_pad_o;
180
        wire wire_mc2_ack_pad_i;
181
        wire [23:0] wire_mc2_addr_pad_o;
182
        wire [31:0] wire_mc2_data_pad_i;
183
        wire [31:0] wire_mc2_data_pad_o;
184
        wire [3:0] wire_mc2_dp_pad_i;
185
        wire [3:0] wire_mc2_dp_pad_o;
186
        wire wire_mc2_doe_pad_doe_o;
187
        wire [3:0] wire_mc2_dqm_pad_o;
188
        wire wire_mc2_oe_pad_o;
189
        wire wire_mc2_we_pad_o;
190
        wire wire_mc2_cas_pad_o;
191
        wire wire_mc2_ras_pad_o;
192
        wire wire_mc2_cke_pad_o;
193
        wire [7:0] wire_mc2_cs_pad_o;
194
        wire wire_mc2_sts_pad_i;
195
        wire wire_mc2_rp_pad_o;
196
        wire wire_mc2_vpen_pad_o;
197
        wire wire_mc2_adsc_pad_o;
198
        wire wire_mc2_adv_pad_o;
199
        wire wire_mc2_zz_pad_o;
200
        wire wire_mc2_coe_pad_coe_o;
201
 
202
        //Wires from arbiter s2 to MC2
203
 
204
        wire wire_mc2_ack_o;
205
wire wire_mc2_cyc_i;
206
wire wire_mc2_stb_i;
207
wire [31:0] wire_mc2_data_i;
208
wire [31:0] wire_mc2_data_o;
209
wire [31:0] wire_mc2_addr_i;
210
wire [3:0]  wire_mc2_sel_i;
211
wire wire_mc2_we_i;
212
wire wire_mc2_err_o;
213
 
214
 
215
 
216
//
217
// Debug <-> RISC wires
218
//
219
wire    [3:0]            dbg_lss;
220
wire    [1:0]            dbg_is;
221
wire    [10:0]           dbg_wp;
222
wire                    dbg_bp;
223
wire    [31:0]           dbg_dat_dbg;
224
wire    [31:0]           dbg_dat_risc;
225
wire    [31:0]           dbg_adr;
226
wire                    dbg_ewt;
227
wire                    dbg_stall;
228
wire            dbg_we;
229
wire            dbg_stb;
230
wire            dbg_ack;
231
 
232
//
233
// RISC instruction master i/f wires
234
//
235
wire    [31:0]           wb_rim_adr_o;
236
wire                    wb_rim_cyc_o;
237
wire    [31:0]           wb_rim_dat_i;
238
wire    [31:0]           wb_rim_dat_o;
239
wire    [3:0]            wb_rim_sel_o;
240
wire                    wb_rim_ack_i;
241
wire                    wb_rim_err_i;
242
wire                    wb_rim_rty_i = 1'b0;
243
wire                    wb_rim_we_o;
244
wire                    wb_rim_stb_o;
245
wire    [31:0]           wb_rif_dat_i;
246
wire                    wb_rif_ack_i;
247
 
248
//
249
// RISC data master i/f wires
250
//
251
wire    [31:0]           wb_rdm_adr_o;
252
wire                    wb_rdm_cyc_o;
253
wire    [31:0]           wb_rdm_dat_i;
254
wire    [31:0]           wb_rdm_dat_o;
255
wire    [3:0]            wb_rdm_sel_o;
256
wire                    wb_rdm_ack_i;
257
wire                    wb_rdm_err_i;
258
wire                    wb_rdm_rty_i = 1'b0;
259
wire                    wb_rdm_we_o;
260
wire                    wb_rdm_stb_o;
261
 
262
//
263
// RISC misc
264
//
265
wire    [`OR1200_PIC_INTS-1:0]           pic_ints;
266
 
267
//
268
// Flash controller slave i/f wires
269
//
270
wire    [31:0]           wb_fs_dat_i;
271
wire    [31:0]           wb_fs_dat_o;
272
wire    [31:0]           wb_fs_adr_i;
273
wire    [3:0]            wb_fs_sel_i;
274
wire                    wb_fs_we_i;
275
wire                    wb_fs_cyc_i;
276
wire                    wb_fs_stb_i;
277
wire                    wb_fs_ack_o;
278
wire                    wb_fs_err_o;
279
 
280
//
281
// SPI controller slave i/f wires
282
//
283
wire    [31:0]           wb_sp_dat_i;
284
wire    [31:0]           wb_sp_dat_o;
285
wire    [31:0]           wb_sp_adr_i;
286
wire    [3:0]            wb_sp_sel_i;
287
wire                    wb_sp_we_i;
288
wire                    wb_sp_cyc_i;
289
wire                    wb_sp_stb_i;
290
wire                    wb_sp_ack_o;
291
wire                    wb_sp_err_o;
292
 
293
//
294
// SPI controller external i/f wires
295
//
296
wire spi_flash_mosi;
297
wire spi_flash_miso;
298
wire spi_flash_sclk;
299
wire [1:0] spi_flash_ss;
300
 
301
 
302
//
303
// Ethernet core master i/f wires
304
//
305
wire    [31:0]           wb_em_adr_o;
306
wire    [31:0]           wb_em_dat_i;
307
wire    [31:0]           wb_em_dat_o;
308
wire    [3:0]            wb_em_sel_o;
309
wire                    wb_em_we_o;
310
wire                    wb_em_stb_o;
311
wire                    wb_em_cyc_o;
312
wire                    wb_em_ack_i;
313
wire                    wb_em_err_i;
314
 
315
//
316
// Ethernet core slave i/f wires
317
//
318
wire    [31:0]           wb_es_dat_i;
319
wire    [31:0]           wb_es_dat_o;
320
wire    [31:0]           wb_es_adr_i;
321
wire    [3:0]            wb_es_sel_i;
322
wire                    wb_es_we_i;
323
wire                    wb_es_cyc_i;
324
wire                    wb_es_stb_i;
325
wire                    wb_es_ack_o;
326
wire                    wb_es_err_o;
327
 
328
//
329
// Ethernet external i/f wires
330
//
331
wire                    eth_mdo;
332
wire                    eth_mdoe;
333
 
334
//
335
// UART16550 core slave i/f wires
336
//
337
wire    [31:0]           wb_us_dat_i;
338
wire    [31:0]           wb_us_dat_o;
339
wire    [31:0]           wb_us_adr_i;
340
wire    [3:0]            wb_us_sel_i;
341
wire                    wb_us_we_i;
342
wire                    wb_us_cyc_i;
343
wire                    wb_us_stb_i;
344
wire                    wb_us_ack_o;
345
wire                    wb_us_err_o;
346
 
347
 
348
//JSP core slave i/f wires
349
 
350
wire    [31:0]           wb_jsp_dat_i;
351
wire    [31:0]           wb_jsp_dat_o;
352
wire    [31:0]           wb_jsp_adr_i;
353
wire    [3:0]            wb_jsp_sel_i;
354
wire                    wb_jsp_we_i;
355
wire                    wb_jsp_cyc_i;
356
wire                    wb_jsp_stb_i;
357
wire                    wb_jsp_ack_o;
358
wire                    wb_jsp_err_o;
359
 
360
 
361
//
362
// UART external i/f wires
363
//
364
wire                    uart_stx;
365
wire                    uart_srx;
366
 
367
//
368
// Reset debounce
369
//
370
reg                     rst_r;
371
reg                     wb_rst;
372
 
373
//
374
// Global clock
375
//
376
wire                    wb_clk;
377
wire                    sdram_clk;
378
 
379
//
380
// Reset debounce
381
//
382
always @(posedge wb_clk or negedge rstn)
383
        if (~rstn)
384
                rst_r <= 1'b1;
385
        else
386
                rst_r <= #1 1'b0;
387
 
388
//
389
// Reset debounce
390
//
391
always @(posedge wb_clk)
392
        wb_rst <= #1 rst_r;
393
 
394
//
395
// Clock Divider
396
//
397
 
398
 
399
pll1 thepll
400
 (
401
.inclk0(clk),
402
.c0(wb_clk),
403
.c1(sdram_clk)
404
);
405
 
406
 
407
// Unused WISHBONE signals
408
//
409
assign wb_us_err_o = 1'b0;
410
assign wb_fs_err_o = 1'b0;
411
assign wb_sp_err_o = 1'b0;
412
assign wb_jsp_err_o = 1'b0;
413
 
414
//
415
// Unused interrupts
416
//
417
 
418
assign pic_ints[`APP_INT_RES2] = 'b0;
419
assign pic_ints[`APP_INT_RES3] = 'b0;
420
assign pic_ints[`APP_INT_PS2] = 'b0;
421
 
422
//
423
// Ethernet tri-state
424
//
425
`ifdef ETHERNET
426
assign eth_mdio = eth_mdoe ? eth_mdo : 1'bz;
427
assign eth_trste = `ETH_RESET;
428
`endif
429
 
430
 
431
//
432
// RISC Instruction address for Flash
433
//
434
// Until first access to real Flash area,
435
// CPU instruction is fixed to jump to the Flash area.
436
// After Flash area is accessed, CPU instructions 
437
// come from the tc_top (wishbone "switch").
438
//
439
`ifdef START_UP
440
reg jump_flash;
441
reg [3:0] rif_counter;
442
reg [31:0] rif_dat_int;
443
reg rif_ack_int;
444
 
445
always @(posedge wb_clk or negedge rstn)
446
begin
447
        if (!rstn) begin
448
                jump_flash <= #1 1'b1;
449
                rif_counter <= 4'h0;
450
                rif_ack_int <= 1'b0;
451
        end
452
        else begin
453
                rif_ack_int <= 1'b0;
454
 
455
                if (wb_rim_cyc_o && (wb_rim_adr_o[31:32-`APP_ADDR_DEC_W] == `APP_ADDR_FLASH))
456
                        jump_flash <= #1 1'b0;
457
 
458
                if ( jump_flash == 1'b1 ) begin
459
                        if ( wb_rim_cyc_o && wb_rim_stb_o && ~wb_rim_we_o )
460
                                rif_ack_int <= 1'b1;
461
 
462
            if ( rif_ack_int == 1'b1 ) begin
463
                                rif_counter <= rif_counter + 1'b1;
464
                                rif_ack_int <= 1'b0;
465
            end
466
                end
467
        end
468
end
469
 
470
always @ (rif_counter)
471
begin
472
        case ( rif_counter )
473
                4'h0: rif_dat_int = { `OR1200_OR32_MOVHI , 5'h01 , 4'h0 , 1'b0 , `APP_ADDR_FLASH , 8'h00 };
474
                4'h1: rif_dat_int = { `OR1200_OR32_ORI , 5'h01 , 5'h01 , 16'h0000 };
475
                4'h2: rif_dat_int = { `OR1200_OR32_JR , 10'h000 , 5'h01 , 11'h000 };
476
                4'h3: rif_dat_int = { `OR1200_OR32_NOP , 10'h000 , 16'h0000 };
477
                default: rif_dat_int = 32'h0000_0000;
478
        endcase
479
end
480
 
481
assign wb_rif_dat_i = jump_flash ? rif_dat_int : wb_rim_dat_i;
482
 
483
assign wb_rif_ack_i = jump_flash ? rif_ack_int : wb_rim_ack_i;
484
 
485
`else
486
assign wb_rif_dat_i = wb_rim_dat_i;
487
assign wb_rif_ack_i = wb_rim_ack_i;
488
`endif
489
 
490
 
491
//
492
// TAP<->dbg_interface
493
//      
494
wire jtag_tck;
495
wire debug_tdi;
496
wire debug_tdo;
497
wire capture_dr;
498
wire shift_dr;
499
wire pause_dr;
500
wire update_dr;
501
 
502
wire debug_select;
503
wire test_logic_reset;
504
 
505
//
506
// Instantiation of the development i/f
507
//
508
adbg_top dbg_top  (
509
 
510
        // JTAG pins
511
      .tck_i    ( jtag_tck ),
512
      .tdi_i    ( debug_tdi ),
513
      .tdo_o    ( debug_tdo ),
514
      .rst_i    ( test_logic_reset ),           //cable without rst
515
 
516
        // Boundary Scan signals
517
      .capture_dr_i ( capture_dr ),
518
      .shift_dr_i  ( shift_dr ),
519
      .pause_dr_i  ( pause_dr ),
520
      .update_dr_i ( update_dr ),
521
 
522
      .debug_select_i( debug_select ),
523
        // WISHBONE common
524
      .wb_clk_i   ( wb_clk ),
525
      .wb_rst_i   (wb_rst)      ,
526
 
527
      // WISHBONE master interface
528
      .wb_adr_o  ( wb_dm_adr_o ),
529
      .wb_dat_i  ( wb_dm_dat_i ),
530
      .wb_dat_o  ( wb_dm_dat_o ),
531
      .wb_sel_o  ( wb_dm_sel_o ),
532
      .wb_we_o   ( wb_dm_we_o  ),
533
      .wb_stb_o  ( wb_dm_stb_o ),
534
      .wb_cyc_o  ( wb_dm_cyc_o ),
535
      .wb_ack_i  ( wb_dm_ack_i ),
536
      .wb_err_i  ( wb_dm_err_i ),
537
      .wb_cti_o  ( ),
538
      .wb_bte_o  ( ),
539
 
540
      //JSP Signals
541
      // WISHBONE slave
542
 
543
       // WISHBONE target interface                
544
 
545
        .wb_jsp_adr_i   ( wb_jsp_adr_i[4:0] ),
546
        .wb_jsp_dat_i   ( wb_jsp_dat_i ),
547
        .wb_jsp_dat_o   ( wb_jsp_dat_o ),
548
        .wb_jsp_we_i    ( wb_jsp_we_i  ),
549
        .wb_jsp_stb_i   ( wb_jsp_stb_i ),
550
        .wb_jsp_cyc_i   ( wb_jsp_cyc_i ),
551
        .wb_jsp_ack_o   ( wb_jsp_ack_o ),
552
        .wb_jsp_sel_i   ( wb_jsp_sel_i ),
553
 
554
        // Interrupt request
555
        .int_o          ( pic_ints[`APP_INT_JSP] ),
556
 
557
      // RISC signals
558
      .cpu0_clk_i  ( wb_clk ),
559
      .cpu0_addr_o ( dbg_adr ),
560
      .cpu0_data_i ( dbg_dat_risc ),
561
      .cpu0_data_o ( dbg_dat_dbg ),
562
      .cpu0_bp_i   ( dbg_bp ),
563
      .cpu0_stall_o( dbg_stall ),
564
      .cpu0_stb_o  ( dbg_stb ),
565
      .cpu0_we_o   ( dbg_we ),
566
      .cpu0_ack_i  ( dbg_ack ),
567
      .cpu0_rst_o  ( )
568
 
569
);
570
 
571
//
572
// JTAG TAP controller instantiation
573
//
574
`ifdef GENERIC_TAP
575
tap_top tap_top(
576
         // JTAG pads
577
         .tms_pad_i(jtag_tms),
578
         .tck_pad_i(jtag_tck),
579
         .trstn_pad_i(rstn),
580
         .tdi_pad_i(jtag_tdi),
581
         .tdo_pad_o(jtag_tdo),
582
         .tdo_padoe_o( ),
583
 
584
         // TAP states
585
         .test_logic_reset_o( test_logic_reset ),
586
         .run_test_idle_o(),
587
         .shift_dr_o(shift_dr),
588
         .pause_dr_o(pause_dr),
589
         .update_dr_o(update_dr),
590
         .capture_dr_o(capture_dr),
591
 
592
         // Select signals for boundary scan or mbist
593
         .extest_select_o(),
594
         .sample_preload_select_o(),
595
         .mbist_select_o(),
596
         .debug_select_o(debug_select),
597
 
598
         // TDO signal that is connected to TDI of sub-modules.
599
         .tdi_o(debug_tdi),
600
 
601
         // TDI signals from sub-modules
602
         .debug_tdo_i(debug_tdo),    // from debug module
603
         .bs_chain_tdo_i(1'b0), // from Boundary Scan Chain
604
         .mbist_tdo_i(1'b0)     // from Mbist Chain
605
);
606
`elsif FPGA_TAP
607
`ifdef ALTERA_FPGA
608
altera_virtual_jtag tap_top(
609
        .tck_o(jtag_tck),
610
        .debug_tdo_i(debug_tdo),
611
        .tdi_o(debug_tdi),
612
        .test_logic_reset_o(test_logic_reset),
613
        .run_test_idle_o(),
614
        .shift_dr_o(shift_dr),
615
        .capture_dr_o(capture_dr),
616
        .pause_dr_o(pause_dr),
617
        .update_dr_o(update_dr),
618
        .debug_select_o(debug_select)
619
);
620
`elsif XILINX_FPGA
621
minsoc_xilinx_internal_jtag tap_top(
622
        .tck_o( jtag_tck ),
623
        .debug_tdo_i( debug_tdo ),
624
        .tdi_o( debug_tdi ),
625
 
626
        .test_logic_reset_o( test_logic_reset ),
627
        .run_test_idle_o( ),
628
 
629
        .shift_dr_o( shift_dr ),
630
        .capture_dr_o( capture_dr ),
631
        .pause_dr_o( pause_dr ),
632
        .update_dr_o( update_dr ),
633
        .debug_select_o( debug_select )
634
);
635
`endif // !FPGA_TAP
636
 
637
`endif // !GENERIC_TAP
638
 
639
//
640
// Instantiation of the OR1200 RISC
641
//
642
or1200_top or1200_top (
643
 
644
        // Common
645
        .rst_i          ( wb_rst ),
646
        .clk_i          ( wb_clk ),
647
`ifdef OR1200_CLMODE_1TO2
648
        .clmode_i       ( 2'b01 ),
649
`else
650
`ifdef OR1200_CLMODE_1TO4
651
        .clmode_i       ( 2'b11 ),
652
`else
653
        .clmode_i       ( 2'b00 ),
654
`endif
655
`endif
656
 
657
        // WISHBONE Instruction Master
658
        .iwb_clk_i      ( wb_clk ),
659
        .iwb_rst_i      ( wb_rst ),
660
        .iwb_cyc_o      ( wb_rim_cyc_o ),
661
        .iwb_adr_o      ( wb_rim_adr_o ),
662
        .iwb_dat_i      ( wb_rif_dat_i ),
663
        .iwb_dat_o      ( wb_rim_dat_o ),
664
        .iwb_sel_o      ( wb_rim_sel_o ),
665
        .iwb_ack_i      ( wb_rif_ack_i ),
666
        .iwb_err_i      ( wb_rim_err_i ),
667
        .iwb_rty_i      ( wb_rim_rty_i ),
668
        .iwb_we_o       ( wb_rim_we_o  ),
669
        .iwb_stb_o      ( wb_rim_stb_o ),
670
 
671
        // WISHBONE Data Master
672
        .dwb_clk_i      ( wb_clk ),
673
        .dwb_rst_i      ( wb_rst ),
674
        .dwb_cyc_o      ( wb_rdm_cyc_o ),
675
        .dwb_adr_o      ( wb_rdm_adr_o ),
676
        .dwb_dat_i      ( wb_rdm_dat_i ),
677
        .dwb_dat_o      ( wb_rdm_dat_o ),
678
        .dwb_sel_o      ( wb_rdm_sel_o ),
679
        .dwb_ack_i      ( wb_rdm_ack_i ),
680
        .dwb_err_i      ( wb_rdm_err_i ),
681
        .dwb_rty_i      ( wb_rdm_rty_i ),
682
        .dwb_we_o       ( wb_rdm_we_o  ),
683
        .dwb_stb_o      ( wb_rdm_stb_o ),
684
 
685
        // Debug
686
        .dbg_stall_i    ( dbg_stall ),
687
        .dbg_dat_i      ( dbg_dat_dbg ),
688
        .dbg_adr_i      ( dbg_adr ),
689
        .dbg_ewt_i      ( 1'b0 ),
690
        .dbg_lss_o      ( dbg_lss ),
691
        .dbg_is_o       ( dbg_is ),
692
        .dbg_wp_o       ( dbg_wp ),
693
        .dbg_bp_o       ( dbg_bp ),
694
        .dbg_dat_o      ( dbg_dat_risc ),
695
        .dbg_ack_o      ( dbg_ack ),
696
        .dbg_stb_i      ( dbg_stb ),
697
        .dbg_we_i       ( dbg_we ),
698
 
699
        // Power Management
700
        .pm_clksd_o     ( ),
701
        .pm_cpustall_i  ( 1'b0 ),
702
        .pm_dc_gate_o   ( ),
703
        .pm_ic_gate_o   ( ),
704
        .pm_dmmu_gate_o ( ),
705
        .pm_immu_gate_o ( ),
706
        .pm_tt_gate_o   ( ),
707
        .pm_cpu_gate_o  ( ),
708
        .pm_wakeup_o    ( ),
709
        .pm_lvolt_o     ( ),
710
 
711
        // Interrupts
712
        .pic_ints_i     ( pic_ints )
713
);
714
 
715
//
716
// Startup OR1k
717
//
718
`ifdef START_UP
719
OR1K_startup OR1K_startup0
720
(
721
    .wb_adr_i(wb_fs_adr_i[6:2]),
722
    .wb_stb_i(wb_fs_stb_i),
723
    .wb_cyc_i(wb_fs_cyc_i),
724
    .wb_dat_o(wb_fs_dat_o),
725
    .wb_ack_o(wb_fs_ack_o),
726
    .wb_clk(wb_clk),
727
    .wb_rst(wb_rst)
728
);
729
 
730
spi_flash_top #
731
(
732
   .divider(0),
733
   .divider_len(2)
734
)
735
spi_flash_top0
736
(
737
   .wb_clk_i(wb_clk),
738
   .wb_rst_i(wb_rst),
739
   .wb_adr_i(wb_sp_adr_i[4:2]),
740
   .wb_dat_i(wb_sp_dat_i),
741
   .wb_dat_o(wb_sp_dat_o),
742
   .wb_sel_i(wb_sp_sel_i),
743
   .wb_we_i(wb_sp_we_i),
744
   .wb_stb_i(wb_sp_stb_i),
745
   .wb_cyc_i(wb_sp_cyc_i),
746
   .wb_ack_o(wb_sp_ack_o),
747
 
748
   .mosi_pad_o(spi_flash_mosi),
749
   .miso_pad_i(spi_flash_miso),
750
   .sclk_pad_o(spi_flash_sclk),
751
   .ss_pad_o(spi_flash_ss)
752
);
753
`else
754
assign wb_fs_dat_o = 32'h0000_0000;
755
assign wb_fs_ack_o = 1'b0;
756
assign wb_sp_dat_o = 32'h0000_0000;
757
assign wb_sp_ack_o = 1'b0;
758
`endif
759
 
760
 
761
//
762
// Instantiation of the UART16550
763
//
764
`ifdef UART
765
uart_top uart_top (
766
 
767
        // WISHBONE common
768
        .wb_clk_i       ( wb_clk ),
769
        .wb_rst_i       ( wb_rst ),
770
 
771
        // WISHBONE slave
772
        .wb_adr_i       ( wb_us_adr_i[4:0] ),
773
        .wb_dat_i       ( wb_us_dat_i ),
774
        .wb_dat_o       ( wb_us_dat_o ),
775
        .wb_we_i        ( wb_us_we_i  ),
776
        .wb_stb_i       ( wb_us_stb_i ),
777
        .wb_cyc_i       ( wb_us_cyc_i ),
778
        .wb_ack_o       ( wb_us_ack_o ),
779
        .wb_sel_i       ( wb_us_sel_i ),
780
 
781
        // Interrupt request
782
        .int_o          ( pic_ints[`APP_INT_UART] ),
783
 
784
        // UART signals
785
        // serial input/output
786
        .stx_pad_o      ( uart_stx ),
787
        .srx_pad_i      ( uart_srx ),
788
 
789
        // modem signals
790
        .rts_pad_o      ( ),
791
        .cts_pad_i      ( 1'b0 ),
792
        .dtr_pad_o      ( ),
793
        .dsr_pad_i      ( 1'b0 ),
794
        .ri_pad_i       ( 1'b0 ),
795
        .dcd_pad_i      ( 1'b0 )
796
);
797
`else
798
assign wb_us_dat_o = 32'h0000_0000;
799
assign wb_us_ack_o = 1'b0;
800
 
801
assign pic_ints[`APP_INT_UART] = 1'b0;
802
`endif
803
 
804
//
805
// Instantiation of the Ethernet 10/100 MAC
806
//
807
`ifdef ETHERNET
808
eth_top eth_top (
809
 
810
        // WISHBONE common
811
        .wb_clk_i       ( wb_clk ),
812
        .wb_rst_i       ( wb_rst ),
813
 
814
        // WISHBONE slave
815
        .wb_dat_i       ( wb_es_dat_i ),
816
        .wb_dat_o       ( wb_es_dat_o ),
817
        .wb_adr_i       ( wb_es_adr_i[11:2] ),
818
        .wb_sel_i       ( wb_es_sel_i ),
819
        .wb_we_i        ( wb_es_we_i  ),
820
        .wb_cyc_i       ( wb_es_cyc_i ),
821
        .wb_stb_i       ( wb_es_stb_i ),
822
        .wb_ack_o       ( wb_es_ack_o ),
823
        .wb_err_o       ( wb_es_err_o ),
824
 
825
        // WISHBONE master
826
        .m_wb_adr_o     ( wb_em_adr_o ),
827
        .m_wb_sel_o     ( wb_em_sel_o ),
828
        .m_wb_we_o      ( wb_em_we_o  ),
829
        .m_wb_dat_o     ( wb_em_dat_o ),
830
        .m_wb_dat_i     ( wb_em_dat_i ),
831
        .m_wb_cyc_o     ( wb_em_cyc_o ),
832
        .m_wb_stb_o     ( wb_em_stb_o ),
833
        .m_wb_ack_i     ( wb_em_ack_i ),
834
        .m_wb_err_i     ( wb_em_err_i ),
835
 
836
        // TX
837
        .mtx_clk_pad_i  ( eth_tx_clk ),
838
        .mtxd_pad_o     ( eth_txd ),
839
        .mtxen_pad_o    ( eth_tx_en ),
840
        .mtxerr_pad_o   ( eth_tx_er ),
841
 
842
        // RX
843
        .mrx_clk_pad_i  ( eth_rx_clk ),
844
        .mrxd_pad_i     ( eth_rxd ),
845
        .mrxdv_pad_i    ( eth_rx_dv ),
846
        .mrxerr_pad_i   ( eth_rx_er ),
847
        .mcoll_pad_i    ( eth_col ),
848
        .mcrs_pad_i     ( eth_crs ),
849
 
850
        // MIIM
851
        .mdc_pad_o      ( eth_mdc ),
852
        .md_pad_i       ( eth_mdio ),
853
        .md_pad_o       ( eth_mdo ),
854
        .md_padoe_o     ( eth_mdoe ),
855
 
856
        // Interrupt
857
        .int_o          ( pic_ints[`APP_INT_ETH] )
858
);
859
`else
860
assign wb_es_dat_o = 32'h0000_0000;
861
assign wb_es_ack_o = 1'b0;
862
assign wb_es_err_o = 1'b0;
863
 
864
assign wb_em_adr_o = 32'h0000_0000;
865
assign wb_em_sel_o = 4'h0;
866
assign wb_em_we_o = 1'b0;
867
assign wb_em_dat_o = 32'h0000_0000;
868
assign wb_em_cyc_o = 1'b0;
869
assign wb_em_stb_o = 1'b0;
870
 
871
assign pic_ints[`APP_INT_ETH] = 1'b0;
872
`endif
873
 
874
//
875
// Instantiation of the Traffic COP
876
//
877
minsoc_tc_top #(`APP_ADDR_DEC_W,
878
         `APP_ADDR_SDRAM,
879
         `APP_ADDR_DEC_W,
880
         `APP_ADDR_FLASH,
881
         `APP_ADDR_DECP_W,
882
         `APP_ADDR_PERIP,
883
         `APP_ADDR_DEC_W,
884
         `APP_ADDR_SPI,
885
         `APP_ADDR_ETH,
886
         `APP_ADDR_AUDIO,
887
         `APP_ADDR_UART,
888
         `APP_ADDR_PS2,
889
         `APP_ADDR_JSP,
890
         `APP_ADDR_RES2
891
        ) tc_top (
892
 
893
        // WISHBONE common
894
        .wb_clk_i       ( wb_clk ),
895
        .wb_rst_i       ( wb_rst ),
896
 
897
        // WISHBONE Initiator 0
898
        .i0_wb_cyc_i    ( 1'b0 ),
899
        .i0_wb_stb_i    ( 1'b0 ),
900
        .i0_wb_adr_i    ( 32'h0000_0000 ),
901
        .i0_wb_sel_i    ( 4'b0000 ),
902
        .i0_wb_we_i     ( 1'b0 ),
903
        .i0_wb_dat_i    ( 32'h0000_0000 ),
904
        .i0_wb_dat_o    ( ),
905
        .i0_wb_ack_o    ( ),
906
        .i0_wb_err_o    ( ),
907
 
908
        // WISHBONE Initiator 1
909
        .i1_wb_cyc_i    ( wb_em_cyc_o ),
910
        .i1_wb_stb_i    ( wb_em_stb_o ),
911
        .i1_wb_adr_i    ( wb_em_adr_o ),
912
        .i1_wb_sel_i    ( wb_em_sel_o ),
913
        .i1_wb_we_i     ( wb_em_we_o  ),
914
        .i1_wb_dat_i    ( wb_em_dat_o ),
915
        .i1_wb_dat_o    ( wb_em_dat_i ),
916
        .i1_wb_ack_o    ( wb_em_ack_i ),
917
        .i1_wb_err_o    ( wb_em_err_i ),
918
 
919
        // WISHBONE Initiator 2
920
        .i2_wb_cyc_i    ( 1'b0 ),
921
        .i2_wb_stb_i    ( 1'b0 ),
922
        .i2_wb_adr_i    ( 32'h0000_0000 ),
923
        .i2_wb_sel_i    ( 4'b0000 ),
924
        .i2_wb_we_i     ( 1'b0 ),
925
        .i2_wb_dat_i    ( 32'h0000_0000 ),
926
        .i2_wb_dat_o    ( ),
927
        .i2_wb_ack_o    ( ),
928
        .i2_wb_err_o    ( ),
929
 
930
        // WISHBONE Initiator 3
931
        .i3_wb_cyc_i    ( wb_dm_cyc_o ),
932
        .i3_wb_stb_i    ( wb_dm_stb_o ),
933
        .i3_wb_adr_i    ( wb_dm_adr_o ),
934
        .i3_wb_sel_i    ( wb_dm_sel_o ),
935
        .i3_wb_we_i     ( wb_dm_we_o  ),
936
        .i3_wb_dat_i    ( wb_dm_dat_o ),
937
        .i3_wb_dat_o    ( wb_dm_dat_i ),
938
        .i3_wb_ack_o    ( wb_dm_ack_i ),
939
        .i3_wb_err_o    ( wb_dm_err_i ),
940
 
941
        // WISHBONE Initiator 4
942
        .i4_wb_cyc_i    ( wb_rdm_cyc_o ),
943
        .i4_wb_stb_i    ( wb_rdm_stb_o ),
944
        .i4_wb_adr_i    ( wb_rdm_adr_o ),
945
        .i4_wb_sel_i    ( wb_rdm_sel_o ),
946
        .i4_wb_we_i     ( wb_rdm_we_o  ),
947
        .i4_wb_dat_i    ( wb_rdm_dat_o ),
948
        .i4_wb_dat_o    ( wb_rdm_dat_i ),
949
        .i4_wb_ack_o    ( wb_rdm_ack_i ),
950
        .i4_wb_err_o    ( wb_rdm_err_i ),
951
 
952
        // WISHBONE Initiator 5
953
        .i5_wb_cyc_i    ( wb_rim_cyc_o ),
954
        .i5_wb_stb_i    ( wb_rim_stb_o ),
955
        .i5_wb_adr_i    ( wb_rim_adr_o ),
956
        .i5_wb_sel_i    ( wb_rim_sel_o ),
957
        .i5_wb_we_i     ( wb_rim_we_o  ),
958
        .i5_wb_dat_i    ( wb_rim_dat_o ),
959
        .i5_wb_dat_o    ( wb_rim_dat_i ),
960
        .i5_wb_ack_o    ( wb_rim_ack_i ),
961
        .i5_wb_err_o    ( wb_rim_err_i ),
962
 
963
        // WISHBONE Initiator 6
964
        .i6_wb_cyc_i    ( 1'b0 ),
965
        .i6_wb_stb_i    ( 1'b0 ),
966
        .i6_wb_adr_i    ( 32'h0000_0000 ),
967
        .i6_wb_sel_i    ( 4'b0000 ),
968
        .i6_wb_we_i     ( 1'b0 ),
969
        .i6_wb_dat_i    ( 32'h0000_0000 ),
970
        .i6_wb_dat_o    ( ),
971
        .i6_wb_ack_o    ( ),
972
        .i6_wb_err_o    ( ),
973
 
974
        // WISHBONE Initiator 7
975
        .i7_wb_cyc_i    ( 1'b0 ),
976
        .i7_wb_stb_i    ( 1'b0 ),
977
        .i7_wb_adr_i    ( 32'h0000_0000 ),
978
        .i7_wb_sel_i    ( 4'b0000 ),
979
        .i7_wb_we_i     ( 1'b0 ),
980
        .i7_wb_dat_i    ( 32'h0000_0000 ),
981
        .i7_wb_dat_o    ( ),
982
        .i7_wb_ack_o    ( ),
983
        .i7_wb_err_o    ( ),
984
 
985
        // WISHBONE Target 0
986
        .t0_wb_cyc_o    ( wire_mc2_cyc_i),
987
        .t0_wb_stb_o    ( wire_mc2_stb_i),
988
        .t0_wb_adr_o    ( wire_mc2_addr_i),
989
        .t0_wb_sel_o    ( wire_mc2_sel_i),
990
        .t0_wb_we_o          (wire_mc2_we_i),
991
        .t0_wb_dat_o    ( wire_mc2_data_i),
992
        .t0_wb_dat_i    ( wire_mc2_data_o),
993
        .t0_wb_ack_i    ( wire_mc2_ack_o ),
994
        .t0_wb_err_i    (  wire_mc2_err_o),
995
 
996
        // WISHBONE Target 1
997
        .t1_wb_cyc_o    ( wb_fs_cyc_i ),
998
        .t1_wb_stb_o    ( wb_fs_stb_i ),
999
        .t1_wb_adr_o    ( wb_fs_adr_i ),
1000
        .t1_wb_sel_o    ( wb_fs_sel_i ),
1001
        .t1_wb_we_o     ( wb_fs_we_i  ),
1002
        .t1_wb_dat_o    ( wb_fs_dat_i ),
1003
        .t1_wb_dat_i    ( wb_fs_dat_o ),
1004
        .t1_wb_ack_i    ( wb_fs_ack_o ),
1005
        .t1_wb_err_i    ( wb_fs_err_o ),
1006
 
1007
        // WISHBONE Target 2
1008
        .t2_wb_cyc_o    ( wb_sp_cyc_i ),
1009
        .t2_wb_stb_o    ( wb_sp_stb_i ),
1010
        .t2_wb_adr_o    ( wb_sp_adr_i ),
1011
        .t2_wb_sel_o    ( wb_sp_sel_i ),
1012
        .t2_wb_we_o     ( wb_sp_we_i  ),
1013
        .t2_wb_dat_o    ( wb_sp_dat_i ),
1014
        .t2_wb_dat_i    ( wb_sp_dat_o ),
1015
        .t2_wb_ack_i    ( wb_sp_ack_o ),
1016
        .t2_wb_err_i    ( wb_sp_err_o ),
1017
 
1018
        // WISHBONE Target 3
1019
        .t3_wb_cyc_o    ( wb_es_cyc_i ),
1020
        .t3_wb_stb_o    ( wb_es_stb_i ),
1021
        .t3_wb_adr_o    ( wb_es_adr_i ),
1022
        .t3_wb_sel_o    ( wb_es_sel_i ),
1023
        .t3_wb_we_o     ( wb_es_we_i  ),
1024
        .t3_wb_dat_o    ( wb_es_dat_i ),
1025
        .t3_wb_dat_i    ( wb_es_dat_o ),
1026
        .t3_wb_ack_i    ( wb_es_ack_o ),
1027
        .t3_wb_err_i    ( wb_es_err_o ),
1028
 
1029
        // WISHBONE Target 4
1030
        .t4_wb_cyc_o    ( ),
1031
        .t4_wb_stb_o    ( ),
1032
        .t4_wb_adr_o    ( ),
1033
        .t4_wb_sel_o    ( ),
1034
        .t4_wb_we_o     ( ),
1035
        .t4_wb_dat_o    ( ),
1036
        .t4_wb_dat_i    ( 32'h0000_0000 ),
1037
        .t4_wb_ack_i    ( 1'b0 ),
1038
        .t4_wb_err_i    ( 1'b1 ),
1039
 
1040
        // WISHBONE Target 5
1041
        .t5_wb_cyc_o    ( wb_us_cyc_i ),
1042
        .t5_wb_stb_o    ( wb_us_stb_i ),
1043
        .t5_wb_adr_o    ( wb_us_adr_i ),
1044
        .t5_wb_sel_o    ( wb_us_sel_i ),
1045
        .t5_wb_we_o     ( wb_us_we_i  ),
1046
        .t5_wb_dat_o    ( wb_us_dat_i ),
1047
        .t5_wb_dat_i    ( wb_us_dat_o ),
1048
        .t5_wb_ack_i    ( wb_us_ack_o ),
1049
        .t5_wb_err_i    ( wb_us_err_o ),
1050
 
1051
        // WISHBONE Target 6
1052
        .t6_wb_cyc_o    ( ),
1053
        .t6_wb_stb_o    ( ),
1054
        .t6_wb_adr_o    ( ),
1055
        .t6_wb_sel_o    ( ),
1056
        .t6_wb_we_o     ( ),
1057
        .t6_wb_dat_o    ( ),
1058
        .t6_wb_dat_i    ( 32'h0000_0000 ),
1059
        .t6_wb_ack_i    ( 1'b0 ),
1060
        .t6_wb_err_i    ( 1'b1 ),
1061
 
1062
        // WISHBONE Target 7    
1063
        .t7_wb_cyc_o    ( wb_jsp_cyc_i),
1064
        .t7_wb_stb_o    ( wb_jsp_stb_i),
1065
        .t7_wb_adr_o    (wb_jsp_adr_i ),
1066
        .t7_wb_sel_o    ( wb_jsp_sel_i),
1067
        .t7_wb_we_o             (wb_jsp_we_i  ),
1068
        .t7_wb_dat_o    ( wb_jsp_dat_i ),
1069
        .t7_wb_dat_i    ( wb_jsp_dat_o ),
1070
        .t7_wb_ack_i    ( wb_jsp_ack_o),
1071
        .t7_wb_err_i    ( wb_jsp_err_o),
1072
 
1073
        // WISHBONE Target 8
1074
        .t8_wb_cyc_o    ( ),
1075
        .t8_wb_stb_o    ( ),
1076
        .t8_wb_adr_o    ( ),
1077
        .t8_wb_sel_o    ( ),
1078
        .t8_wb_we_o     ( ),
1079
        .t8_wb_dat_o    ( ),
1080
        .t8_wb_dat_i    ( 32'h0000_0000 ),
1081
        .t8_wb_ack_i    ( 1'b0 ),
1082
        .t8_wb_err_i    ( 1'b1 )
1083
);
1084
 
1085
//initial begin
1086
//  $dumpvars(0);
1087
//  $dumpfile("dump.vcd");
1088
//end
1089
 
1090
// --------------------------------------------------
1091
// Memory Controller Instantiation (for SDRAM)
1092
// --------------------------------------------------
1093
mc_top_for_vhdl mc2_instantiation(
1094
.clk_i ( wb_clk),
1095
.rst_i ( wb_rst),
1096
 
1097
.susp_req_i   ( 1'b0),
1098
.resume_req_i ( 1'b0),
1099
//              suspended_o  (
1100
//              poc_o        (
1101
 
1102
// connect to arbiter
1103
.wb_stb_i  ( wire_mc2_stb_i),
1104
.wb_cyc_i  ( wire_mc2_cyc_i),
1105
.wb_addr_i ( wire_mc2_addr_i),
1106
.wb_we_i   ( wire_mc2_we_i),
1107
.wb_sel_i  ( wire_mc2_sel_i),
1108
.wb_data_i ( wire_mc2_data_i),
1109
.wb_ack_o  ( wire_mc2_ack_o),
1110
.wb_err_o  ( wire_mc2_err_o),
1111
.wb_data_o ( wire_mc2_data_o),
1112
 
1113
// interface signals to memories
1114
.mc_clk_i         (sdram_clk),
1115
.mc_br_pad_i      ( wire_mc2_br_pad_i),
1116
.mc_bg_pad_o      ( wire_mc2_bg_pad_o),
1117
.mc_ack_pad_i     ( wire_mc2_ack_pad_i),
1118
.mc_addr_pad_o    ( wire_mc2_addr_pad_o),
1119
.mc_data_pad_i    ( wire_mc2_data_pad_i),
1120
.mc_data_pad_o    ( wire_mc2_data_pad_o),
1121
.mc_dp_pad_i      ( wire_mc2_dp_pad_i),
1122
.mc_dp_pad_o      ( wire_mc2_dp_pad_o),
1123
.mc_doe_pad_doe_o ( wire_mc2_doe_pad_doe_o),
1124
.mc_dqm_pad_o     ( wire_mc2_dqm_pad_o),
1125
.mc_oe_pad_o      ( wire_mc2_oe_pad_o),
1126
.mc_we_pad_o      ( wire_mc2_we_pad_o),
1127
.mc_cs_pad_o      ( wire_mc2_cs_pad_o),
1128
.mc_adsc_pad_o    ( wire_mc2_adsc_pad_o),
1129
.mc_adv_pad_o     ( wire_mc2_adv_pad_o),
1130
.mc_zz_pad_o      ( wire_mc2_zz_pad_o),
1131
.mc_cas_pad_o     ( wire_mc2_cas_pad_o),
1132
.mc_ras_pad_o     ( wire_mc2_ras_pad_o),
1133
.mc_cke_pad_o     ( wire_mc2_cke_pad_o),
1134
.mc_sts_pad_i     ( wire_mc2_sts_pad_i),
1135
.mc_rp_pad_o      ( wire_mc2_rp_pad_o),
1136
.mc_vpen_pad_o    ( wire_mc2_vpen_pad_o),
1137
.mc_coe_pad_coe_o ( wire_mc2_coe_pad_coe_o)
1138
);
1139
 
1140
 
1141
 
1142
// --------------------------------------------------
1143
// Memory Interface Instantiation (SDRAM)
1144
// --------------------------------------------------
1145
sdram_interface_top sdram_interface_instantiation(
1146
.mc_clk_i         ( sdram_clk),
1147
.mc_br_pad_i      ( wire_mc2_br_pad_i),
1148
.mc_bg_pad_o      ( wire_mc2_bg_pad_o),
1149
.mc_ack_pad_i     ( wire_mc2_ack_pad_i),
1150
.mc_addr_pad_o    ( wire_mc2_addr_pad_o),
1151
.mc_data_pad_i    ( wire_mc2_data_pad_i),
1152
.mc_data_pad_o    ( wire_mc2_data_pad_o),
1153
.mc_dp_pad_i      ( wire_mc2_dp_pad_i),
1154
.mc_dp_pad_o      ( wire_mc2_dp_pad_o),
1155
.mc_doe_pad_doe_o ( wire_mc2_doe_pad_doe_o),
1156
.mc_dqm_pad_o     ( wire_mc2_dqm_pad_o),
1157
.mc_oe_pad_o      ( wire_mc2_oe_pad_o),
1158
.mc_we_pad_o      ( wire_mc2_we_pad_o),
1159
.mc_cas_pad_o     ( wire_mc2_cas_pad_o),
1160
.mc_ras_pad_o     ( wire_mc2_ras_pad_o),
1161
.mc_cke_pad_o     ( wire_mc2_cke_pad_o),
1162
.mc_cs_pad_o      ( wire_mc2_cs_pad_o),
1163
.mc_sts_pad_i     ( wire_mc2_sts_pad_i),
1164
.mc_rp_pad_o      ( wire_mc2_rp_pad_o),
1165
.mc_vpen_pad_o    ( wire_mc2_vpen_pad_o),
1166
.mc_adsc_pad_o    ( wire_mc2_adsc_pad_o),
1167
.mc_adv_pad_o     ( wire_mc2_adv_pad_o),
1168
.mc_zz_pad_o      ( wire_mc2_zz_pad_o),
1169
.mc_coe_pad_coe_o ( wire_mc2_coe_pad_coe_o),
1170
 
1171
.dram0_a_o        ( dram0_a),
1172
.dram0_d_io       ( dram0_d),
1173
.dram0_ba_o       ( dram0_ba),
1174
.dram0_ldqm0_o    ( dram0_ldqm0),
1175
.dram0_udqm1_o    ( dram0_udqm1),
1176
.dram0_ras_n_o    ( dram0_ras_n),
1177
.dram0_cas_n_o    ( dram0_cas_n),
1178
.dram0_cke_o      ( dram0_cke),
1179
.dram0_clk_o      ( dram0_clk),
1180
.dram0_we_n_o     ( dram0_we_n),
1181
.dram0_cs_n_o     ( dram0_cs_n),
1182
 
1183
.dram1_a_o        ( dram1_a),
1184
.dram1_d_io       ( dram1_d),
1185
.dram1_ba_o       ( dram1_ba),
1186
.dram1_ldqm0_o    ( dram1_ldqm0),
1187
.dram1_udqm1_o    ( dram1_udqm1),
1188
.dram1_ras_n_o    ( dram1_ras_n),
1189
.dram1_cas_n_o    ( dram1_cas_n),
1190
.dram1_cke_o      ( dram1_cke),
1191
.dram1_clk_o      ( dram1_clk),
1192
.dram1_we_n_o     ( dram1_we_n),
1193
.dram1_cs_n_o     ( dram1_cs_n)
1194
);
1195
 
1196
 
1197
 
1198
endmodule

powered by: WebSVN 2.1.0

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