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

Subversion Repositories de1_olpcl2294_system

[/] [de1_olpcl2294_system/] [trunk/] [src/] [top.v] - Blame information for rev 4

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

Line No. Rev Author Line
1 3 qaztronic
// --------------------------------------------------------------------
2
//
3
// --------------------------------------------------------------------
4
 
5
`include "timescale.v"
6 4 qaztronic
`include "gpio_defines.v"
7 3 qaztronic
 
8
 
9
module top(
10
  ////////////////////////  Clock Input     ////////////////////////
11
  input [1:0]       clock_24,               //  24 MHz
12
  input [1:0]       clock_27,               //  27 MHz
13
  input             clock_50,               //  50 MHz
14
  input             ext_clock,              //  External Clock
15
  ////////////////////////  Push Button     ////////////////////////
16
  input [3:0]       key,                    //  Pushbutton[3:0]
17
  ////////////////////////  DPDT Switch     ////////////////////////
18
  input [9:0]       sw,                     //  Toggle Switch[9:0]
19
  ////////////////////////  7-SEG Dispaly   ////////////////////////
20
  output    [6:0]   hex0,                   //  Seven Segment Digit 0
21
  output    [6:0]   hex1,                   //  Seven Segment Digit 1
22
  output    [6:0]   hex2,                   //  Seven Segment Digit 2
23
  output    [6:0]   hex3,                   //  Seven Segment Digit 3
24
  ////////////////////////////  LED     ////////////////////////////
25
  output    [7:0]   ledg,                   //  LED Green[7:0]
26
  output    [9:0]   ledr,                   //  LED Red[9:0]
27
  ////////////////////////////  UART    ////////////////////////////
28
  output            uart_txd,               //  UART Transmitter
29
  input             uart_rxd,               //  UART Receiver
30
  ///////////////////////       SDRAM Interface ////////////////////////
31
  inout [15:0]      dram_dq,                //  SDRAM Data bus 16 Bits
32
  output    [11:0]  dram_addr,              //  SDRAM Address bus 12 Bits
33
  output            dram_ldqm,              //  SDRAM Low-byte Data Mask 
34
  output            dram_udqm,              //  SDRAM High-byte Data Mask
35
  output            dram_we_n,              //  SDRAM Write Enable
36
  output            dram_cas_n,             //  SDRAM Column Address Strobe
37
  output            dram_ras_n,             //  SDRAM Row Address Strobe
38
  output            dram_cs_n,              //  SDRAM Chip Select
39
  output            dram_ba_0,              //  SDRAM Bank Address 0
40
  output            dram_ba_1,              //  SDRAM Bank Address 0
41
  output            dram_clk,               //  SDRAM Clock
42
  output            dram_cke,               //  SDRAM Clock Enable
43
  ////////////////////////  Flash Interface ////////////////////////
44
  inout [7:0]       fl_dq,                  //  FLASH Data bus 8 Bits
45
  output    [21:0]  fl_addr,                //  FLASH Address bus 22 Bits
46
  output            fl_we_n,                //  FLASH Write Enable
47
  output            fl_rst_n,               //  FLASH Reset
48
  output            fl_oe_n,                //  FLASH Output Enable
49
  output            fl_ce_n,                //  FLASH Chip Enable
50
  ////////////////////////  SRAM Interface  ////////////////////////
51
  inout   [15:0]    sram_dq,                //  SRAM Data bus 16 Bits
52
  output  [17:0]    sram_addr,              //  SRAM Address bus 18 Bits
53
  output            sram_ub_n,              //  SRAM High-byte Data Mask 
54
  output            sram_lb_n,              //  SRAM Low-byte Data Mask 
55
  output            sram_we_n,              //  SRAM Write Enable
56
  output            sram_ce_n,              //  SRAM Chip Enable
57
  output            sram_oe_n,              //  SRAM Output Enable
58
  ////////////////////  SD Card Interface   ////////////////////////
59
  inout             sd_dat,                 //  SD Card Data
60
  inout             sd_dat3,                //  SD Card Data 3
61
  inout             sd_cmd,                 //  SD Card Command Signal
62
  output            sd_clk,                 //  SD Card Clock
63
  ////////////////////////  I2C     ////////////////////////////////
64
  inout             i2c_sdat,               //  I2C Data
65
  output            i2c_sclk,               //  I2C Clock
66
  ////////////////////////  PS2     ////////////////////////////////
67
  input             ps2_dat,                //  PS2 Data
68
  input             ps2_clk,                //  PS2 Clock
69
  ////////////////////  USB JTAG link   ////////////////////////////
70
  input             tdi,                    // CPLD -> FPGA (data in)
71
  input             tck,                    // CPLD -> FPGA (clk)
72
  input             tcs,                    // CPLD -> FPGA (CS)
73
  output            tdo,                    // FPGA -> CPLD (data out)
74
  ////////////////////////  VGA         ////////////////////////////
75
  output            vga_hs,                 //  VGA H_SYNC
76
  output            vga_vs,                 //  VGA V_SYNC
77
  output    [3:0]   vga_r,                  //  VGA Red[3:0]
78
  output    [3:0]   vga_g,                  //  VGA Green[3:0]
79
  output    [3:0]   vga_b,                  //  VGA Blue[3:0]
80
  ////////////////////  Audio CODEC     ////////////////////////////
81
  inout             aud_adclrck,            //  Audio CODEC ADC LR Clock
82
  input             aud_adcdat,             //  Audio CODEC ADC Data
83
  inout             aud_daclrck,            //  Audio CODEC DAC LR Clock
84
  output            aud_dacdat,             //  Audio CODEC DAC Data
85
  inout             aud_bclk,               //  Audio CODEC Bit-Stream Clock
86
  output            aud_xck,                //  Audio CODEC Chip Clock
87
  ////////////////////////  GPIO    ////////////////////////////////
88
  inout [35:0]      gpio_0,                 //  GPIO Connection 0
89
  inout [35:0]      gpio_1                  //  GPIO Connection 1
90
);
91
 
