Forum Discussion
Reza5
New Contributor
2 years agoHi,
Timing Analyzer shows some violation in UART section. This might be the problem.
As I am new to Intel FPGA, could you please clarify what is meant by "synchronized correctly before entering your logic"?
Thanks,
- FvM2 years ago
Super Contributor
Hi, processing RxD is a good example for need of
synchronization. Falling edge of start bit will usually affect more than one register bit. If the edge occurs near to active UART clock edge, there's a good change that some registers see start bit at one clock and others at the next, causing unexpected and possibly even unrecoverable states. You don't need metastability to achieve this, just normal clock and signal delay skew. The solution is to synchronize all foreign signals like RxD with a 2 or 3 register chain. One register is good to get rid of 99.9 % of failures, the others are needed to fight metastability.