mirror of
https://github.com/fpganinja/taxi.git
synced 2026-08-09 17:01:27 -07:00
eth: Fix 1000BASE-X AN match logic
Signed-off-by: Alex Forencich <alex@alexforencich.com>
This commit is contained in:
@@ -683,7 +683,7 @@ always_ff @(posedge clk) begin
|
||||
if (AN_EN && input_c_d0_reg) begin
|
||||
rx_an_cfg_reg <= encoded_rx_data;
|
||||
rx_an_cfg_valid_reg <= encoded_rx_data_k == 2'b00;
|
||||
if (((rx_an_cfg_reg ^ encoded_rx_data) & 16'h4000) == 0) begin
|
||||
if (((rx_an_cfg_reg ^ encoded_rx_data) & ~16'h4000) == 0) begin
|
||||
an_ability_match_reg <= {an_ability_match_reg[0], 1'b1};
|
||||
end else begin
|
||||
an_ability_match_reg <= '0;
|
||||
|
||||
@@ -550,7 +550,7 @@ always_ff @(posedge clk) begin
|
||||
if (AN_EN && input_c_d1_reg) begin
|
||||
rx_an_cfg_reg[15:8] <= encoded_rx_data;
|
||||
rx_an_cfg_valid_reg <= encoded_rx_data_k == 1'b0;
|
||||
if (an_cfg_match_reg && ((rx_an_cfg_reg[15:8] ^ encoded_rx_data) & 8'h40) == 0) begin
|
||||
if (an_cfg_match_reg && ((rx_an_cfg_reg[15:8] ^ encoded_rx_data) & ~8'h40) == 0) begin
|
||||
an_ability_match_reg <= {an_ability_match_reg[0], 1'b1};
|
||||
end else begin
|
||||
an_ability_match_reg <= '0;
|
||||
|
||||
@@ -210,13 +210,13 @@ always_comb begin
|
||||
c_cyc = 1'b1;
|
||||
end else if (AN_EN && c_cyc) begin
|
||||
if (!odd_cyc) begin
|
||||
rx_an_cfg_next[7:0] = encoded_rx_data[seg*8 +: 8];
|
||||
an_cfg_match_next = rx_an_cfg_next[7:0] == encoded_rx_data[seg*8 +: 8];
|
||||
rx_an_cfg_next[7:0] = encoded_rx_data[seg*8 +: 8];
|
||||
an_idle_match_next = '0;
|
||||
end else begin
|
||||
rx_an_cfg_next[15:8] = encoded_rx_data[seg*8 +: 8];
|
||||
rx_an_cfg_valid_next = 1'b1;
|
||||
if (an_cfg_match_next && ((rx_an_cfg_next[15:8] ^ encoded_rx_data[seg*8 +: 8]) & 8'h40) == 0) begin
|
||||
if (an_cfg_match_next && ((rx_an_cfg_next[15:8] ^ encoded_rx_data[seg*8 +: 8]) & ~8'h40) == 0) begin
|
||||
an_ability_match_next = {an_ability_match_next[0], 1'b1};
|
||||
end else begin
|
||||
an_ability_match_next = '0;
|
||||
|
||||
Reference in New Issue
Block a user