Перейти к содержанию
    

Спасиб Огромное всем за рекомендации, мнения и ссылки! Спешел фор Sefo эта теорема с док-вом ..выводами и т.д и т.п Marino.rar (странно но почему-то файлик в 1мб не крепиться сюда, чуть меньше делаем уже всё оке..хм).

Ну всё равно, Господа,..хоть убейте меня...не было я никаких цепочек из триггеров и уж упоси Боже) триггер с выходной защелкой с триггером шмитта и т.д но всё прекрасно отрабатывает и в любых случаях происходит либо возврат, либо переключение состояния. Могу поделиться этим шедевром..может кто научит уму разуму чего я тут в упор не вижу :laughing: ...!

Изменено пользователем Маххх

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или сделать отдельную аналоговую схему, выделяющую те моменты, когда фронты пришли с нарушением Tsu/Th, и сообщающую об этом.

 

Выход аналоговой схемы куда подавать? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выход аналоговой схемы куда подавать? :biggrin:

Ну, допустим, на асинхронный сброс синхронизатора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос

Есть ли ссылки у кого по метастабильности(в идеале на русском)

и как с этим бороться

 

Проблема в следующем. у меня на входе 3 частоты, сморел осцилографом, вроде нормальные красивые

50Мгц 27Гц и еще строковая(не помню скока).

плис Spartan3

так вот через какое то время кадр сползает(верхний кадр внизу и наоборот, НО не по пол кадра, так треть к примеру и две трети). Сползаем сразу а не в процессе, а потом работаем стабильно с перевернутым кадром.

в общем мысль приходит грушить только на частоту.

есть ли еще какие нибудь "методы борьбы с частотами"?

Извините пожалуйста, а Вы уверены, что у Вас именно метастабильность? Может Вы просто где-то ошиблись при проектировании? (скажем когда распределяли функциональные узлы по тактовым регионам). Я делал FSM по обработке входных сигналов(возникающих случайно и с дребезгом) и познакомился с метастабильностью. Автомат попадал в ТАКИЕ состояния, в которые попасть не мог по коду теоретически. При этом повисал.(переставал реагировать на все входные воздействия). Дело было на V4FX. Вылечилось синхронизацией входных сигналов. ISE9.2 - Лампочка - VHDL-coding Examples-misk-Async input Sync output. Идея синхронизации заключается в том, чтобы разместить сдвиговый регистр в одном SLICE. Ваш случай больше похож на на ошибку обработки, поскольку пакеты, хоть и кривые но всетаки идут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, допустим, на асинхронный сброс синхронизатора.

 

На асинхронный? То есть пусть лучше метастабильность с аналоговой схемы лезет через асинхронный вход синхронизатора? ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На асинхронный? То есть пусть лучше метастабильность с аналоговой схемы лезет через асинхронный вход синхронизатора? ;)

Извините, но это бред какой-то. С аналоговой схемы лезет не метастабильность, а полноценный импульс, с длительностью, которая обеспечит на асинхронном входе выполнение требования по 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-триггер, показывающий, что случилось принудительное обнуление, и данные, если их там шина, могут быть недостоверны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вероятностью ошибки из-за распространения метастабильного состояния дальше второго синхронизирующего триггера.

 

Хорошо , можно ли мне тогда в домашних условия получить метастабильность на выходе второго синхронизирующего триггера?

Возможно следующими действиями:

1. Использовать комбинацию мощного триггера с низким быстродействием.

2. Увеличить частоту опроса триггера. Уменьшить длительность периода тактовой синхронизации, так уж чтобы данные наверняка попадали в окно метастабильности.

3. Может быть сделать входные сигналы более пологими?

 

У кого кие мысли есть по такому поводу?

Изменено пользователем Маххх

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У кого кие мысли есть по такому поводу?

Возьмите симулятор, например HSPICE, возьмите какую нить стандартную либу на 0.18 или 0.25, чтобы в ней был .CDL нетлист, возьмите спайсы от этой же технологии, и поиграйтесь с каким нибудь триггером из этой либы в симуляторе. Выясните для себя очень много полезного, и достаточно, чтобы перестать задавать такие вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пример такой схемы. Допустим имеем у синхронизатора Th 0.2 ns и Tsu 1 ns. Клок подается на одновибратор №1 с длительностью выходного импульса 0.3 ns, запускаемый фронтом. Данное подается на одновибратор №2 с длительностьтю 1.1 ns, но запускаемый и по фронту, и по спаду. Выходы одновибраторов объединяются по логическому И с гарантированным min_pulse 100ps. Выход элемента И поступает на триггер Шмитта, который убирает неполноценные импульсы в случае недостаточного пересечения импульсов на входе "И". Выход ТШ поступает на одновибратор №3, с запуском по фронту, с длительностью импульса, обеспечивающей соблюдение recovery, removal и min_pulse для асинхронного сброса синхронизатора.

 

Если бы все было так просто! :biggrin:

Тогда бы схемы, убирающие метастабильность, в каждый FPGA ставили.