92
        parameter DW    = 32;
93
        parameter AW    = 32;
94
 
95
 
96
  //---------------------------------------------------
97
  // system wires
98
        wire                            sys_rst;
99
        wire        sys_clk = clock_24[0];
100
 
101
 
102
  //---------------------------------------------------
103
  // sync reset
104
  sync
105
    i_sync_reset(
106
            .async_sig(~key[0]),
107
            .sync_out(sys_rst),
108
            .clk(sys_clk)
109
          );
110
 
111
 
112
  //---------------------------------------------------
113
  // FLED
114
        reg [24:0] counter;
115
        wire [7:0]  fled;
116
 
117
        always @(posedge sys_clk or posedge sys_rst)
118
          if(sys_rst)
119
                counter <= 25'b0;
120
        else
121
                counter <= counter + 1;
122
 
123
        assign fled[0]  = sw[0];
124
        assign fled[1]  = sw[1];
125
        assign fled[2]  = sw[2];
126
        assign fled[3]  = sw[3];
127
        assign fled[4]  = sw[4];
128
        assign fled[5]  = sw[5];
129
        assign fled[6]  = sw[6];
130
        assign fled[7]  = counter[24];
131
 
132
 
133
// --------------------------------------------------------------------
134
//  wb_async_mem_bridge
135
  wire [31:0] m0_data_i;
136
  wire [31:0] m0_data_o;
137
  wire [31:0] m0_addr_o;
138
  wire [3:0]  m0_sel_o;
139
  wire        m0_we_o;
140
  wire        m0_cyc_o;
141
  wire        m0_stb_o;
142
  wire        m0_ack_i;
143
  wire        m0_err_i;
144
  wire        m0_rty_i;
145
 
146
  wb_async_mem_bridge #( .AW(24) )
