summaryrefslogtreecommitdiffstats
path: root/DM9000A/hdl/DM9000A_IF.v
diff options
context:
space:
mode:
authorJames <james.mckenzie@citrix.com>2013-10-10 11:40:39 +0100
committerJames <james.mckenzie@citrix.com>2013-10-10 11:40:39 +0100
commit4b7ba2f7366194608aac59b47d0f3c7cd9f21fb1 (patch)
tree0a7bb29847dd16cae644be4893039e577c106964 /DM9000A/hdl/DM9000A_IF.v
parentd32c5f6d4713b445ee9f17df51abb25211ee52d6 (diff)
downloadpong-4b7ba2f7366194608aac59b47d0f3c7cd9f21fb1.tar.gz
pong-4b7ba2f7366194608aac59b47d0f3c7cd9f21fb1.tar.bz2
pong-4b7ba2f7366194608aac59b47d0f3c7cd9f21fb1.zip
remove-path
Diffstat (limited to 'DM9000A/hdl/DM9000A_IF.v')
-rw-r--r--DM9000A/hdl/DM9000A_IF.v85
1 files changed, 85 insertions, 0 deletions
diff --git a/DM9000A/hdl/DM9000A_IF.v b/DM9000A/hdl/DM9000A_IF.v
new file mode 100644
index 0000000..3fd22e0
--- /dev/null
+++ b/DM9000A/hdl/DM9000A_IF.v
@@ -0,0 +1,85 @@
+module DM9000A_IF( // HOST Side
+ iDATA,
+ oDATA,
+ iCMD,
+ iRD_N,
+ iWR_N,
+ iCS_N,
+ iRST_N,
+ iCLK,
+ iOSC_50,
+ oINT,
+ // DM9000A Side
+ ENET_DATA,
+ ENET_CMD,
+ ENET_RD_N,
+ ENET_WR_N,
+ ENET_CS_N,
+ ENET_RST_N,
+ ENET_INT,
+ ENET_CLK );
+// HOST Side
+input [31:0] iDATA;
+input iCMD;
+input iRD_N;
+input iWR_N;
+input iCS_N;
+input iRST_N;
+input iCLK;
+input iOSC_50;
+output [31:0] oDATA;
+output oINT;
+// DM9000A Side
+inout [15:0] ENET_DATA;
+output ENET_CMD;
+output ENET_RD_N;
+output ENET_WR_N;
+output ENET_CS_N;
+output ENET_RST_N;
+output ENET_CLK;
+input ENET_INT;
+
+reg [15:0] TMP_DATA;
+reg ENET_CMD;
+reg ENET_RD_N;
+reg ENET_WR_N;
+reg ENET_CS_N;
+reg ENET_CLK;
+reg [31:0] oDATA;
+reg oINT;
+
+assign ENET_DATA = ENET_WR_N ? 16'hzzzz : TMP_DATA;
+
+always@(posedge iCLK or negedge iRST_N)
+begin
+ if(!iRST_N)
+ begin
+ TMP_DATA <= 0;
+ ENET_CMD <= 0;
+ ENET_RD_N <= 1;
+ ENET_WR_N <= 1;
+ ENET_CS_N <= 1;
+ oDATA <= 0;
+ oINT <= 0;
+ end
+ else
+ begin
+ oDATA <= ENET_DATA;
+ oINT <= ENET_INT;
+ TMP_DATA <= iDATA;
+ ENET_CMD <= iCMD;
+ ENET_CS_N <= iCS_N;
+ ENET_RD_N <= iRD_N;
+ ENET_WR_N <= iWR_N;
+ end
+end
+
+always@(posedge iOSC_50)
+ENET_CLK <= ~ENET_CLK;
+
+assign ENET_RST_N = iRST_N;
+
+endmodule
+
+
+