реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вот может кто подскажет по метастабильности, не нашёл ответа по одной особенности
Builder
сообщение Jan 21 2010, 23:27
Сообщение #1


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Всё в общем понятно, давно прочитано пройдено и т.д.
делал всегда по класике - 2 тригера, окружение - по ситуации.
Но вот попался на глаза альтеровский файлик an042.pdf , скорее не палался - а перечитывал.
Обратил внимание, что для того, что-бы уменьшить время перехода с частоты на частоту, предлагают
использовать удвоенный клок.
Вопрос - почему не предлагают тактировать второй тригер инверсным клоком?
Кто может сказать, почему во всех рекомендациях не встречается вариант с инверсным клоком, для уменьшения времени перехода?
Т.к. особых проблем вроде быть не должно, т.к. вероятность двойного метастабила та-же что и на удвоенной частоте.
С ходу есть только одна гипотеза: просто так, типа рекомендации на то и рекомендации - дана база, дальше сам думай, как удобнее.
Т.к. архитектурно вроде проблем нет, у альтеры 2 клока идут прям на ячейку, у ксанинкс чуть похуже, но тоже возможно.
Меандр вроде тоже не проблема.
Или я что-то недогоряю и есть в отказе от инверсного клока, в пользу умножения некое серьёзное основание?
Просто как-то лениво лишний клок в сигналах таскать.

добавлено:
что-то альтера старый an042.pdf убрала, присоединяю

Сообщение отредактировал Builder - Jan 22 2010, 08:57
Прикрепленные файлы
Прикрепленный файл  an042.pdf ( 166.96 килобайт ) Кол-во скачиваний: 71
 
Go to the top of the page
 
+Quote Post
cms
сообщение Jan 22 2010, 09:47
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266



Схему с инверсным клоком для борьбы с метастабильностью современных триггеров использовать бессмысленно.
Инверсный клок уже используется в схемотехнике D-триггера. Подав на второй триггер инверсный клок вы ничего хорошего не добьетесь.

В аттаче описание классической двух-инверторной схемы КМОП-триггера по фронту.
Прикрепленные файлы
Прикрепленный файл  bookch8.pdf ( 636.82 килобайт ) Кол-во скачиваний: 314
 
Go to the top of the page
 
+Quote Post
cdg
сообщение Jan 22 2010, 10:33
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



С метастабильностью вообще бороться бессмысленно с помощью увеличения частоты smile.gif Совершенно очевидно, что бороться с метастабильностью с помощью сдвигового регистра работающего на частоте сравнимой с временем распространения сигнала в триггере бесполезно. Проблема метастабильности в том, что переходные процессы в триггере становятся сравнимымми с частотой тактирования, чтобы разрешить проблему достаточно сигналы разрешения записи в соседние триггера разнести на расстояние большее времени быстродействия триггера, дальше после втрого триггера делайте, что угодно, можете работать на удвоенной, утроенной или даже учетверенной частоте, использовать прямые и инверсные клоки.
Go to the top of the page
 
+Quote Post
Builder
сообщение Jan 22 2010, 10:39
Сообщение #4


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(cms @ Jan 22 2010, 11:47) *
Схему с инверсным клоком для борьбы с метастабильностью современных триггеров использовать бессмысленно.
Инверсный клок уже используется в схемотехнике D-триггера. Подав на второй триггер инверсный клок вы ничего хорошего не добьетесь.

В аттаче описание классической двух-инверторной схемы КМОП-триггера по фронту.
Спасибо, почитаю, что там внутрях. А то, так с ходу не понятно - данные-то с выхода тригера вроде появляются после переднего фронта (по крайней мере в дока всегда так рисуют), на не после заднего, вот и встал вопрос, а почему собственно нелься это использовать, т.к. удвоенные клок польше возни таскать по проекту.
Go to the top of the page
 
+Quote Post
cdg
сообщение Jan 22 2010, 10:53
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Цитата(Builder @ Jan 22 2010, 13:39) *
............

Для чего все это, в каких ситуациях возникает метастабильность, каковы временные параметры тактовой и быстродействия триггера? Не пойму с чем Вы боретесь? Приведите пример задачи: частота 1 -> частота 2, задержка в триггере, время за которое надо сделать переход.
Go to the top of the page
 
+Quote Post
Builder
сообщение Jan 22 2010, 11:29
Сообщение #6


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(cdg @ Jan 22 2010, 12:53) *
Для чего все это, в каких ситуациях возникает метастабильность, каковы временные параметры тактовой и быстродействия триггера? Не пойму с чем Вы боретесь? Приведите пример задачи: частота 1 -> частота 2, задержка в триггере, время за которое надо сделать переход.
Есть входная асинхронная шина, нужно её простробиравать, для того что-бы проанализировать что и как. Т.е. нарезаю сигналы цепочками по 2 тригера и смотрю что куда пишем/читаем.
Вот и прикидываю, как минимизировать время анализа, т.к. на двух тригерах имеюю задержку 2+1 такт, не успеваю вроанализировать. Частоты 10-30 мег могут быть. Видится 2 варианта, или поднимать тактовую, как минимум для входной части, ну или была вот шальная мысль поработать по обеим фронтам.

