eth+ipv4prot: Fix protocol arbitration #18

Open
markus wants to merge 1 commits from fix/prot_muxing into master
2 changed files with 8 additions and 2 deletions

View File

@ -141,7 +141,10 @@ begin
end if;
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 if;
end process arb;

View File

@ -105,7 +105,10 @@ begin
end loop;
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 if;
end process arb;