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:18:39 +0000 (12:18 +0800)
commit210ba91d588b55e37fc32a90777744a6729caeca
tree3bc5e6c18d1a8a6e7d1e88700c61bcc55f7e7fb8
parent07efe9d7b1a2a1f934a72b58db85370151bace6f
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