summaryrefslogtreecommitdiff
path: root/usrp2/fpga/eth/rtl/verilog/MAC_tx
diff options
context:
space:
mode:
authormatt2009-02-26 04:42:33 +0000
committermatt2009-02-26 04:42:33 +0000
commit8c0095f191a8db3994d7f6f6b49b868d1a49743b (patch)
tree70d6eedeee2f6e7731f9ae55132b0f0f67627de3 /usrp2/fpga/eth/rtl/verilog/MAC_tx
parent877bb0fb32b188f0eb7a697ace229d04653eff58 (diff)
downloadgnuradio-8c0095f191a8db3994d7f6f6b49b868d1a49743b.tar.gz
gnuradio-8c0095f191a8db3994d7f6f6b49b868d1a49743b.tar.bz2
gnuradio-8c0095f191a8db3994d7f6f6b49b868d1a49743b.zip
timing fix, delays the ethernet flow control by a cycle to get it across the chip. Seems ok in testing.
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@10523 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'usrp2/fpga/eth/rtl/verilog/MAC_tx')
-rw-r--r--usrp2/fpga/eth/rtl/verilog/MAC_tx/MAC_tx_ctrl.v10
1 files changed, 9 insertions, 1 deletions
diff --git a/usrp2/fpga/eth/rtl/verilog/MAC_tx/MAC_tx_ctrl.v b/usrp2/fpga/eth/rtl/verilog/MAC_tx/MAC_tx_ctrl.v
index 0fd7c603e..8da2e253c 100644
--- a/usrp2/fpga/eth/rtl/verilog/MAC_tx/MAC_tx_ctrl.v
+++ b/usrp2/fpga/eth/rtl/verilog/MAC_tx/MAC_tx_ctrl.v
@@ -627,7 +627,15 @@ always @ (posedge Clk or posedge Reset)
pause_quanta_sub <=0;
// FIXME The below probably won't work if the pause request comes when we are in the wrong state
- wire clear_xonxoff = (Current_state==StateSendPauseFrame) & (IPLengthCounter==17);
+ reg clear_xonxoff;
+ always @(posedge Clk or posedge Reset)
+ if(Reset)
+ clear_xonxoff <= 0;
+ else if((Current_state==StateSendPauseFrame) & (IPLengthCounter==17))
+ clear_xonxoff <= 1;
+ else if(~xon_gen & ~xoff_gen)
+ clear_xonxoff <= 0;
+
always @ (posedge Clk or posedge Reset)
if (Reset)
xoff_gen_complete <=0;