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)
 | 
