Поделюсь одной мыслью, которую нахожу жутко умной

Пересечение границы независимых клоковых доменов всегда рискованное мероприятние. Вероятность неприятных последствий можно лишь снизить до допустимого уровня, но нельзя устранить совсем. Защита от метастабильных состояний всегда требует времени на прохождение последовательных регистров - часто вижу синхронизаторы на 2-3 такта, но для надежности можно и больше!
А что если по опасному пути передавать не всю широкую шину с полезными данными, а только информацию о соотношении клоков? Именно так делают в асинхронных FIFO. Полезные данные безопасно читаются из памяти по адресам, которые достаточно давно не менялись и не меняются, а информация о "клоке", то есть, о фактах записи и чтения, передается в коде Грея и защитные регистры - это указатель с противоположного конца.
Путь простого человека, не обремененного заботой о низкой задержке данных-
применить готовое dual clock FIFO.
Сложный путь - развить идею FIFO на сам клок.
При сохранении вероятности сбоя такой вариант даст выигрыш тех самых 2-3 тактов и позволит снижать вероятность сбоя не повышая задержку данных.
Это возможно, если поведение клоков можно предсказать на время прохождения информации через синхронизирующие регистры. Еще одно условие - плохие данные можно догнать и придушить, если клок "дрыгнется" когда нельзя.
Например, клоки периодические и данные сначала как-то обрабатываются пока идет синхронизация информации о фазе в момент захвата, а на "исполнительные механизмы" поступают когда уже известно, что нарушения времянок не было.
Как это выглядит? Это может быть блок, который выдает разрешение для захвата сигналов с шины на данном такте или даже два разрешения - DDR. Наличие активного уровня на выходе означает, что на данном такте чтение безопасно.
В качестве исходных данных этот блок получает некий сигнал с той стороны клокового домена, например, инвертируемый противоположным клоком регистр. Наблюдаемый с этой стороны стробоскопический эффект позволяет синхронизировать и подстраивать счетчики для предсказания фазы, учитывая задержку вызванную синхронизирующей (глосующей) схемой.
Можно и в другую сторону - записывать данные только когда это безопасно с точки зрения читающей стороны.