My multiplexer process is declared process(a, b) and contains if sel = '0' then y <= a; else y <= b; end if;. In simulation y does not change when only sel changes, but the synthesised design on the board switches correctly, and the tool printed a warning about sel being read but missing from the sensitivity list. For clocked processes I have seen both process(clk) and process(clk, rst).
What are the rules for the sensitivity list in combinational and clocked processes?




