maxxx54 0 28 мая, 2009 Опубликовано 28 мая, 2009 (изменено) · Жалоба Спасиб Огромное всем за рекомендации, мнения и ссылки! Спешел фор Sefo эта теорема с док-вом ..выводами и т.д и т.п Marino.rar (странно но почему-то файлик в 1мб не крепиться сюда, чуть меньше делаем уже всё оке..хм). Ну всё равно, Господа,..хоть убейте меня...не было я никаких цепочек из триггеров и уж упоси Боже) триггер с выходной защелкой с триггером шмитта и т.д но всё прекрасно отрабатывает и в любых случаях происходит либо возврат, либо переключение состояния. Могу поделиться этим шедевром..может кто научит уму разуму чего я тут в упор не вижу :laughing: ...! Изменено 28 мая, 2009 пользователем Маххх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Или сделать отдельную аналоговую схему, выделяющую те моменты, когда фронты пришли с нарушением Tsu/Th, и сообщающую об этом. Выход аналоговой схемы куда подавать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Выход аналоговой схемы куда подавать? Ну, допустим, на асинхронный сброс синхронизатора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tolik1 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Вопрос Есть ли ссылки у кого по метастабильности(в идеале на русском) и как с этим бороться Проблема в следующем. у меня на входе 3 частоты, сморел осцилографом, вроде нормальные красивые 50Мгц 27Гц и еще строковая(не помню скока). плис Spartan3 так вот через какое то время кадр сползает(верхний кадр внизу и наоборот, НО не по пол кадра, так треть к примеру и две трети). Сползаем сразу а не в процессе, а потом работаем стабильно с перевернутым кадром. в общем мысль приходит грушить только на частоту. есть ли еще какие нибудь "методы борьбы с частотами"? Извините пожалуйста, а Вы уверены, что у Вас именно метастабильность? Может Вы просто где-то ошиблись при проектировании? (скажем когда распределяли функциональные узлы по тактовым регионам). Я делал FSM по обработке входных сигналов(возникающих случайно и с дребезгом) и познакомился с метастабильностью. Автомат попадал в ТАКИЕ состояния, в которые попасть не мог по коду теоретически. При этом повисал.(переставал реагировать на все входные воздействия). Дело было на V4FX. Вылечилось синхронизацией входных сигналов. ISE9.2 - Лампочка - VHDL-coding Examples-misk-Async input Sync output. Идея синхронизации заключается в том, чтобы разместить сдвиговый регистр в одном SLICE. Ваш случай больше похож на на ошибку обработки, поскольку пакеты, хоть и кривые но всетаки идут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Ну, допустим, на асинхронный сброс синхронизатора. На асинхронный? То есть пусть лучше метастабильность с аналоговой схемы лезет через асинхронный вход синхронизатора? ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба На асинхронный? То есть пусть лучше метастабильность с аналоговой схемы лезет через асинхронный вход синхронизатора? ;) Извините, но это бред какой-то. С аналоговой схемы лезет не метастабильность, а полноценный импульс, с длительностью, которая обеспечит на асинхронном входе выполнение требования по recovery/removal и min_pulse. В результате чего при опасности метастабильности триггер будет гарантировано жестко в нуле и гарантировано в метастабильность не попадет. Пример такой схемы. Допустим имеем у синхронизатора Th 0.2 ns и Tsu 1 ns. Клок подается на одновибратор №1 с длительностью выходного импульса 0.3 ns, запускаемый фронтом. Данное подается на одновибратор №2 с длительностьтю 1.1 ns, но запускаемый и по фронту, и по спаду. Выходы одновибраторов объединяются по логическому И с гарантированным min_pulse 100ps. Выход элемента И поступает на триггер Шмитта, который убирает неполноценные импульсы в случае недостаточного пересечения импульсов на входе "И". Выход ТШ поступает на одновибратор №3, с запуском по фронту, с длительностью импульса, обеспечивающей соблюдение recovery, removal и min_pulse для асинхронного сброса синхронизатора. Заодно этим сигналом можно взвести RS-триггер, показывающий, что случилось принудительное обнуление, и данные, если их там шина, могут быть недостоверны. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
maxxx54 0 28 мая, 2009 Опубликовано 28 мая, 2009 (изменено) · Жалоба вероятностью ошибки из-за распространения метастабильного состояния дальше второго синхронизирующего триггера. Хорошо , можно ли мне тогда в домашних условия получить метастабильность на выходе второго синхронизирующего триггера? Возможно следующими действиями: 1. Использовать комбинацию мощного триггера с низким быстродействием. 2. Увеличить частоту опроса триггера. Уменьшить длительность периода тактовой синхронизации, так уж чтобы данные наверняка попадали в окно метастабильности. 3. Может быть сделать входные сигналы более пологими? У кого кие мысли есть по такому поводу? Изменено 28 мая, 2009 пользователем Маххх Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба У кого кие мысли есть по такому поводу? Возьмите симулятор, например HSPICE, возьмите какую нить стандартную либу на 0.18 или 0.25, чтобы в ней был .CDL нетлист, возьмите спайсы от этой же технологии, и поиграйтесь с каким нибудь триггером из этой либы в симуляторе. Выясните для себя очень много полезного, и достаточно, чтобы перестать задавать такие вопросы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Пример такой схемы. Допустим имеем у синхронизатора Th 0.2 ns и Tsu 1 ns. Клок подается на одновибратор №1 с длительностью выходного импульса 0.3 ns, запускаемый фронтом. Данное подается на одновибратор №2 с длительностьтю 1.1 ns, но запускаемый и по фронту, и по спаду. Выходы одновибраторов объединяются по логическому И с гарантированным min_pulse 100ps. Выход элемента И поступает на триггер Шмитта, который убирает неполноценные импульсы в случае недостаточного пересечения импульсов на входе "И". Выход ТШ поступает на одновибратор №3, с запуском по фронту, с длительностью импульса, обеспечивающей соблюдение recovery, removal и min_pulse для асинхронного сброса синхронизатора. Если бы все было так просто! Тогда бы схемы, убирающие метастабильность, в каждый FPGA ставили. Но не зря говорят что метастабильность нельзя убрать ничем - только ожиданием в течение достаточного временем для сваливания схемы из метастабильного состояния в устойчивое. А все доморощенные схемы на самом деле дырявые. В Вашей схеме дырка следующая. Предположим что одновибраторы идеально-реальные. То есть они запускаются мгновенно, но на их выходе формируются реальные сигналы с конечным ременем перехода. В таком случае если переход данных произошел за 1.1 нс до клока - то входной триггер переключтся без метастабильности. Но что произойдет со схемой его сброса? На выходе элемента И сформируется короткий импульс неполной амплитуды. Если эта амплитуда совпадет с верхним порогом триггера Шмидта - на его выходе тоже сформирутся короткий импульс неполной амплитуды. Попав на вход одновибратора №3 этот импульс запустит его в метастабильном состоянии. Попав на вход сброса входрного триггера, это метастабильное состояние входа сброса переведет его уже в метастабильное состояние. Цель не достигнута. Велика ли вероятность такого события? Мала. Но и задержки немаленьке. А так как если вспомнить, что вроятность восстановления из метастабильного состояния не зависит от количества промежуточных триггеров, завися только от технологии и полного запаса времени на выход из метастабильного состояния - схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба На выходе элемента И сформируется короткий импульс неполной амплитуды. Если эта амплитуда совпадет с верхним порогом триггера Шмидта - на его выходе тоже сформирутся короткий импульс неполной амплитуды. Попав на вход одновибратора №3 этот импульс запустит его в метастабильном состоянии. Ну я все секреты такого блока тут открывать не буду :) Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна. Общая суть в выборе параметров мощности выхода элемента И, входной емкости ТШ, порогов и коэффициента передачи без ОС усилителя, на базе которого построен ТШ и входного порога третьего одновибратора. В результате ни при каких условиях того, что подается на входы элемента И (реальных сигналов, а не идеальных) на выходе ТШ не может быть такого сигнала, который бы некорректно запускал третий одновибратор. Другой вопрос - что наверное задач таких раз-два и обчелся, где недопустимо по задержке поставить второй триггер, вот в FPGA и не делают таких блоков. А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности. схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне. В том и суть схемы, что она не дает никакой задержки по анализируемой ей цепи. Это просто детектор, выдающий сигнал о том, что вероятно метастабильное состояние у синхронизатора. Площадь блока составляет примерно 45 гейтов, что обычно можно себе позволить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна. Если Вы думаете что дела идут хорошо - значит Вы что-то не заметили. Принципиально невозможно перевести сигналы из аналогового домена в цифровой без ненулевой вероятности метастабильности. Такой переходник - это всегда аналоговая система, описываемая нелинейным дифуром и обрабатывающая входные аналоговые сигналы. Цель - получить на выходе устойчивое логическое состояние. При этом схема непрервыно отображает пространство входного сигнала в (аналоговое) пространство выходного, и в этом выходном пространстве есть непересекающиеся области "устойчивый 0" и "устойчивая 1". При этом пространство входных сигналов разбивается на области, которые переводят выход схемы в 1 и 0. Если взять две точки на входе, лежащие в разных областях - точки отображения будут лежать в разных выходных областях. Если на входе их соединить непрерывной кривой, непрерывно изменяя параметры входного сигнала - он отобразится в непрерывную кривую в выходном пространстве. Эта кривая будет пересекать границу между 0 и 1, в которой находится зона метастабльности. Осталось рассмотреть, при каких параметрах входного сигнала это происходит ;) А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности. No comments. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Если Вы думаете что дела идут хорошо - значит Вы что-то не заметили. Если Вы хотите обманными путями вытянуть из меня модель этой схемы, то у Вас это не получится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба Если Вы хотите обманными путями вытянуть из меня модель этой схемы, то у Вас это не получится Я Вам только что привел "Теорему Олдринга о неизбежности метастабильности". Хотите - опровергайте. :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба и в этом выходном пространстве есть непересекающиеся области "устойчивый 0" и "устойчивая 1". И именно на том, что область неустойчивости (то, что между областями устойчивых 1 и 0) у одновибратора находится внутри области гарантированного перехода у триггера Шмитта (что означает, что если его выходной уже сигнал зашел в эту область, то при условии незначительного изменения входного сигнала ТШ он обязательно пересечет ее целиком), и построена эта часть узла. А незначительность изменения гарантируется емкостью входа триггера и мощностью выхода И. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 28 мая, 2009 Опубликовано 28 мая, 2009 · Жалоба И именно на том, что область неустойчивости (то, что между областями устойчивых 1 и 0) у одновибратора находится внутри области гарантированного перехода у триггера Шмитта (что означает, что если его выходной сигнал зашел в эту область, то при условии незначительного изменения входного сигнала ТШ он обязательно пересечет ее целиком), и построена эта часть узла. Теорема Олдринга о неизбежности метастабильности равным образом применима и к триггерам Шмидта ;) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться