From cbbdbeef1c51aad9f0298564b1c1ef59dbec975f Mon Sep 17 00:00:00 2001 From: Sean Anderson Date: Wed, 24 Aug 2022 12:10:52 -0400 Subject: [PATCH] pcs: Assert CRS after TX_EN sooner 24.6.1 requires that CRS goes high fewer than 4 cycles after TX_EN goes high. This means we need to assert tx when we enter then START_J state, not when we actually transmit a /J/. This also has the upside of simplifying the logic a bit. Signed-off-by: Sean Anderson --- rtl/pcs.v | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rtl/pcs.v b/rtl/pcs.v index 144d521..4f75c97 100644 --- a/rtl/pcs.v +++ b/rtl/pcs.v @@ -166,6 +166,7 @@ module pcs_tx ( code_next = `CODE_I; state_next = IDLE; if (enable) begin + tx_next = 1; if (err) state_next = ERROR_J; else @@ -173,7 +174,6 @@ module pcs_tx ( end end START_J: begin - tx_next = 1; code_next = `CODE_J; if (err) state_next = ERROR_K; @@ -184,7 +184,6 @@ module pcs_tx ( code_next = `CODE_K; end ERROR_J: begin - tx_next = 1; code_next = `CODE_J; state_next = ERROR_K; end