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

Subversion Repositories eco32

[/] [eco32/] [trunk/] [fpga/] [mc/] [src/] [dsk/] [dsk.v] - Blame information for rev 318

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

Line No. Rev Author Line
1 121 hellwig
//
2
// dsk.v -- parallel ATA (IDE) disk interface
3
//
4
 
5
 
6 290 hellwig
`timescale 1ns/10ps
7
`default_nettype none
8
 
9
 
10
module dsk(clk, rst,
11
           stb, we, addr,
12 27 hellwig
           data_in, data_out,
13 290 hellwig
           ack, irq,
14 27 hellwig
           ata_d, ata_a, ata_cs0_n, ata_cs1_n,
15
           ata_dior_n, ata_diow_n, ata_intrq,
16
           ata_dmarq, ata_dmack_n, ata_iordy);
17
    // internal interface signals
18
    input clk;
19 290 hellwig
    input rst;
20
    input stb;
21
    input we;
22 27 hellwig
    input [19:2] addr;
23
    input [31:0] data_in;
24
    output [31:0] data_out;
25 290 hellwig
    output ack;
26 27 hellwig
    output irq;
27
    // external interface signals
28
    inout [15:0] ata_d;
29
    output [2:0] ata_a;
30
    output ata_cs0_n, ata_cs1_n;
31
    output ata_dior_n, ata_diow_n;
32
    input ata_intrq;
33
    input ata_dmarq;
34
    output ata_dmack_n;
35
    input ata_iordy;
36
 
37 290 hellwig
  wire bus_wait;
38
 
39
  ata_ctrl ata_ctrl_1(
40 27 hellwig
    .clk(clk),
41 290 hellwig
    .reset(rst),
42
    .bus_en(stb),
43
    .bus_wr(we),
44 27 hellwig
    .bus_addr(addr),
45
    .bus_din(data_in),
46
    .bus_dout(data_out),
47 290 hellwig
    .bus_wait(bus_wait),
48 27 hellwig
    .bus_irq(irq),
49
    .ata_d(ata_d),
50
    .ata_a(ata_a),
51
    .ata_cs0_n(ata_cs0_n),
52
    .ata_cs1_n(ata_cs1_n),
53
    .ata_dior_n(ata_dior_n),
54
    .ata_diow_n(ata_diow_n),
55
    .ata_intrq(ata_intrq),
56
    .ata_dmarq(ata_dmarq),
57
    .ata_dmack_n(ata_dmack_n),
58
    .ata_iordy(ata_iordy)
59
  );
60
 
61 290 hellwig
  assign ack = stb & ~bus_wait;
62
 
63 27 hellwig
endmodule

powered by: WebSVN 2.1.0

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