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

Subversion Repositories eco32

[/] [eco32/] [tags/] [eco32-0.25/] [fpga/] [boards/] [s3e-500/] [src/] [bio/] [bio.v] - Blame information for rev 226

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

Line No. Rev Author Line
1 226 hellwig
//
2
// bio.v -- board specific I/O
3
//
4
 
5
 
6
module bio(clk, reset,
7
           en, wr, addr,
8
           data_in, data_out,
9
           wt, spi_en,
10
           sw, led,
11
           lcd_e, lcd_rw, lcd_rs,
12
           spi_ss_b, fpga_init_b);
13
    // internal interface
14
    input clk;
15
    input reset;
16
    input en;
17
    input wr;
18
    input addr;
19
    input [31:0] data_in;
20
    output [31:0] data_out;
21
    output wt;
22
    output spi_en;
23
    // external interface
24
    input [3:0] sw;
25
    output [7:0] led;
26
    output lcd_e;
27
    output lcd_rw;
28
    output lcd_rs;
29
    output spi_ss_b;
30
    output fpga_init_b;
31
 
32
  reg [31:0] bio_out;
33
  wire [31:0] bio_in;
34
 
35
  always @(posedge clk) begin
36
    if (reset) begin
37
      bio_out[31:0] <= 32'h0;
38
    end else begin
39
      if (en & wr & ~addr) begin
40
        bio_out[31:0] <= data_in[31:0];
41
      end
42
    end
43
  end
44
 
45
  assign data_out[31:0] =
46
    (addr == 0) ? bio_out[31:0] : bio_in[31:0];
47
  assign wt = 0;
48
  assign spi_en = bio_out[31];
49
 
50
  assign bio_in[31:0] = { 28'h0, sw[3:0] };
51
 
52
  assign led[7:0] = bio_out[7:0];
53
 
54
  // disable the character LCD screen
55
  // it may be enabled if spi_en = 1
56
  assign lcd_e = 0;
57
  assign lcd_rw = 0;
58
  assign lcd_rs = 0;
59
 
60
  // disable SPI serial and platform flash ROMs
61
  assign spi_ss_b = 1;
62
  assign fpga_init_b = 0;
63
 
64
endmodule

powered by: WebSVN 2.1.0

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