Но не зря говорят что метастабильность нельзя убрать ничем - только ожиданием в течение достаточного временем для сваливания схемы из метастабильного состояния в устойчивое. А все доморощенные схемы на самом деле дырявые.

 

В Вашей схеме дырка следующая.

 

Предположим что одновибраторы идеально-реальные. То есть они запускаются мгновенно, но на их выходе формируются реальные сигналы с конечным ременем перехода. В таком случае если переход данных произошел за 1.1 нс до клока - то входной триггер переключтся без метастабильности. Но что произойдет со схемой его сброса? На выходе элемента И сформируется короткий импульс неполной амплитуды. Если эта амплитуда совпадет с верхним порогом триггера Шмидта - на его выходе тоже сформирутся короткий импульс неполной амплитуды. Попав на вход одновибратора №3 этот импульс запустит его в метастабильном состоянии. Попав на вход сброса входрного триггера, это метастабильное состояние входа сброса переведет его уже в метастабильное состояние. Цель не достигнута.

 

Велика ли вероятность такого события? Мала. Но и задержки немаленьке. А так как если вспомнить, что вроятность восстановления из метастабильного состояния не зависит от количества промежуточных триггеров, завися только от технологии и полного запаса времени на выход из метастабильного состояния - схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне.

 

:biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На выходе элемента И сформируется короткий импульс неполной амплитуды. Если эта амплитуда совпадет с верхним порогом триггера Шмидта - на его выходе тоже сформирутся короткий импульс неполной амплитуды. Попав на вход одновибратора №3 этот импульс запустит его в метастабильном состоянии.
Ну я все секреты такого блока тут открывать не буду :) Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна. Общая суть в выборе параметров мощности выхода элемента И, входной емкости ТШ, порогов и коэффициента передачи без ОС усилителя, на базе которого построен ТШ и входного порога третьего одновибратора. В результате ни при каких условиях того, что подается на входы элемента И (реальных сигналов, а не идеальных) на выходе ТШ не может быть такого сигнала, который бы некорректно запускал третий одновибратор.

 

Другой вопрос - что наверное задач таких раз-два и обчелся, где недопустимо по задержке поставить второй триггер, вот в FPGA и не делают таких блоков. А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности.

 

схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне.

В том и суть схемы, что она не дает никакой задержки по анализируемой ей цепи. Это просто детектор, выдающий сигнал о том, что вероятно метастабильное состояние у синхронизатора. Площадь блока составляет примерно 45 гейтов, что обычно можно себе позволить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна.

 

Если Вы думаете что дела идут хорошо - значит Вы что-то не заметили. :biggrin:

 

Принципиально невозможно перевести сигналы из аналогового домена в цифровой без ненулевой вероятности метастабильности. Такой переходник - это всегда аналоговая система, описываемая нелинейным дифуром и обрабатывающая входные аналоговые сигналы. Цель - получить на выходе устойчивое логическое состояние. При этом схема непрервыно отображает пространство входного сигнала в (аналоговое) пространство выходного, и в этом выходном пространстве есть непересекающиеся области "устойчивый 0" и "устойчивая 1". При этом пространство входных сигналов разбивается на области, которые переводят выход схемы в 1 и 0. Если взять две точки на входе, лежащие в разных областях - точки отображения будут лежать в разных выходных областях. Если на входе их соединить непрерывной кривой, непрерывно изменяя параметры входного сигнала - он отобразится в непрерывную кривую в выходном пространстве. Эта кривая будет пересекать границу между 0 и 1, в которой находится зона метастабльности. Осталось рассмотреть, при каких параметрах входного сигнала это происходит ;)

 

А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности.

 

No comments.

:laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы думаете что дела идут хорошо - значит Вы что-то не заметили. :biggrin:

Если Вы хотите обманными путями вытянуть из меня модель этой схемы, то у Вас это не получится :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы хотите обманными путями вытянуть из меня модель этой схемы, то у Вас это не получится :biggrin:

 

Я Вам только что привел "Теорему Олдринга о неизбежности метастабильности". Хотите - опровергайте. :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и в этом выходном пространстве есть непересекающиеся области "устойчивый 0" и "устойчивая 1".

И именно на том, что область неустойчивости (то, что между областями устойчивых 1 и 0) у одновибратора находится внутри области гарантированного перехода у триггера Шмитта (что означает, что если его выходной уже сигнал зашел в эту область, то при условии незначительного изменения входного сигнала ТШ он обязательно пересечет ее целиком), и построена эта часть узла. А незначительность изменения гарантируется емкостью входа триггера и мощностью выхода И.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И именно на том, что область неустойчивости (то, что между областями устойчивых 1 и 0) у одновибратора находится внутри области гарантированного перехода у триггера Шмитта (что означает, что если его выходной сигнал зашел в эту область, то при условии незначительного изменения входного сигнала ТШ он обязательно пересечет ее целиком), и построена эта часть узла.

 

Теорема Олдринга о неизбежности метастабильности равным образом применима и к триггерам Шмидта ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...