|
|
  |
Вот может кто подскажет по метастабильности, не нашёл ответа по одной особенности |
|
|
|
Jan 21 2010, 23:27
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Всё в общем понятно, давно прочитано пройдено и т.д. делал всегда по класике - 2 тригера, окружение - по ситуации. Но вот попался на глаза альтеровский файлик an042.pdf , скорее не палался - а перечитывал. Обратил внимание, что для того, что-бы уменьшить время перехода с частоты на частоту, предлагают использовать удвоенный клок. Вопрос - почему не предлагают тактировать второй тригер инверсным клоком? Кто может сказать, почему во всех рекомендациях не встречается вариант с инверсным клоком, для уменьшения времени перехода? Т.к. особых проблем вроде быть не должно, т.к. вероятность двойного метастабила та-же что и на удвоенной частоте. С ходу есть только одна гипотеза: просто так, типа рекомендации на то и рекомендации - дана база, дальше сам думай, как удобнее. Т.к. архитектурно вроде проблем нет, у альтеры 2 клока идут прям на ячейку, у ксанинкс чуть похуже, но тоже возможно. Меандр вроде тоже не проблема. Или я что-то недогоряю и есть в отказе от инверсного клока, в пользу умножения некое серьёзное основание? Просто как-то лениво лишний клок в сигналах таскать. добавлено: что-то альтера старый an042.pdf убрала, присоединяю
Сообщение отредактировал Builder - Jan 22 2010, 08:57
Прикрепленные файлы
an042.pdf ( 166.96 килобайт )
Кол-во скачиваний: 71
|
|
|
|
|
Jan 22 2010, 09:47
|
Частый гость
 
Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266

|
Схему с инверсным клоком для борьбы с метастабильностью современных триггеров использовать бессмысленно. Инверсный клок уже используется в схемотехнике D-триггера. Подав на второй триггер инверсный клок вы ничего хорошего не добьетесь. В аттаче описание классической двух-инверторной схемы КМОП-триггера по фронту.
|
|
|
|
|
Jan 22 2010, 10:53
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(Builder @ Jan 22 2010, 13:39)  ............ Для чего все это, в каких ситуациях возникает метастабильность, каковы временные параметры тактовой и быстродействия триггера? Не пойму с чем Вы боретесь? Приведите пример задачи: частота 1 -> частота 2, задержка в триггере, время за которое надо сделать переход.
|
|
|
|
|
Jan 22 2010, 11:29
|
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
|
|
|
|
|
Jan 22 2010, 12:06
|
Местный
  
Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617

|
Цитата(Builder @ Jan 22 2010, 14:29)  была вот шальная мысль поработать по обеим фронтам. Все зависит от быстродействия кристала какая ПЛИС? Но даже для тормознутых 10МГц это не проблема, а вот при 30 уже можно напороться на неприятности, от которых в прочим не избавиться удвоением частоты. К тому же скорость нарастания на асинхронном интерфейсе будет играть не маловажное значение. В общем что бы предметно обсуждать нужны параметры входного сигнала и тип кристала.
|
|
|
|
|
Jan 22 2010, 13:04
|
Частый гость
 
Группа: Свой
Сообщений: 82
Регистрация: 16-03-09
Из: ex USSR
Пользователь №: 46 167

|
Цитата(Builder @ Jan 22 2010, 14:29)  Есть входная асинхронная шина, нужно её простробиравать, для того что-бы проанализировать что и как. Т.е. нарезаю сигналы цепочками по 2 тригера и смотрю что куда пишем/читаем. ... Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной. Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу?
|
|
|
|
|
Jan 22 2010, 13:13
|
iBuilder©
   
Группа: Свой
Сообщений: 519
Регистрация: 14-07-04
Из: Минск
Пользователь №: 322

|
Цитата(IL-76 @ Jan 22 2010, 15:04)  Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной. Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу? Ну, это уже проще, первое - диаграмма обмена есть и по ней можно сказать что может защёлкнутся раньше, а что не может. Т.е. можно заранее просчитать что и как, если скажем имею строб, то можно с уверенгостью сказать что данные гарантированно уже защёлкнуты. Второе, можно сделать задержку сигналов ещё на 1 такт, смотреть что сигналы не сменились, и это будет говорить о том, что имеем корректное стабильное защёлкивание сигналов, и можно забирать и анализировать. В общем это это уже следующая стадия, по ней много рекомендаций в инете.
|
|
|
|
|
Feb 5 2010, 20:49
|
Участник

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

|
Если нет жестких ограничений по ресурсам, из домена в домен передать шину проще через 2-хпортовую память, или фифо. Меньше вероятности ошибиться. Либо перетактовываете импульс write_en первого домена и используете его во 2-м домене как read_en, главное обеспечить, чтоб в это время данные не менялись в регистре.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|