diff options
author | matt <matt@221aa14e-8319-0410-a670-987f0aec2ac5> | 2009-04-02 21:18:41 +0000 |
---|---|---|
committer | matt <matt@221aa14e-8319-0410-a670-987f0aec2ac5> | 2009-04-02 21:18:41 +0000 |
commit | 312b6d0bbdd0a61156d32cb2e9dcbc3f98389f49 (patch) | |
tree | 5d24480afead048cedbce838fc3d756155abd573 /eth/rtl/verilog/flow_ctrl_rx.v | |
parent | 89f493c9fda0ffa73f644823d37e54f5c040c323 (diff) | |
download | uhd-312b6d0bbdd0a61156d32cb2e9dcbc3f98389f49.tar.gz uhd-312b6d0bbdd0a61156d32cb2e9dcbc3f98389f49.tar.bz2 uhd-312b6d0bbdd0a61156d32cb2e9dcbc3f98389f49.zip |
Fix for fifo overruns on eth rx in full duplex. Now send re-pause long before pause is done. Reenabled RMON for the time being
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10746 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'eth/rtl/verilog/flow_ctrl_rx.v')
-rw-r--r-- | eth/rtl/verilog/flow_ctrl_rx.v | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/eth/rtl/verilog/flow_ctrl_rx.v b/eth/rtl/verilog/flow_ctrl_rx.v index 7ded9e08b..6654c626b 100644 --- a/eth/rtl/verilog/flow_ctrl_rx.v +++ b/eth/rtl/verilog/flow_ctrl_rx.v @@ -8,6 +8,7 @@ module flow_ctrl_rx input [15:0] pause_quanta_set,
input [15:0] fc_hwmark,
input [15:0] fc_lwmark,
+ input [15:0] fc_padtime,
// From MAC_rx_ctrl
input rx_clk,
input [15:0] rx_fifo_space,
@@ -70,13 +71,13 @@ module flow_ctrl_rx else if (xon_int | xon_int_d1)
xon_gen <=1;
- wire [15:0] pq_reduced = pause_quanta_set - 2;
+ wire [21:0] pq_reduced = {pause_quanta_set,6'd0} - {6'd0,fc_padtime};
always @(posedge tx_clk or posedge rst)
if(rst)
countdown <= 0;
else if(xoff_gen)
- countdown <= {pq_reduced,6'd0};
+ countdown <= pq_reduced;
else if(xon_gen)
countdown <= 0;
else if(countdown != 0)
|