147
    i_wb_async_mem_bridge(
148
      .wb_data_i(m0_data_i),
149
      .wb_data_o(m0_data_o),
150
      .wb_addr_o(m0_addr_o[23:0]),
151
      .wb_sel_o(m0_sel_o),
152
      .wb_we_o(m0_we_o),
153
      .wb_cyc_o(m0_cyc_o),
154
      .wb_stb_o(m0_stb_o),
155
      .wb_ack_i(m0_ack_i),
156
      .wb_err_i(m0_err_i),
157
      .wb_rty_i(m0_rty_i),
158
 
159
      .mem_d( gpio_1[31:0] ),
160
      .mem_a( gpio_0[23:0] ),
161
      .mem_oe_n( gpio_0[30] ),
162
      .mem_bls_n( { gpio_0[26], gpio_0[27], gpio_0[28], gpio_0[29] } ),
163
      .mem_we_n( gpio_0[25] ),
164
      .mem_cs_n( gpio_0[24] ),
165
 
166
      .wb_clk_i(sys_clk),
167
      .wb_rst_i(sys_rst)
168
    );
169
 
170
 
171
  //---------------------------------------------------
172
  // wb_conmax_top
173
 
174
  // Slave 0 Interface
175
 
176
  wire  [DW-1:0]  s0_data_i;
177
  wire  [DW-1:0]  s0_data_o;
178
  wire  [AW-1:0]  s0_addr_o;
179
  wire  [3:0]     s0_sel_o;
180
  wire            s0_we_o;
181
  wire            s0_cyc_o;
182
  wire            s0_stb_o;
183
  wire            s0_ack_i;
184
  wire            s0_err_i;
185
  wire            s0_rty_i;
186
 
187
  wire  [DW-1:0]  s1_data_i;
188
  wire  [DW-1:0]  s1_data_o;
189
  wire  [AW-1:0]  s1_addr_o;
190
  wire  [3:0]     s1_sel_o;
191
  wire            s1_we_o;
192
  wire            s1_cyc_o;
193
  wire            s1_stb_o;
194
  wire            s1_ack_i;
195
  wire            s1_err_i;
196
  wire            s1_rty_i;
197
 
198
  wire  [DW-1:0]  s2_data_i;
199
  wire  [DW-1:0]  s2_data_o;
200
  wire  [AW-1:0]  s2_addr_o;
201
  wire  [3:0]     s2_sel_o;
202
  wire            s2_we_o;
203
  wire            s2_cyc_o;
204
  wire            s2_stb_o;
205
  wire            s2_ack_i;
206
  wire            s2_err_i;
207
  wire            s2_rty_i;
208
 
209
  wire  [DW-1:0]  s3_data_i;
210
  wire  [DW-1:0]  s3_data_o;
211
  wire  [AW-1:0]  s3_addr_o;
212
  wire  [3:0]     s3_sel_o;
213
  wire            s3_we_o;
214
  wire            s3_cyc_o;
215
  wire            s3_stb_o;
216
  wire            s3_ack_i;
217
  wire            s3_err_i;
218
  wire            s3_rty_i;
219
 
220
  wire  [DW-1:0]  s4_data_i;
221
  wire  [DW-1:0]  s4_data_o;
222
  wire  [AW-1:0]  s4_addr_o;
223
  wire  [3:0]     s4_sel_o;
224
  wire            s4_we_o;
225
  wire            s4_cyc_o;
226
  wire            s4_stb_o;
227
  wire            s4_ack_i;
228
  wire            s4_err_i;
229
  wire            s4_rty_i;
230
 
231
  wire  [DW-1:0]  s5_data_i;
232
  wire  [DW-1:0]  s5_data_o;
233
  wire  [AW-1:0]  s5_addr_o;
234
  wire  [3:0]     s5_sel_o;
235
  wire            s5_we_o;
236
  wire            s5_cyc_o;
237
  wire            s5_stb_o;
238
  wire            s5_ack_i;
239
  wire            s5_err_i;
240
  wire            s5_rty_i;
241
 
242
  wire  [DW-1:0]  s6_data_i;
243
  wire  [DW-1:0]  s6_data_o;
244
  wire  [AW-1:0]  s6_addr_o;
245
  wire  [3:0]     s6_sel_o;