Сообщение отредактировал Builder - Jan 22 2010, 11:34
Go to the top of the page
 
+Quote Post
cdg
сообщение Jan 22 2010, 12:06
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Цитата(Builder @ Jan 22 2010, 14:29) *
была вот шальная мысль поработать по обеим фронтам.

Все зависит от быстродействия кристала какая ПЛИС? Но даже для тормознутых 10МГц это не проблема, а вот при 30 уже можно напороться на неприятности, от которых в прочим не избавиться удвоением частоты. К тому же скорость нарастания на асинхронном интерфейсе будет играть не маловажное значение. В общем что бы предметно обсуждать нужны параметры входного сигнала и тип кристала.
Go to the top of the page
 
+Quote Post
Builder
сообщение Jan 22 2010, 12:24
Сообщение #8


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(cdg @ Jan 22 2010, 14:06) *
Все зависит от быстродействия кристала какая ПЛИС? Но даже для тормознутых 10МГц это не проблема, а вот при 30 уже можно напороться на неприятности, от которых в прочим не избавиться удвоением частоты. К тому же скорость нарастания на асинхронном интерфейсе будет играть не маловажное значение. В общем что бы предметно обсуждать нужны параметры входного сигнала и тип кристала.
Спартаны, начиная с третьих, циклоны, с третьих. В общем я так понял, что-б меньше было проблем в перспективе и не не иметь немприятных неожиданностей, лучше брать высокую частоту и ей всё протактировать.
Go to the top of the page
 
+Quote Post
IL-76
сообщение Jan 22 2010, 13:04
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 82
Регистрация: 16-03-09
Из: ex USSR
Пользователь №: 46 167



Цитата(Builder @ Jan 22 2010, 14:29) *
Есть входная асинхронная шина, нужно её простробиравать, для того что-бы проанализировать что и как. Т.е. нарезаю сигналы цепочками по 2 тригера и смотрю что куда пишем/читаем.
...


Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной.
Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу?
Go to the top of the page
 
+Quote Post
Andy-P
сообщение Jan 22 2010, 13:06
Сообщение #10


Участник
*

Группа: Свой
Сообщений: 56
Регистрация: 21-10-04
Пользователь №: 943



Цитата(Builder @ Jan 22 2010, 02:27) *
что-то альтера старый an042.pdf убрала


Более свежий документ
http://www.altera.com/literature/wp/wp-010...tastability.pdf
Go to the top of the page
 
+Quote Post
Builder
сообщение Jan 22 2010, 13:13
Сообщение #11


iBuilder©
****

Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322



Цитата(IL-76 @ Jan 22 2010, 15:04) *
Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной.
Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу?
Ну, это уже проще, первое - диаграмма обмена есть и по ней можно сказать что может защёлкнутся раньше, а что не может. Т.е. можно заранее просчитать что и как, если скажем имею строб, то можно с уверенгостью сказать что данные гарантированно уже защёлкнуты. Второе, можно сделать задержку сигналов ещё на 1 такт, смотреть что сигналы не сменились, и это будет говорить о том, что имеем корректное стабильное защёлкивание сигналов, и можно забирать и анализировать.
В общем это это уже следующая стадия, по ней много рекомендаций в инете.
Go to the top of the page
 
+Quote Post
evg123
сообщение Feb 4 2010, 14:43
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Цитата(Andy-P @ Jan 22 2010, 16:06) *
Более свежий документ
http://www.altera.com/literature/wp/wp-010...tastability.pdf

В этом документе "Figure 3. Sample Synchronization Register Chain" - указывает на синхро-цепочку из двух триггеров и двумя строчками выше говориться о некой "длине" этой цепочки - т.е. явно указывается, что цепочка может быть и длиннее, чем два триггера, например - три. Что это за штука? Зачем три триггера? Что это даёт? Большую защиту - т.е. меньшую вероятность сбоя, если два триггера одновременно могут оказаться в метастабильном состоянии - то сбоя не будет?
Go to the top of the page
 
+Quote Post
des333
сообщение Feb 4 2010, 15:01
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 129
Регистрация: 19-07-08
Из: Санкт-Петербург
Пользователь №: 39 079



evg123:
http://www.platan.ru/shem/pdf/st13-14.pdf

http://electronix.ru/forum/index.php?s=&am...st&p=114950


--------------------
Go to the top of the page
 
+Quote Post
evg123
сообщение Feb 5 2010, 10:10
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 353
Регистрация: 11-09-06
Из: Минск
Пользователь №: 20 282



Цитата(des333 @ Feb 4 2010, 19:01) *

Спасибо за статью.
Go to the top of the page
 
+Quote Post
dspx
сообщение Feb 5 2010, 20:49
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 6-01-06
Из: Москва
Пользователь №: 12 876



Если нет жестких ограничений по ресурсам, из домена в домен передать шину проще через 2-хпортовую память, или фифо. Меньше вероятности ошибиться. Либо перетактовываете импульс write_en первого домена и используете его во 2-м домене как read_en, главное обеспечить, чтоб в это время данные не менялись в регистре.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016