Forum Discussion
Altera_Forum
Honored Contributor
12 years agoUART and MODELSIM ALTERA (code attached)
Hi dears. I am trying to use a (slightly) modified version of the UART explained in a tutorial I've found, after reading some theory about. There is one UART entity which has two c...
Altera_Forum
Honored Contributor
12 years agoYou need to double register these 2 inputs using the 50MHz clock to prevent metastable events.
if serial_rx or rd have a rising edge the same time the 50mhz clock has a rising edge, then any registers sampling these signals will go meta stable, and so any other register may read it as 0 or 1 (depending on voltages). Using a double register prevents metastability, because the 2nd register will force and output of 0 or 1, and never meta-stable state. You need this double register synchroniser or your internal logic may have meta-stable events.