Builder 0 21 января, 2010 Опубликовано 21 января, 2010 (изменено) · Жалоба Всё в общем понятно, давно прочитано пройдено и т.д. делал всегда по класике - 2 тригера, окружение - по ситуации. Но вот попался на глаза альтеровский файлик an042.pdf , скорее не палался - а перечитывал. Обратил внимание, что для того, что-бы уменьшить время перехода с частоты на частоту, предлагают использовать удвоенный клок. Вопрос - почему не предлагают тактировать второй тригер инверсным клоком? Кто может сказать, почему во всех рекомендациях не встречается вариант с инверсным клоком, для уменьшения времени перехода? Т.к. особых проблем вроде быть не должно, т.к. вероятность двойного метастабила та-же что и на удвоенной частоте. С ходу есть только одна гипотеза: просто так, типа рекомендации на то и рекомендации - дана база, дальше сам думай, как удобнее. Т.к. архитектурно вроде проблем нет, у альтеры 2 клока идут прям на ячейку, у ксанинкс чуть похуже, но тоже возможно. Меандр вроде тоже не проблема. Или я что-то недогоряю и есть в отказе от инверсного клока, в пользу умножения некое серьёзное основание? Просто как-то лениво лишний клок в сигналах таскать. добавлено: что-то альтера старый an042.pdf убрала, присоединяю an042.pdf Изменено 22 января, 2010 пользователем Builder Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cms 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба Схему с инверсным клоком для борьбы с метастабильностью современных триггеров использовать бессмысленно. Инверсный клок уже используется в схемотехнике D-триггера. Подав на второй триггер инверсный клок вы ничего хорошего не добьетесь. В аттаче описание классической двух-инверторной схемы КМОП-триггера по фронту. bookch8.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cdg 3 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба С метастабильностью вообще бороться бессмысленно с помощью увеличения частоты :) Совершенно очевидно, что бороться с метастабильностью с помощью сдвигового регистра работающего на частоте сравнимой с временем распространения сигнала в триггере бесполезно. Проблема метастабильности в том, что переходные процессы в триггере становятся сравнимымми с частотой тактирования, чтобы разрешить проблему достаточно сигналы разрешения записи в соседние триггера разнести на расстояние большее времени быстродействия триггера, дальше после втрого триггера делайте, что угодно, можете работать на удвоенной, утроенной или даже учетверенной частоте, использовать прямые и инверсные клоки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба Схему с инверсным клоком для борьбы с метастабильностью современных триггеров использовать бессмысленно. Инверсный клок уже используется в схемотехнике D-триггера. Подав на второй триггер инверсный клок вы ничего хорошего не добьетесь. В аттаче описание классической двух-инверторной схемы КМОП-триггера по фронту. Спасибо, почитаю, что там внутрях. А то, так с ходу не понятно - данные-то с выхода тригера вроде появляются после переднего фронта (по крайней мере в дока всегда так рисуют), на не после заднего, вот и встал вопрос, а почему собственно нелься это использовать, т.к. удвоенные клок польше возни таскать по проекту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cdg 3 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба ............ Для чего все это, в каких ситуациях возникает метастабильность, каковы временные параметры тактовой и быстродействия триггера? Не пойму с чем Вы боретесь? Приведите пример задачи: частота 1 -> частота 2, задержка в триггере, время за которое надо сделать переход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 0 22 января, 2010 Опубликовано 22 января, 2010 (изменено) · Жалоба Для чего все это, в каких ситуациях возникает метастабильность, каковы временные параметры тактовой и быстродействия триггера? Не пойму с чем Вы боретесь? Приведите пример задачи: частота 1 -> частота 2, задержка в триггере, время за которое надо сделать переход.Есть входная асинхронная шина, нужно её простробиравать, для того что-бы проанализировать что и как. Т.е. нарезаю сигналы цепочками по 2 тригера и смотрю что куда пишем/читаем. Вот и прикидываю, как минимизировать время анализа, т.к. на двух тригерах имеюю задержку 2+1 такт, не успеваю вроанализировать. Частоты 10-30 мег могут быть. Видится 2 варианта, или поднимать тактовую, как минимум для входной части, ну или была вот шальная мысль поработать по обеим фронтам. Изменено 22 января, 2010 пользователем Builder Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
cdg 3 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба была вот шальная мысль поработать по обеим фронтам. Все зависит от быстродействия кристала какая ПЛИС? Но даже для тормознутых 10МГц это не проблема, а вот при 30 уже можно напороться на неприятности, от которых в прочим не избавиться удвоением частоты. К тому же скорость нарастания на асинхронном интерфейсе будет играть не маловажное значение. В общем что бы предметно обсуждать нужны параметры входного сигнала и тип кристала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба Все зависит от быстродействия кристала какая ПЛИС? Но даже для тормознутых 10МГц это не проблема, а вот при 30 уже можно напороться на неприятности, от которых в прочим не избавиться удвоением частоты. К тому же скорость нарастания на асинхронном интерфейсе будет играть не маловажное значение. В общем что бы предметно обсуждать нужны параметры входного сигнала и тип кристала.Спартаны, начиная с третьих, циклоны, с третьих. В общем я так понял, что-б меньше было проблем в перспективе и не не иметь немприятных неожиданностей, лучше брать высокую частоту и ей всё протактировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IL-76 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба Есть входная асинхронная шина, нужно её простробиравать, для того что-бы проанализировать что и как. Т.е. нарезаю сигналы цепочками по 2 тригера и смотрю что куда пишем/читаем. ... Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной. Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andy-P 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба что-то альтера старый an042.pdf убрала Более свежий документ http://www.altera.com/literature/wp/wp-010...tastability.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 0 22 января, 2010 Опубликовано 22 января, 2010 · Жалоба Но ведь, просто стробируя внешним клоком асинхронную шину, Вы избавитесь только от метастабильности для отдельных сигналов шины, но не для суммарного слова в шине. Т.е. часть сигналов в шине в момент времени Т может защелкнуться как Сигналы(Т), а часть как Сигналы(Т+1), если Т придется на момент изменения состояния шины, к примеру. В итоге изменения состояний синхронной шины будут отличаться от асинхронной. Или в данном случае шина - это сигналы, не связанные друг с другом по времянке и функционалу? Ну, это уже проще, первое - диаграмма обмена есть и по ней можно сказать что может защёлкнутся раньше, а что не может. Т.е. можно заранее просчитать что и как, если скажем имею строб, то можно с уверенгостью сказать что данные гарантированно уже защёлкнуты. Второе, можно сделать задержку сигналов ещё на 1 такт, смотреть что сигналы не сменились, и это будет говорить о том, что имеем корректное стабильное защёлкивание сигналов, и можно забирать и анализировать. В общем это это уже следующая стадия, по ней много рекомендаций в инете. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evg123 0 4 февраля, 2010 Опубликовано 4 февраля, 2010 · Жалоба Более свежий документ http://www.altera.com/literature/wp/wp-010...tastability.pdf В этом документе "Figure 3. Sample Synchronization Register Chain" - указывает на синхро-цепочку из двух триггеров и двумя строчками выше говориться о некой "длине" этой цепочки - т.е. явно указывается, что цепочка может быть и длиннее, чем два триггера, например - три. Что это за штука? Зачем три триггера? Что это даёт? Большую защиту - т.е. меньшую вероятность сбоя, если два триггера одновременно могут оказаться в метастабильном состоянии - то сбоя не будет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 4 февраля, 2010 Опубликовано 4 февраля, 2010 · Жалоба evg123: http://www.platan.ru/shem/pdf/st13-14.pdf http://electronix.ru/forum/index.php?s=&am...st&p=114950 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
evg123 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба evg123: http://www.platan.ru/shem/pdf/st13-14.pdf http://electronix.ru/forum/index.php?s=&am...st&p=114950 Спасибо за статью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dspx 0 5 февраля, 2010 Опубликовано 5 февраля, 2010 · Жалоба Если нет жестких ограничений по ресурсам, из домена в домен передать шину проще через 2-хпортовую память, или фифо. Меньше вероятности ошибиться. Либо перетактовываете импульс write_en первого домена и используете его во 2-м домене как read_en, главное обеспечить, чтоб в это время данные не менялись в регистре. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться