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

И снова про метастабильность

С гонкой понятно, меня интересовало, может ли не-триггер зависнуть в непонятном состоянии ?

 

 

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


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

С гонкой понятно, меня интересовало, может ли не-триггер зависнуть в непонятном состоянии ?

"не-триггер" после дребезга на фронтах всегда перейдет в устойчивое состояние, определяемое входными сигналами... С чего это он должен "зависнуть"? Он же не имеет внутри себя положительной обратной связи...

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


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

Наверное, спрошу глупость, но, тем не менее, метастабильность может возникнуть только в триггере ?

Метастабильность может возникнуть в элементе, который хранит состояние (т.е. с положительной обратной связью). У логического И обратной связи нет.

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


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

В логическом элементе подобное тоже может быть если сигнал вблизи порога срабатывания. А если от с триггером Шмидта, то вот вам и положительная обратная связь.

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


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

Хочу добавить свои 5 копеек по теме вопроса.

 

Топикстартер спрашивал почему 2-й триггер "защищает" от метастабильности. Я хочу пояснить суть слова "защищает".

Как вы знаете, есть 2 стабильных состояния 0 и 1, но из-за некорректных таймингов триггер может попадать в метастабильное состояние "0.5". Я назвал его "0.5" потому что с точки зрения напряжения это "среднее" значение между напряжениями 0 и 1. При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться, если комбинационная логика (а значит кол-во полуоткрытых транзисторов) после метастабильного триггера большая).

 

Так вот второй триггер не даёт напряжению "0.5" поступать на комбинационную логику, защищая микросхему от опасного состояния.

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

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


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

Хочу добавить свои 5 копеек по теме вопроса.

 

Топикстартер спрашивал почему 2-й триггер "защищает" от метастабильности. Я хочу пояснить суть слова "защищает".

Как вы знаете, есть 2 стабильных состояния 0 и 1, но из-за некорректных таймингов триггер может попадать в метастабильное состояние "0.5". Я назвал его "0.5" потому что с точки зрения напряжения это "среднее" значение между напряжениями 0 и 1. При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться, если комбинационная логика (а значит кол-во полуоткрытых транзисторов) после метастабильного триггера большая).

 

Так вот второй триггер не даёт напряжению "0.5" поступать на комбинационную логику, защищая микросхему от опасного состояния.

Спасибо !

Я долго врубался в смысл второго триггера и понял наконец в чём смысл его. И правильно я понимаю, что если период входного асинхронного сигнала меньше чем период синхрочастоты, то есть вероятность что этот сигнал после выхода триггера из метастабильного состояния так и не попадет на выход (по аналогии с мячиком, мячик скатиться в область нуля..)

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


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

Наверное, спрошу глупость, но, тем не менее, метастабильность может возникнуть только в триггере ?

 

Метастабильность бывает только у триггеров (бистабильных элементов). При этом, все равно какой триггер - Шмитдта, на элементах И, ИЛИ, либо сделанный на проходных ключах и двунаправленных буферах. Абсолютно любой триггер может попасть в метастабильное состояние, это доказано с помощью математики в Theory of metastable Operations.

 

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

 

Можно рассчитать вероятность попадания триггера в метастабильное состояние. К примеру, такой расчет проводят для CDC - Clock Domains Crossing. Двух триггеров достаточно, чтобы метастабильность возникала раз в несколько лет, трех триггеров - раз в несколько миллионов лет. Но всегда остается шанс, что даже три триггера не защитят от метастабильности на выходе.

 

При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться,

 

Сопротивление открытых КМОП каналов очень велико и токи низкие, поэтому никакого жуткого потребления и нагрева нет.

Метастабильность плоха только неправильной интерпретацией схемы логического уровня - к примеру вместо 0 схема отработала 1, это считается сбоем.

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


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

Спасибо !

Я долго врубался в смысл второго триггера и понял наконец в чём смысл его. И правильно я понимаю, что если период входного асинхронного сигнала меньше чем период синхрочастоты, то есть вероятность что этот сигнал после выхода триггера из метастабильного состояния так и не попадет на выход (по аналогии с мячиком, мячик скатиться в область нуля..)

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

 

Сопротивление открытых КМОП каналов очень велико и токи низкие, поэтому никакого жуткого потребления и нагрева нет.

У открытых каналов сопротивление очень маленькое, у закрытых - очень большое. У полуоткрытых, когда вместо логической '1', например, величиной в 2.5В подают 1.25В, сопротивление транзисторов на стоке и истоке относительно небольшое, в результате имеем большой ток от питания к земле. Как известно, кМОП логика потребляет при переключении, а если состояние переключение "зависло" (из-за метастабильности), то микросхема начнёт потреблять, оснобенно при развесистой комбинационной логике после триггера.

 

Некорректные значения - это тоже проблема.

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

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


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

У открытых каналов сопротивление очень маленькое, у закрытых - очень большое.

Я моделировал эти режимы на спайсе для 65нм, в т.ч. и токи "КЗ", когда у инвертора открыты оба транзистора. Сопротивление между шинами в этот момент - килоОмы, так о "КЗ" речь вообще не идет! Не будет ни нагрева, ни повышенной электромиграции, ничего. Просто, течет чуть повышенный ток.

 

 

Как известно, кМОП логика потребляет при переключении, а если состояние переключение "зависло" (из-за метастабильности), то микросхема начнёт потреблять, оснобенно при развесистой комбинационной логике после триггера.

Кому известно, где это написано? Если схема состоит из одного транзистора и десяти логических элементов, то ток вырастет заметно. А если в схеме транзисторов - миллионы, и один попал в метастабильность, то разницу в потреблении ни один прибор не увидит.

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

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


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

Я моделировал эти режимы на спайсе для 65нм

Не выдадите ли спайс-модели КМОП выходов, которые использовали?

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


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

Не выдадите ли спайс-модели КМОП выходов, которые использовали?

Я не очень понял вопроса про модели выходов. Имеются ввиду какие то эквивалентные схемы замещения моделей транзисторов?

Я использовал модели транзисторов TSMC 65нм (BSIM4), и элементы из этой же библиотеки: логику, триггеры. Все это NDA, публиковать не могу. Для обычного D-триггера пробовал вычислять постоянную времени и окно метастабильности. По моим расчетам, на частотах около гигагерца (CDC) метастабильность должна возникать на выходе триггера раз в несколько секунд. Если брать килогерцы, то - раз в миллионы лет. Расчеты делал для себя, они очень грубые; и я не готов их публиковать.

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


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

Имел в виду логические выходы целиком. Не обязательно ПЛИС, но и стандартной логики. Ну, нет, так нет.

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


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

Так это что получается, полностью от метастабильности избавиться нельзя, и сбои будут в любом случае?

И все эти clock crossing bridge не дают 100% гарантии корректности передаваемых данных?

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


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

Так это что получается, полностью от метастабильности избавиться нельзя, и сбои будут в любом случае?

И все эти clock crossing bridge не дают 100% гарантии корректности передаваемых данных?

100% не дают, зато дают 99,9999....%

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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