justontime 0 16 ноября, 2016 Опубликовано 16 ноября, 2016 · Жалоба С гонкой понятно, меня интересовало, может ли не-триггер зависнуть в непонятном состоянии ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 16 ноября, 2016 Опубликовано 16 ноября, 2016 · Жалоба С гонкой понятно, меня интересовало, может ли не-триггер зависнуть в непонятном состоянии ? "не-триггер" после дребезга на фронтах всегда перейдет в устойчивое состояние, определяемое входными сигналами... С чего это он должен "зависнуть"? Он же не имеет внутри себя положительной обратной связи... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 17 ноября, 2016 Опубликовано 17 ноября, 2016 · Жалоба Наверное, спрошу глупость, но, тем не менее, метастабильность может возникнуть только в триггере ? Метастабильность может возникнуть в элементе, который хранит состояние (т.е. с положительной обратной связью). У логического И обратной связи нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rudy_b 1 18 ноября, 2016 Опубликовано 18 ноября, 2016 · Жалоба В логическом элементе подобное тоже может быть если сигнал вблизи порога срабатывания. А если от с триггером Шмидта, то вот вам и положительная обратная связь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arranje 0 24 ноября, 2016 Опубликовано 24 ноября, 2016 (изменено) · Жалоба Хочу добавить свои 5 копеек по теме вопроса. Топикстартер спрашивал почему 2-й триггер "защищает" от метастабильности. Я хочу пояснить суть слова "защищает". Как вы знаете, есть 2 стабильных состояния 0 и 1, но из-за некорректных таймингов триггер может попадать в метастабильное состояние "0.5". Я назвал его "0.5" потому что с точки зрения напряжения это "среднее" значение между напряжениями 0 и 1. При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться, если комбинационная логика (а значит кол-во полуоткрытых транзисторов) после метастабильного триггера большая). Так вот второй триггер не даёт напряжению "0.5" поступать на комбинационную логику, защищая микросхему от опасного состояния. Изменено 25 ноября, 2016 пользователем Arranje Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 25 ноября, 2016 Опубликовано 25 ноября, 2016 · Жалоба Хочу добавить свои 5 копеек по теме вопроса. Топикстартер спрашивал почему 2-й триггер "защищает" от метастабильности. Я хочу пояснить суть слова "защищает". Как вы знаете, есть 2 стабильных состояния 0 и 1, но из-за некорректных таймингов триггер может попадать в метастабильное состояние "0.5". Я назвал его "0.5" потому что с точки зрения напряжения это "среднее" значение между напряжениями 0 и 1. При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться, если комбинационная логика (а значит кол-во полуоткрытых транзисторов) после метастабильного триггера большая). Так вот второй триггер не даёт напряжению "0.5" поступать на комбинационную логику, защищая микросхему от опасного состояния. Спасибо ! Я долго врубался в смысл второго триггера и понял наконец в чём смысл его. И правильно я понимаю, что если период входного асинхронного сигнала меньше чем период синхрочастоты, то есть вероятность что этот сигнал после выхода триггера из метастабильного состояния так и не попадет на выход (по аналогии с мячиком, мячик скатиться в область нуля..) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 25 ноября, 2016 Опубликовано 25 ноября, 2016 · Жалоба Наверное, спрошу глупость, но, тем не менее, метастабильность может возникнуть только в триггере ? Метастабильность бывает только у триггеров (бистабильных элементов). При этом, все равно какой триггер - Шмитдта, на элементах И, ИЛИ, либо сделанный на проходных ключах и двунаправленных буферах. Абсолютно любой триггер может попасть в метастабильное состояние, это доказано с помощью математики в Theory of metastable Operations. Условие для возникновения метастабильного состояния - энергии переключающего импульса(ов) недостаточно, чтобы полностью переключить триггер, но и обратно в стабильное состояние триггер вернуться уже не может, и как бы подвисает в некоем устойчивом состоянии между логическим нулем и единицей. Время выхода из метастабильного состояния определяется распределением по Пуассону и может теоретически достигать бесконечности. На практике всегда присутствуют тепловые токи, которые выводят триггер из метастабильного состояния. Можно рассчитать вероятность попадания триггера в метастабильное состояние. К примеру, такой расчет проводят для CDC - Clock Domains Crossing. Двух триггеров достаточно, чтобы метастабильность возникала раз в несколько лет, трех триггеров - раз в несколько миллионов лет. Но всегда остается шанс, что даже три триггера не защитят от метастабильности на выходе. При напряжении "0.5" все транзисторы, на которое это напряжение поступает, будут полуоткрыты, что повлечёт за собой жуткое потребление тока и сильный нагрев микросхемы (микросхема гипотетически может повредиться, Сопротивление открытых КМОП каналов очень велико и токи низкие, поэтому никакого жуткого потребления и нагрева нет. Метастабильность плоха только неправильной интерпретацией схемы логического уровня - к примеру вместо 0 схема отработала 1, это считается сбоем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arranje 0 25 ноября, 2016 Опубликовано 25 ноября, 2016 (изменено) · Жалоба Спасибо ! Я долго врубался в смысл второго триггера и понял наконец в чём смысл его. И правильно я понимаю, что если период входного асинхронного сигнала меньше чем период синхрочастоты, то есть вероятность что этот сигнал после выхода триггера из метастабильного состояния так и не попадет на выход (по аналогии с мячиком, мячик скатиться в область нуля..) ДА, при метастабильности значение выхода будет "случайным". И выход триггера может потерять информацию о входе (если держать входной сигнал меньше 1-го такта). Добавлю только, что это справедливо и для обратного случай (вход триггера переключился из 1 в 0, а выход так и остался 1). Сопротивление открытых КМОП каналов очень велико и токи низкие, поэтому никакого жуткого потребления и нагрева нет. У открытых каналов сопротивление очень маленькое, у закрытых - очень большое. У полуоткрытых, когда вместо логической '1', например, величиной в 2.5В подают 1.25В, сопротивление транзисторов на стоке и истоке относительно небольшое, в результате имеем большой ток от питания к земле. Как известно, кМОП логика потребляет при переключении, а если состояние переключение "зависло" (из-за метастабильности), то микросхема начнёт потреблять, оснобенно при развесистой комбинационной логике после триггера. Некорректные значения - это тоже проблема. Изменено 25 ноября, 2016 пользователем Arranje Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 27 ноября, 2016 Опубликовано 27 ноября, 2016 · Жалоба У открытых каналов сопротивление очень маленькое, у закрытых - очень большое. Я моделировал эти режимы на спайсе для 65нм, в т.ч. и токи "КЗ", когда у инвертора открыты оба транзистора. Сопротивление между шинами в этот момент - килоОмы, так о "КЗ" речь вообще не идет! Не будет ни нагрева, ни повышенной электромиграции, ничего. Просто, течет чуть повышенный ток. Как известно, кМОП логика потребляет при переключении, а если состояние переключение "зависло" (из-за метастабильности), то микросхема начнёт потреблять, оснобенно при развесистой комбинационной логике после триггера. Кому известно, где это написано? Если схема состоит из одного транзистора и десяти логических элементов, то ток вырастет заметно. А если в схеме транзисторов - миллионы, и один попал в метастабильность, то разницу в потреблении ни один прибор не увидит. Метастабильность конечно распространяется в логике, но через 3-5 вентилей уровень сигнала достигает нижнего или верхнего порога, и дальше уже идет нормальный сигнал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 ноября, 2016 Опубликовано 27 ноября, 2016 · Жалоба Я моделировал эти режимы на спайсе для 65нм Не выдадите ли спайс-модели КМОП выходов, которые использовали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 27 ноября, 2016 Опубликовано 27 ноября, 2016 · Жалоба Не выдадите ли спайс-модели КМОП выходов, которые использовали? Я не очень понял вопроса про модели выходов. Имеются ввиду какие то эквивалентные схемы замещения моделей транзисторов? Я использовал модели транзисторов TSMC 65нм (BSIM4), и элементы из этой же библиотеки: логику, триггеры. Все это NDA, публиковать не могу. Для обычного D-триггера пробовал вычислять постоянную времени и окно метастабильности. По моим расчетам, на частотах около гигагерца (CDC) метастабильность должна возникать на выходе триггера раз в несколько секунд. Если брать килогерцы, то - раз в миллионы лет. Расчеты делал для себя, они очень грубые; и я не готов их публиковать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 ноября, 2016 Опубликовано 27 ноября, 2016 · Жалоба Имел в виду логические выходы целиком. Не обязательно ПЛИС, но и стандартной логики. Ну, нет, так нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Shivers 0 13 декабря, 2016 Опубликовано 13 декабря, 2016 · Жалоба Компрехенсив гайд по метастабильности: https://habrahabr.ru/post/317514/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 0 13 декабря, 2016 Опубликовано 13 декабря, 2016 · Жалоба Так это что получается, полностью от метастабильности избавиться нельзя, и сбои будут в любом случае? И все эти clock crossing bridge не дают 100% гарантии корректности передаваемых данных? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demon3200 0 13 декабря, 2016 Опубликовано 13 декабря, 2016 · Жалоба Так это что получается, полностью от метастабильности избавиться нельзя, и сбои будут в любом случае? И все эти clock crossing bridge не дают 100% гарантии корректности передаваемых данных? 100% не дают, зато дают 99,9999....% Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться