Welcome to our site! EDAboard.com is an international Electronic Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
The best way to avoid hazards is to keep your design fully synchronous.
And introduce asynchronous signals only if you hardly need it. To avoid glitches in asynchronous part you could try to align paths of concurrent signals in such a way, that they will reach the hazardous gate at the same time. Or, you could try to change your design to avoid hazards on functional level. The excellent tutorial on this topic is available here:
But keep in mind that all this stuff will work ONLY if one signal could be changed at the same time. Otherwise, even the simple AND (OR) gate will produce the glitch when you change its inputs from 01 to 10.
If u can access some patent database. Search the keywork de-glitch circuits, i found there are many patent about de-glitch b4.
Here's someone's crazy way to reduce the glitch ,
1. assume the layout trace to the input is unknow and probaly to be distributed as random values between the signal paths.
2. assume the glitchs are also random distribute around the clock edge.
Then we know the theory that the correlation between random variable
is zero. So u may operate the glicth signals several time under some
boolean operator. So the random op random would make the result toward zero. That reduce glitchs less or more .