axis_mii_tx: Simplify backoff
We only care about backoff when state=BACKOFF. We can simplify the calculation by defaulting to loading lfsr into backoff, and special casing things for state=BACKOFF. Signed-off-by: Sean Anderson <seanga2@gmail.com>
This commit is contained in:
parent
19f2f656cd
commit
aba4fb10c2
|
@ -197,8 +197,20 @@ module axis_mii_tx (
|
||||||
if (do_crc)
|
if (do_crc)
|
||||||
crc_state_next = crc_state_out;
|
crc_state_next = crc_state_out;
|
||||||
|
|
||||||
backoff_next = backoff;
|
|
||||||
lfsr_next = { lfsr[8:0], lfsr[9] ^ lfsr[6] };
|
lfsr_next = { lfsr[8:0], lfsr[9] ^ lfsr[6] };
|
||||||
|
case (retries)
|
||||||
|
15: backoff_next = lfsr[ 0];
|
||||||
|
14: backoff_next = lfsr[1:0];
|
||||||
|
13: backoff_next = lfsr[2:0];
|
||||||
|
12: backoff_next = lfsr[3:0];
|
||||||
|
11: backoff_next = lfsr[4:0];
|
||||||
|
10: backoff_next = lfsr[5:0];
|
||||||
|
9: backoff_next = lfsr[6:0];
|
||||||
|
8: backoff_next = lfsr[7:0];
|
||||||
|
7: backoff_next = lfsr[8:0];
|
||||||
|
6, 5, 4, 3, 2, 1, 0:
|
||||||
|
backoff_next = lfsr[9:0];
|
||||||
|
endcase
|
||||||
|
|
||||||
odd_next = odd ^ mii_tx_ce_next;
|
odd_next = odd ^ mii_tx_ce_next;
|
||||||
mii_tx_en_next = mii_tx_en;
|
mii_tx_en_next = mii_tx_en;
|
||||||
|
@ -421,19 +433,6 @@ module axis_mii_tx (
|
||||||
state_counter_next = 0;
|
state_counter_next = 0;
|
||||||
replay_next = 1;
|
replay_next = 1;
|
||||||
retries_next = retries - 1;
|
retries_next = retries - 1;
|
||||||
case (retries)
|
|
||||||
15: backoff_next = lfsr[ 0];
|
|
||||||
14: backoff_next = lfsr[1:0];
|
|
||||||
13: backoff_next = lfsr[2:0];
|
|
||||||
12: backoff_next = lfsr[3:0];
|
|
||||||
11: backoff_next = lfsr[4:0];
|
|
||||||
10: backoff_next = lfsr[5:0];
|
|
||||||
9: backoff_next = lfsr[6:0];
|
|
||||||
8: backoff_next = lfsr[7:0];
|
|
||||||
7: backoff_next = lfsr[8:0];
|
|
||||||
6, 5, 4, 3, 2, 1, 0:
|
|
||||||
backoff_next = lfsr[9:0];
|
|
||||||
endcase
|
|
||||||
end else begin
|
end else begin
|
||||||
state_counter_next = IPG_BYTES - 1;
|
state_counter_next = IPG_BYTES - 1;
|
||||||
if (state == JAM_FAIL) begin
|
if (state == JAM_FAIL) begin
|
||||||
|
@ -462,6 +461,7 @@ module axis_mii_tx (
|
||||||
mii_tx_en_next = 0;
|
mii_tx_en_next = 0;
|
||||||
end
|
end
|
||||||
BACKOFF: begin
|
BACKOFF: begin
|
||||||
|
backoff_next = backoff;
|
||||||
if (mii_tx_ce_next && odd) begin
|
if (mii_tx_ce_next && odd) begin
|
||||||
mii_tx_en_next = 0;
|
mii_tx_en_next = 0;
|
||||||
if (!state_counter) begin
|
if (!state_counter) begin
|
||||||
|
|
Loading…
Reference in New Issue