MDIO R/W working
[mw/milkymist.git] / cores / minimac / rtl / minimac.v
1 /*
2  * Milkymist VJ SoC
3  * Copyright (C) 2007, 2008, 2009, 2010 Sebastien Bourdeauducq
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, version 3 of the License.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 module minimac #(
19         parameter csr_addr = 4'h0
20 ) (
21         input sys_clk,
22         input sys_rst,
23
24         input [13:0] csr_a,
25         input csr_we,
26         input [31:0] csr_di,
27         output [31:0] csr_do,
28
29         output irq_rx,
30         output irq_tx,
31
32         output [31:0] wbm_adr_o,
33         output [2:0] wbm_cti_o,
34         output wbm_we_o,
35         output wbm_cyc_o,
36         output wbm_stb_o,
37         input wbm_ack_i,
38         output [3:0] wbm_sel_o,
39         output [31:0] wbm_dat_o,
40         input [31:0] wbm_dat_i,
41
42         input phy_tx_clk,
43         output [3:0] phy_tx_data,
44         output phy_tx_en,
45         output phy_tx_er,
46         input phy_rx_clk,
47         input [3:0] phy_rx_data,
48         input phy_dv,
49         input phy_rx_er,
50         input phy_col,
51         input phy_crs,
52         output phy_mii_clk,
53         inout phy_mii_data
54 );
55
56 minimac_ctlif #(
57         .csr_addr(csr_addr)
58 ) ctlif (
59         .sys_clk(sys_clk),
60         .sys_rst(sys_rst),
61
62         .csr_a(csr_a),
63         .csr_we(csr_we),
64         .csr_di(csr_di),
65         .csr_do(csr_do),
66
67         .irq_rx(irq_rx),
68         .irq_tx(irq_tx),
69
70         .speed10(),
71         .promisc(),
72         .macaddr(),
73
74         .rx_valid(),
75         .rx_adr(),
76         .rx_incrcount(),
77         .rx_endframe(),
78
79         .tx_valid(),
80         .tx_adr(),
81         .tx_bytecount(),
82         .tx_next(),
83
84         .phy_mii_clk(phy_mii_clk),
85         .phy_mii_data(phy_mii_data)
86 );
87
88 assign phy_tx_data = 4'h0;
89 assign phy_tx_en = 1'b0;
90 assign phy_tx_er = 1'b0;
91
92 endmodule