|
|
  |
метастабильность |
|
|
|
May 28 2009, 06:39
|
Группа: Новичок
Сообщений: 12
Регистрация: 27-05-09
Пользователь №: 49 639

|
Спасиб Огромное всем за рекомендации, мнения и ссылки! Спешел фор Sefo эта теорема с док-вом ..выводами и т.д и т.п
Marino.rar ( 996.84 килобайт )
Кол-во скачиваний: 266 (странно но почему-то файлик в 1мб не крепиться сюда, чуть меньше делаем уже всё оке..хм). Ну всё равно, Господа,..хоть убейте меня...не было я никаких цепочек из триггеров и уж упоси Боже) триггер с выходной защелкой с триггером шмитта и т.д но всё прекрасно отрабатывает и в любых случаях происходит либо возврат, либо переключение состояния. Могу поделиться этим шедевром..может кто научит уму разуму чего я тут в упор не вижу  ...!
Сообщение отредактировал Маххх - May 28 2009, 07:02
|
|
|
|
|
May 28 2009, 07:48
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 2-03-05
Из: МОСКВА
Пользователь №: 3 016

|
Цитата(_andrew_ @ May 19 2006, 14:07)  Вопрос Есть ли ссылки у кого по метастабильности(в идеале на русском) и как с этим бороться
Проблема в следующем. у меня на входе 3 частоты, сморел осцилографом, вроде нормальные красивые 50Мгц 27Гц и еще строковая(не помню скока). плис Spartan3 так вот через какое то время кадр сползает(верхний кадр внизу и наоборот, НО не по пол кадра, так треть к примеру и две трети). Сползаем сразу а не в процессе, а потом работаем стабильно с перевернутым кадром. в общем мысль приходит грушить только на частоту. есть ли еще какие нибудь "методы борьбы с частотами"? Извините пожалуйста, а Вы уверены, что у Вас именно метастабильность? Может Вы просто где-то ошиблись при проектировании? (скажем когда распределяли функциональные узлы по тактовым регионам). Я делал FSM по обработке входных сигналов(возникающих случайно и с дребезгом) и познакомился с метастабильностью. Автомат попадал в ТАКИЕ состояния, в которые попасть не мог по коду теоретически. При этом повисал.(переставал реагировать на все входные воздействия). Дело было на V4FX. Вылечилось синхронизацией входных сигналов. ISE9.2 - Лампочка - VHDL-coding Examples-misk-Async input Sync output. Идея синхронизации заключается в том, чтобы разместить сдвиговый регистр в одном SLICE. Ваш случай больше похож на на ошибку обработки, поскольку пакеты, хоть и кривые но всетаки идут.
|
|
|
|
|
May 28 2009, 08:44
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Oldring @ May 28 2009, 12:08)  На асинхронный? То есть пусть лучше метастабильность с аналоговой схемы лезет через асинхронный вход синхронизатора?  Извините, но это бред какой-то. С аналоговой схемы лезет не метастабильность, а полноценный импульс, с длительностью, которая обеспечит на асинхронном входе выполнение требования по 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-триггер, показывающий, что случилось принудительное обнуление, и данные, если их там шина, могут быть недостоверны.
|
|
|
|
|
May 28 2009, 12:14
|
Группа: Новичок
Сообщений: 12
Регистрация: 27-05-09
Пользователь №: 49 639

