summaryrefslogtreecommitdiff
path: root/usrp2/fpga/simple_gemac/simple_gemac.v
diff options
context:
space:
mode:
authorMatt Ettus2009-09-04 22:23:27 -0700
committerMatt Ettus2009-09-04 22:23:27 -0700
commit9e05f0770b92f9c85f09e3629f875011e8f1ac24 (patch)
tree1c7c39e97bd582b17da7a1c31624cf14ab0830e4 /usrp2/fpga/simple_gemac/simple_gemac.v
parent7ab7f93a1d7eecc873155026ea06d70d2d2b2846 (diff)
downloadgnuradio-9e05f0770b92f9c85f09e3629f875011e8f1ac24.tar.gz
gnuradio-9e05f0770b92f9c85f09e3629f875011e8f1ac24.tar.bz2
gnuradio-9e05f0770b92f9c85f09e3629f875011e8f1ac24.zip
Implement Eth flow control using pause frames
Not fully tested, but it seems to work without frame errors, sequence number errors or ethernet overruns. Still of course will get tx underruns on a slow machine, and the transmitted signal has some issues though.
Diffstat (limited to 'usrp2/fpga/simple_gemac/simple_gemac.v')
-rw-r--r--usrp2/fpga/simple_gemac/simple_gemac.v6
1 files changed, 3 insertions, 3 deletions
diff --git a/usrp2/fpga/simple_gemac/simple_gemac.v b/usrp2/fpga/simple_gemac/simple_gemac.v
index 5ec2fa2ba..868a66819 100644
--- a/usrp2/fpga/simple_gemac/simple_gemac.v
+++ b/usrp2/fpga/simple_gemac/simple_gemac.v
@@ -6,7 +6,7 @@ module simple_gemac
input GMII_RX_CLK, input GMII_RX_DV, input GMII_RX_ER, input [7:0] GMII_RXD,
// Flow Control Interface
- input pause_req, input [15:0] pause_time, input pause_en,
+ input pause_req, input [15:0] pause_time_req, input pause_respect_en,
// Settings
input [47:0] ucast_addr, input [47:0] mcast_addr,
@@ -33,7 +33,7 @@ module simple_gemac
.GMII_TX_ER(GMII_TX_ER), .GMII_TXD(GMII_TXD),
.tx_clk(tx_clk), .tx_data(tx_data), .tx_valid(tx_valid), .tx_error(tx_error), .tx_ack(tx_ack),
.ifg(SGE_IFG), .mac_addr(ucast_addr),
- .pause_req(pause_req), .pause_time(pause_time), // We request flow control
+ .pause_req(pause_req), .pause_time(pause_time_req), // We request flow control
.pause_apply(pause_apply), .paused(paused) // We respect flow control
);
@@ -50,7 +50,7 @@ module simple_gemac
flow_ctrl_tx flow_ctrl_tx
(.rst(rst_txclk), .tx_clk(tx_clk),
- .tx_pause_en(pause_en),
+ .tx_pause_en(pause_respect_en),
.pause_quanta(pause_quanta_rcvd), // 16 bit value
.pause_quanta_val(pause_rcvd),
.pause_apply(pause_apply),