Two-stage Synchronizer, Filter, and Edge Detector

The truth table output is a combinatorial function of the inputs. This may cause some short glitches when the inputs change value. These glitches may not cause any problems, but if the LUT output is set to trigger an event, used as input on a timer or similar, an unwanted glitch may trigger unwanted events and peripheral action. Removing these glitches by clocking through filters, the user will only get the intended output.