Dm.uk wrote:Если честно то не знaю почему, но в Питерском ЕЕ меня не научили банальнейшему ответу на вопрос 1.а). Мне было несколько стыдно, когда позже сам разобрался (за пределами РФ) в физике вопроса ...
Судя по тому, что я раскопал в Сети, проблема согласования клоков - намного более фундаментальная, чем это снаскоку мне показалось. Кроме того, она относительно недавно более-менее исчерпывающим образом понята и описана - во всяком случае если судить по обилию исследовательской литературы датированной концом 80-х и 90-ми годами, не говоря уже о работам 2-3 летней давности. Видимо это и есть настоящая причина, почему в Питерском ЕЕ этому не учили - некому было по-человечески учить (полагая, что Вы получали образование до середины 90-х).
О проблеме метастабильных состояний и об истории вопроса довольно забавно напмисано уже даже в Wikipedia - вполне интересная статья с интересными ссылками содержится здесь:
Metastability in electronics. Особенно меня позабал вот этот фрагмент из статьи:
A common electronics industry job interview brings forth the description of a system that was supposed to be ready to ship but was found to have just a few difficult to isolate reliability issues or failing pixels moving through the video, about which the original design team is stumped. A review of the block diagram shows multiple subsystems each with their own clock source. Polite inquiry reveals nobody has political authority to ask for any of the clock sources to be designed out, much less the new hire. Such "metastability fall guy" positions should never be accepted.
А также очень уморительно смотрится вот эта фраза:
Remarkably, semiconductor engineers whose livelihood is based on the quantum mechanical realities often cannot grasp the Heisenberg concept of "not possible regardless of technique", and have "pet circuits" said to "solve" or "filter out" the metastability problem. Often they just shift the failure mode to somewhere more difficult to measure. Such claims should be taken with a grain of salt.
В итоге, вопрос 1.а - это просто в самую точку из тех самых вопросов, что я что я и искал: элементарно формулируемая но нетривиальная фундаментальная проблема, для правильного исчерпывающего решения которой нужно тщательно разбираться. Причём не в деталях, а именно в "физике" вопроса. Dm.uk - ещё раз спасибо - колитесь на другие такие же вопросы
Dm.uk wrote:btw, дык а кто даст правильный ответ и растолкует биохимию вопроса 1.б) ?
Видимо дело в том, что в случае 1.б ситуация усугублятеся ещё относительной взаимной нестабильностью отдельных бит данных перескающих границы доменов, поэтому нужно не только домены согласовывать, но и следить за тем, чтобы не прочитать по разным линиям значения, которые не имеют друг к другу никакого отношения, т.е. чтобы не прочитать слова "частично правильно" - все биты "правильные", однако "пришли" они из разных слов. Возможное решение - свести задачу к 1.б к 1.а: сериализовать слово, затем пропустить через однобитный согласователь домена, после чего обратно десериализовать.