|
Цитата(Sefo @ May 27 2009, 23:57)  вероятностью ошибки из-за распространения метастабильного состояния дальше второго синхронизирующего триггера. Хорошо , можно ли мне тогда в домашних условия получить метастабильность на выходе второго синхронизирующего триггера? Возможно следующими действиями: 1. Использовать комбинацию мощного триггера с низким быстродействием. 2. Увеличить частоту опроса триггера. Уменьшить длительность периода тактовой синхронизации, так уж чтобы данные наверняка попадали в окно метастабильности. 3. Может быть сделать входные сигналы более пологими? У кого кие мысли есть по такому поводу?
Сообщение отредактировал Маххх - May 28 2009, 12:15
|
|
|
|
|
May 28 2009, 12:45
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Маххх @ May 28 2009, 16:14)  У кого кие мысли есть по такому поводу? Возьмите симулятор, например HSPICE, возьмите какую нить стандартную либу на 0.18 или 0.25, чтобы в ней был .CDL нетлист, возьмите спайсы от этой же технологии, и поиграйтесь с каким нибудь триггером из этой либы в симуляторе. Выясните для себя очень много полезного, и достаточно, чтобы перестать задавать такие вопросы.
|
|
|
|
|
May 28 2009, 14:31
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(SM @ May 28 2009, 12:44)  Пример такой схемы. Допустим имеем у синхронизатора 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 этот импульс запустит его в метастабильном состоянии. Попав на вход сброса входрного триггера, это метастабильное состояние входа сброса переведет его уже в метастабильное состояние. Цель не достигнута. Велика ли вероятность такого события? Мала. Но и задержки немаленьке. А так как если вспомнить, что вроятность восстановления из метастабильного состояния не зависит от количества промежуточных триггеров, завися только от технологии и полного запаса времени на выход из метастабильного состояния - схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне.
--------------------
Пишите в личку.
|
|
|
|
|
May 28 2009, 14:51
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Цитата(Oldring @ May 28 2009, 18:31)  На выходе элемента И сформируется короткий импульс неполной амплитуды. Если эта амплитуда совпадет с верхним порогом триггера Шмидта - на его выходе тоже сформирутся короткий импульс неполной амплитуды. Попав на вход одновибратора №3 этот импульс запустит его в метастабильном состоянии. Ну я все секреты такого блока тут открывать не буду  Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна. Общая суть в выборе параметров мощности выхода элемента И, входной емкости ТШ, порогов и коэффициента передачи без ОС усилителя, на базе которого построен ТШ и входного порога третьего одновибратора. В результате ни при каких условиях того, что подается на входы элемента И (реальных сигналов, а не идеальных) на выходе ТШ не может быть такого сигнала, который бы некорректно запускал третий одновибратор. Другой вопрос - что наверное задач таких раз-два и обчелся, где недопустимо по задержке поставить второй триггер, вот в FPGA и не делают таких блоков. А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности. Цитата(Oldring @ May 28 2009, 18:31)  схема явно не лучше простого синхронизатора с соответствующим временем задержки на быстрых триггерах, при том, что сложне. В том и суть схемы, что она не дает никакой задержки по анализируемой ей цепи. Это просто детектор, выдающий сигнал о том, что вероятно метастабильное состояние у синхронизатора. Площадь блока составляет примерно 45 гейтов, что обычно можно себе позволить.
|
|
|
|
|
May 28 2009, 15:09
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(SM @ May 28 2009, 18:49)  Его симуляция на транзисторном уровне показывает, что такая ситуация принципиально невозможна. Если Вы думаете что дела идут хорошо - значит Вы что-то не заметили. Принципиально невозможно перевести сигналы из аналогового домена в цифровой без ненулевой вероятности метастабильности. Такой переходник - это всегда аналоговая система, описываемая нелинейным дифуром и обрабатывающая входные аналоговые сигналы. Цель - получить на выходе устойчивое логическое состояние. При этом схема непрервыно отображает пространство входного сигнала в (аналоговое) пространство выходного, и в этом выходном пространстве есть непересекающиеся области "устойчивый 0" и "устойчивая 1". При этом пространство входных сигналов разбивается на области, которые переводят выход схемы в 1 и 0. Если взять две точки на входе, лежащие в разных областях - точки отображения будут лежать в разных выходных областях. Если на входе их соединить непрерывной кривой, непрерывно изменяя параметры входного сигнала - он отобразится в непрерывную кривую в выходном пространстве. Эта кривая будет пересекать границу между 0 и 1, в которой находится зона метастабльности. Осталось рассмотреть, при каких параметрах входного сигнала это происходит  Цитата(SM @ May 28 2009, 18:51)  А в заказных ИМС я не первый такой, кто ваяет детекторы возможной метастабильности. No comments.
--------------------
Пишите в личку.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|