migen/genlib/cdc: fix BusSynchronizer
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Thu, 17 Sep 2015 21:16:03 +0000 (23:16 +0200)
committerSebastien Bourdeauducq <sb@m-labs.hk>
Sat, 19 Sep 2015 04:21:54 +0000 (12:21 +0800)
commit563231fdfb437b31beb7e8c498e24de154473e5d
tree785466cee1e5cf204dee4de556283e8377ac4a30
parentbfcc8f96616d4bfc379b59997e3de93cd9136936
migen/genlib/cdc: fix BusSynchronizer

ping/pong token can be lost when:
- source clock domain starts before destination clock domain.
- a clock domain stops.

This fix add a timeout to detect such situation and create another token.
migen/genlib/cdc.py