eth+ipv4prot: Fix protocol arbitration #18
@ -141,7 +141,10 @@ begin
|
|||||||
end if;
|
end if;
|
||||||
|
|
||||||
when TXD =>
|
when TXD =>
|
||||||
state <= IDLE when (not mac_in.tx_mac_data_en or not mac_out.tx_active);
|
if (not mac_in.tx_mac_data_en or not mac_out.tx_active) then
|
||||||
|
state <= IDLE;
|
||||||
|
sel <= SEL_ETH_I; -- To avoid arbitration errors, always select the highest priority one by default
|
||||||
|
end if;
|
||||||
end case;
|
end case;
|
||||||
end if;
|
end if;
|
||||||
end process arb;
|
end process arb;
|
||||||
|
@ -105,7 +105,10 @@ begin
|
|||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
when TXD =>
|
when TXD =>
|
||||||
state <= IDLE when (not ipv4_in.tx_en);
|
if not ipv4_in.tx_en then
|
||||||
|
state <= IDLE;
|
||||||
|
tx_sel <= ipv4_protocol_in'left; -- To avoid arbitration errors, always select the highest priority one by default
|
||||||
|
end if;
|
||||||
end case;
|
end case;
|
||||||
end if;
|
end if;
|
||||||
end process arb;
|
end process arb;
|
||||||
|
Loading…
Reference in New Issue
Block a user