246
  wire            s6_we_o;
247
  wire            s6_cyc_o;
248
  wire            s6_stb_o;
249
  wire            s6_ack_i;
250
  wire            s6_err_i;
251
  wire            s6_rty_i;
252
 
253
  wb_conmax_top
254
    i_wb_conmax_top(
255
      // Master 0 Interface
256
      .m0_data_i(m0_data_o),
257
      .m0_data_o(m0_data_i),
258 4 qaztronic
      .m0_addr_i( {m0_addr_o[23:20], 8'b0, m0_addr_o[19:0]} ),
259 3 qaztronic
      .m0_sel_i(m0_sel_o),
260
      .m0_we_i(m0_we_o),
261
      .m0_cyc_i(m0_cyc_o),
262
      .m0_stb_i(m0_stb_o),
263
      .m0_ack_o(m0_ack_i),
264
      .m0_err_o(m0_err_i),
265
      .m0_rty_o(m0_rty_i),
266
      // Master 1 Interface 
267
      .m1_data_i(32'h0000_0000),
268
      .m1_addr_i(32'h0000_0000),
269
      .m1_sel_i(4'h0),
270
      .m1_we_i(1'b0),
271
      .m1_cyc_i(1'b0),
272
      .m1_stb_i(1'b0),
273
      // Master 2 Interface
274
      .m2_data_i(32'h0000_0000),
275
      .m2_addr_i(32'h0000_0000),
276
      .m2_sel_i(4'h0),
277
      .m2_we_i(1'b0),
278
      .m2_cyc_i(1'b0),
279
      .m2_stb_i(1'b0),
280
      // Master 3 Interface
281
      .m3_data_i(32'h0000_0000),
282
      .m3_addr_i(32'h0000_0000),
283
      .m3_sel_i(4'h0),
284
      .m3_we_i(1'b0),
285
      .m3_cyc_i(1'b0),
286
      .m3_stb_i(1'b0),
287
      // Master 4 Interface
288
      .m4_data_i(32'h0000_0000),
289
      .m4_addr_i(32'h0000_0000),
290
      .m4_sel_i(4'h0),
291
      .m4_we_i(1'b0),
292
      .m4_cyc_i(1'b0),
293
      .m4_stb_i(1'b0),
294
      // Master 5 Interface
295
      .m5_data_i(32'h0000_0000),
296
      .m5_addr_i(32'h0000_0000),
297
      .m5_sel_i(4'h0),
298
      .m5_we_i(1'b0),
299
      .m5_cyc_i(1'b0),
300
      .m5_stb_i(1'b0),
301
      // Master 6 Interface
302
      .m6_data_i(32'h0000_0000),
303
      .m6_addr_i(32'h0000_0000),
304
      .m6_sel_i(4'h0),
305
      .m6_we_i(1'b0),
306
      .m6_cyc_i(1'b0),
307
      .m6_stb_i(1'b0),
308
      // Master 7 Interface
309
      .m7_data_i(32'h0000_0000),
310
      .m7_addr_i(32'h0000_0000),
311
      .m7_sel_i(4'h0),
312
      .m7_we_i(1'b0),
313
      .m7_cyc_i(1'b0),
314
      .m7_stb_i(1'b0),
315
 
316
      // Slave 0 Interface
317
      .s0_data_i(s0_data_i),
318
      .s0_data_o(s0_data_o),
319
      .s0_addr_o(s0_addr_o),
320
      .s0_sel_o(s0_sel_o),
321
      .s0_we_o(s0_we_o),
322
      .s0_cyc_o(s0_cyc_o),
323
      .s0_stb_o(s0_stb_o),
324
      .s0_ack_i(s0_ack_i),
325
      .s0_err_i(s0_err_i),
326
      .s0_rty_i(s0_rty_i),
327
      // Slave 1 Interface
328 4 qaztronic
      .s1_data_i(s1_data_i),
329
      .s1_data_o(s1_data_o),
330
      .s1_addr_o(s1_addr_o),
331
      .s1_sel_o(s1_sel_o),
332
      .s1_we_o(s1_we_o),
333
      .s1_cyc_o(s1_cyc_o),
334
      .s1_stb_o(s1_stb_o),
335
      .s1_ack_i(s1_ack_i),
336
      .s1_err_i(s1_err_i),
337
      .s1_rty_i(s1_rty_i),
338 3 qaztronic
      // Slave 2 Interface
339 4 qaztronic
      .s2_data_i(s2_data_i),
340
      .s2_data_o(s2_data_o),
341
      .s2_addr_o(s2_addr_o),
342
      .s2_sel_o(s2_sel_o),
343
      .s2_we_o(s2_we_o),
344
      .s2_cyc_o(s2_cyc_o),
345
      .s2_stb_o(s2_stb_o),
346
      .s2_ack_i(s2_ack_i),
347
      .s2_err_i(s2_err_i),
348
      .s2_rty_i(s2_rty_i),
349 3 qaztronic
      // Slave 3 Interface
350
      .s3_data_i(32'h0000_0000),
351
      .s3_ack_i(1'b0),
352
      .s3_err_i(1'b0),
353
      .s3_rty_i(1'b0),
354
      // Slave 4 Interface
355
      .s4_data_i(32'h0000_0000),
356
      .s4_ack_i(1'b0),
357
      .s4_err_i(1'b0),
358
      .s4_rty_i(1'b0),
359
      // Slave 5 Interface
360
      .s5_data_i(32'h0000_0000),
361
      .s5_ack_i(1'b0),
362
      .s5_err_i(1'b0),
363
      .s5_rty_i(1'b0),
364
      // Slave 6 Interface
365
      .s6_data_i(32'h0000_0000),
366
      .s6_ack_i(1'b0),
367
      .s6_err_i(1'b0),
368
      .s6_rty_i(1'b0),
369
      // Slave 7 Interface
370
      .s7_data_i(32'h0000_0000),
371
      .s7_ack_i(1'b0),
372
      .s7_err_i(1'b0),
373
      .s7_rty_i(1'b0),
374
      // Slave 8 Interface
375
      .s8_data_i(32'h0000_0000),
376
      .s8_ack_i(1'b0),
377
      .s8_err_i(1'b0),
378
      .s8_rty_i(1'b0),
379
      // Slave 9 Interface
380
      .s9_data_i(32'h0000_0000),
381
      .s9_ack_i(1'b0),
382
      .s9_err_i(1'b0),
383
      .s9_rty_i(1'b0),
384
      // Slave 10 Interface
385
      .s10_data_i(32'h0000_0000),
386
      .s10_ack_i(1'b0),
387
      .s10_err_i(1'b0),
388
      .s10_rty_i(1'b0),
389
      // Slave 11 Interface
390
      .s11_data_i(32'h0000_0000),
391
      .s11_ack_i(1'b0),
392
      .s11_err_i(1'b0),
393
      .s11_rty_i(1'b0),
394
      // Slave 12 Interface
395
      .s12_data_i(32'h0000_0000),
396
      .s12_ack_i(1'b0),
397
      .s12_err_i(1'b0),
398
      .s12_rty_i(1'b0),
399
      // Slave 13 Interface
400
      .s13_data_i(32'h0000_0000),
401
      .s13_ack_i(1'b0),
402
      .s13_err_i(1'b0),
403
      .s13_rty_i(1'b0),
404
      // Slave 14 Interface
405
      .s14_data_i(32'h0000_0000),
406
      .s14_ack_i(1'b0),
407
      .s14_err_i(1'b0),
408
      .s14_rty_i(1'b0),
409
      // Slave 15 Interface
410
      .s15_data_i(32'h0000_0000),
411
      .s15_ack_i(1'b0),
412
      .s15_err_i(1'b0),
413
      .s15_rty_i(1'b0),
414
 
415
      .clk_i(sys_clk),
416
      .rst_i(sys_rst)
417
    );
418
 
419
 
420
  //---------------------------------------------------
421
  // async_mem_if
422
  assign s0_err_i = 1'b0;
423
  assign s0_rty_i = 1'b0;
424
 
425
  async_mem_if #( .AW(18), .DW(16) )
426
    i_sram (
427
      .async_dq(sram_dq),
428
      .async_addr(sram_addr),
429
      .async_ub_n(sram_ub_n),
430
      .async_lb_n(sram_lb_n),
431
      .async_we_n(sram_we_n),
432
      .async_ce_n(sram_ce_n),
433
      .async_oe_n(sram_oe_n),
434
      .wb_clk_i(sys_clk),
435
      .wb_rst_i(sys_rst),
436
      .wb_adr_i( {14'h0000, s0_addr_o[17:0]} ),
437
      .wb_dat_i(s0_data_o),
438
      .wb_we_i(s0_we_o),
439
      .wb_stb_i(s0_stb_o),
440
      .wb_cyc_i(s0_cyc_o),
441
      .wb_sel_i(s0_sel_o),
442
      .wb_dat_o(s0_data_i),
443
      .wb_ack_o(s0_ack_i),
444
      .ce_setup(4'h0),
445
      .op_hold(4'h1),
446
      .ce_hold(4'h0),
447
      .big_endian_if_i(1'b0),
448
      .lo_byte_if_i(1'b0)
449
    );
450
 
451 4 qaztronic
 
452 3 qaztronic
  //---------------------------------------------------
453 4 qaztronic
  // GPIO a
454
  assign s1_rty_i = 1'b0;
455
 
456
  wire        gpio_a_inta_o;
457
  wire        gpio_a_clk_i;
458
  wire [31:0] gpio_a_aux_i;
459
  wire [31:0] gpio_a_ext_pad_i;
460
  wire [31:0] gpio_a_ext_pad_o;
461
  wire [31:0] gpio_a_ext_padoe_o;
462
 
463
  gpio_top
464
    i_gpio_a(
465
                  .wb_clk_i(sys_clk),
466
                  .wb_rst_i(sys_rst),
467
                  .wb_cyc_i(s1_cyc_o),
468
                  .wb_adr_i( {24'b0, s1_addr_o[7:0]} ),
469
                  .wb_dat_i(s1_data_o),
470
                  .wb_sel_i(s1_sel_o),
471
                  .wb_we_i(s1_we_o),
472
                  .wb_stb_i(s1_stb_o),
473
                  .wb_dat_o(s1_data_i),
474
                  .wb_ack_o(s1_ack_i),
475
                  .wb_err_o(s1_err_i),
476
                  .wb_inta_o(gpio_a_inta_o),
477
 
478
`ifdef GPIO_AUX_IMPLEMENT
479
                  .aux_i(gpio_a_aux_i),
480
`endif // GPIO_AUX_IMPLEMENT
481
 
482
`ifdef GPIO_CLKPAD
483
              .clk_pad_i(gpio_a_clk_i),
484
`endif //  GPIO_CLKPAD
485
 
486
                  .ext_pad_i(gpio_a_ext_pad_i),
487
                  .ext_pad_o(gpio_a_ext_pad_o),
488
                  .ext_padoe_o(gpio_a_ext_padoe_o)
489
            );
490
 
491
 
492
  //---------------------------------------------------
493
  // GPIO b
494
  assign s2_rty_i = 1'b0;
495
 
496
  wire        gpio_b_inta_o;
497
  wire        gpio_b_clk_i;
498
  wire [31:0] gpio_b_aux_i;
499
  wire [31:0] gpio_b_ext_pad_i;
500
  wire [31:0] gpio_b_ext_pad_o;
501
  wire [31:0] gpio_b_ext_padoe_o;
502
 
503
  gpio_top
504
    i_gpio_b(
505
                  .wb_clk_i(sys_clk),
506
                  .wb_rst_i(sys_rst),
507
                  .wb_cyc_i(s2_cyc_o),
508
                  .wb_adr_i( {24'b0, s2_addr_o[7:0]} ),
509
                  .wb_dat_i(s2_data_o),
510
                  .wb_sel_i(s2_sel_o),
511
                  .wb_we_i(s2_we_o),
512
                  .wb_stb_i(s2_stb_o),
513
                  .wb_dat_o(s2_data_i),
514
                  .wb_ack_o(s2_ack_i),
515
                  .wb_err_o(s2_err_i),
516
                  .wb_inta_o(gpio_b_inta_o),
517
 
518
`ifdef GPIO_AUX_IMPLEMENT
519
                  .aux_i(gpio_b_aux_i),
520
`endif // GPIO_AUX_IMPLEMENT
521
 
522
`ifdef GPIO_CLKPAD
523
              .clk_pad_i(gpio_b_clk_i),
524
`endif //  GPIO_CLKPAD
525
 
526
                  .ext_pad_i(gpio_b_ext_pad_i),
527
                  .ext_pad_o(gpio_b_ext_pad_o),
528
                  .ext_padoe_o(gpio_b_ext_padoe_o)
529
            );
530
 
531
 
532
  //---------------------------------------------------
533
  // IO pads
534
  genvar i;
535
 
536
  // gpio a
537
  wire [31:0] gpio_a_io_buffer_o;
538
 
539
  generate for( i = 0; i < 32; i = i + 1 )
540
    begin: gpio_a_pads
541
      assign gpio_a_io_buffer_o[i] = gpio_a_ext_padoe_o[i] ? gpio_a_ext_pad_o[i] : 1'bz;
542
    end
543
  endgenerate
544
 
545
  // gpio b
546
  wire [31:0] gpio_b_io_buffer_o;
547
 
548
  generate for( i = 0; i < 32; i = i + 1 )
549
    begin: gpio_b_pads
550
      assign gpio_b_io_buffer_o[i] = gpio_b_ext_padoe_o[i] ? gpio_b_ext_pad_o[i] : 1'bz;
551
    end
552
  endgenerate
553
 
554
 
555
  //---------------------------------------------------
556 3 qaztronic
  // outputs
557
 
558
  //  Turn off all display
559 4 qaztronic
//   assign  hex0        =   7'h7f;
560
//   assign  hex1        =   7'h7f;
561
//   assign  hex2        =   7'h7f;
562
//   assign  hex3        =   7'h7f;
563 3 qaztronic
//   assign  ledg        =   8'hff;
564 4 qaztronic
//   assign  ledg        =   fled;
565
//   assign  ledr        =   10'h000;
566 3 qaztronic
 
567
  //  All inout port turn to tri-state
568
  assign  dram_dq     =   16'hzzzz;
569
  assign  fl_dq       =   8'hzz;
570
//   assign  sram_dq     =   16'hzzzz;
571
  assign  sd_dat      =   1'bz;
572
  assign  i2c_sdat    =   1'bz;
573
  assign  aud_adclrck =   1'bz;
574
  assign  aud_daclrck =   1'bz;
575
  assign  aud_bclk    =   1'bz;
576 4 qaztronic
//   assign  gpio_0      =   36'hzzzzzzzzz;
577
//   assign  gpio_1      =   36'hzzzzzzzzz;
578 3 qaztronic
 
579 4 qaztronic
  assign hex0             = gpio_a_io_buffer_o[6:0];
580
  assign hex1             = gpio_a_io_buffer_o[14:8];
581
  assign hex2             = gpio_a_io_buffer_o[22:16];
582
  assign hex3             = gpio_a_io_buffer_o[30:24];
583
  assign gpio_a_aux_i     = 32'b0;
584
  assign gpio_a_ext_pad_i = 32'b0;
585 3 qaztronic
 
586 4 qaztronic
  assign ledg             = gpio_b_io_buffer_o[7:0];
587
  assign ledr             = gpio_b_io_buffer_o[17:8];
588
  assign gpio_b_aux_i     = { 24'b0, fled } ;
589
  assign gpio_b_ext_pad_i = { key, sw, 18'b0};
590
 
591
 
592 3 qaztronic
endmodule
593
 

powered by: WebSVN 2.1.0

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