Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Минимальная длительность тактового импульса.
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
MegaVolt
Имеем стандартный D триггер хранящий ноль. Подаём на D и CE вход единицу и выжидаем положенный сетап тайм.

Теперь подаём на CLK единичную иголку. Как поведёт себя триггер?

Если верить даташитам на Xilinx то в них нет ограничения на минимальную длительность клокового импульса. На частоту следования импульсов ограничение есть. А на их скважность нет. Означает ли что что триггер штатно сработает на любую иголку амплитудой больше паспортной и не сработает если амплитуда иголки будет меньше?

Если же не всё будет штатно то что будет и где про это можно почитать?
Timmy
Не все параметры описаны в даташите. Вы должны описать такую иголку в констрейне на клок. Если иголка будет слишком короткой, анализатор времянок должен выругаться. А если не выругается, это косячокsm.gif.
krux
я просто положу это здесь.
Нажмите для просмотра прикрепленного файла
Shivers
Цитата(MegaVolt @ Nov 11 2015, 14:56) *
Если же не всё будет штатно то что будет и где про это можно почитать?

Вопрос имеет отношение не к ПЛИС, а к основам цифровых схем. Читать в данном случае надо учебники начального уровня.
Но есть путь одновременно проще и лучше для понимания - моделирование транзисторной схемы на спайсе. Рисуете схему триггера (классические схемы элементарно гуглятся), подаете питание и тестовые воздействия. Получаете наглядные ответы на свои вопросы :-)
MegaVolt
Цитата(Timmy @ Nov 11 2015, 18:38) *
Не все параметры описаны в даташите. Вы должны описать такую иголку в констрейне на клок. Если иголка будет слишком короткой, анализатор времянок должен выругаться. А если не выругается, это косячокsm.gif.
Ну ограничения софта малость не связаны с ограничениями железа. Вон мне ISE не давал повесить блок памяти больше 256К говорил низя. Пришлось малость его обдурить. И всё работает на ура. Если бы я по софту определял максимальный объём кристалла боюсь вышла бы полная фигня. Но с огромным запасом.

Цитата(krux @ Nov 11 2015, 19:43) *
Бааальшущее спасибо. Очень наглядно. Люблю такие пдфки sm.gif


Цитата(Shivers @ Nov 11 2015, 23:23) *
Вопрос имеет отношение не к ПЛИС, а к основам цифровых схем. Читать в данном случае надо учебники начального уровня.
Я очень надеялся что меня ткнут номом в такой учебник. Сам я что-то ничего толкового в инете на эту тему не нашел.
Цитата
Но есть путь одновременно проще и лучше для понимания - моделирование транзисторной схемы на спайсе. Рисуете схему триггера (классические схемы элементарно гуглятся), подаете питание и тестовые воздействия. Получаете наглядные ответы на свои вопросы :-)
Ага так и делаю уже. Правда я думал уже есть всё сделанное и красиво оформленное в отчётик sm.gif))
Shivers
Цитата(MegaVolt @ Nov 12 2015, 11:36) *
Я очень надеялся что меня ткнут номом в такой учебник. Сам я что-то ничего толкового в инете на эту тему не нашел.Ага так и делаю уже. Правда я думал уже есть всё сделанное и красиво оформленное в отчётик sm.gif))

На русском ничего такого нет, думаю. Просто по реализации защелок, триггеров и счетчиков я бы посоветовал почитать Букреева (микроэлектронные схемы цифровых устройств), но работы в динамике там нет. Наверняка есть что то на английском, но я не искал.
Что касается моделирования на спайсе, оно отражает физику (хотя транзисторы представлены так же - моделями, весьма примитивными), поэтому вы быстро увидите, что совсем короткие пички входные транзисторные каскады просто не заметят, чуть более длинные могут привести к неполному переключению, и как результат - к краткосрочной метастабильности и/или ложному переключению. Еще более длинные позволят работать штатно. Ну и т.д. Лучше всяких учебников.
MegaVolt
Цитата(Shivers @ Nov 12 2015, 11:44) *
Что касается моделирования на спайсе, оно отражает физику (хотя транзисторы представлены так же - моделями, весьма примитивными), поэтому вы быстро увидите, что совсем короткие пички входные транзисторные каскады просто не заметят, чуть более длинные могут привести к неполному переключению, и как результат - к краткосрочной метастабильности и/или ложному переключению. Еще более длинные позволят работать штатно. Ну и т.д. Лучше всяких учебников.
Это да. Главное понимать что искать. Модель утащил у NXP на готовый триггер sm.gif Буду играться. Результатами поделюсь sm.gif
krux
вот такая есть статейка
Latching Characteristics of CMOS Bistable Register
Нажмите для просмотра прикрепленного файла
x736C
Цитата(Shivers @ Nov 12 2015, 11:44) *
совсем короткие пички входные транзисторные каскады просто не заметят, чуть более длинные могут привести к неполному переключению, и как результат - к краткосрочной метастабильности и/или ложному переключению. Еще более длинные позволят работать штатно.

Это следует из физической сути триггера. С научной точки зрения банальной эрудиции biggrin.gif пичок — это та энергия, которая должна перевести систему из одной потенциальной ямы в другую. Если этой энергии, интегрально распределенной в тактовом сигнале, недостаточно, то этого и не произойдет.
MegaVolt
Цитата(x736C @ Nov 13 2015, 03:17) *
Это следует из физической сути триггера. С научной точки зрения банальной эрудиции biggrin.gif пичок — это та энергия, которая должна перевести систему из одной потенциальной ямы в другую. Если этой энергии, интегрально распределенной в тактовом сигнале, недостаточно, то этого и не произойдет.
Так вопрос же не в том сработает ли он на 100% от минимального пичка. Ежу понятно что или сработает или нет. Вопрос будет ли в его поведении что-то ещё. Типа метастабильности.
x736C
Цитата(MegaVolt @ Nov 13 2015, 10:09) *
Так вопрос же не в том сработает ли он на 100% от минимального пичка. Ежу понятно что или сработает или нет. Вопрос будет ли в его поведении что-то ещё. Типа метастабильности.

Конечно, будет. Это следует отсюда же. Есть пограничное состояние между «сработает» и «не сработает».

Интересно на реальной модели. Поделитесь результатами, пожалуйста.
MegaVolt
Цитата(x736C @ Nov 13 2015, 10:38) *
Интересно на реальной модели. Поделитесь результатами, пожалуйста.
Обязательно sm.gif Классическую метастабильность уже вижу. Правда пока почему то не могу растянутьдо бесконечности. Т.е. есть некое время через которое триггер восстанавдливается какую бы задержку не делал бы я. При чём есть подозрения что метастабильность заканчивается по второму фронту sm.gif
MegaVolt
Иголки прямоугольные (фронты 10ps) от 55ps до 65ps шаг 100fs
Нажмите для просмотра прикрепленного файла

Иголки прямоугольные фронт в районе 60ps шаг 0.01fs
Нажмите для просмотра прикрепленного файла
krux
как фронт формируете?
пропустите его через 2 инвертора на таких же транзисторах что и триггер, тогда будет, что называется, "ближе к телу".

если посмотреть на м/с буферов для тактовых сигналов, то в даташитах для 7 ГГц буферов приводят фронты 40-50 пс, для 700 МГц более характерны значения порядка 300-500 пс.
Kolya
А как разложен проект по кристалу? Не забывайте, что задержки возможны в линии сигналов. Соответственно изменяя длинну можно варьировать длинну импульса.
x736C
Очень похоже на результаты эксперимента из Synchronization and Metastability

Там, правда, рассматривались иные условия, приводящие к метастабильности.
Суть явления это не меняет.
MegaVolt
Цитата(krux @ Nov 14 2015, 09:29) *
как фронт формируете?
пропустите его через 2 инвертора на таких же транзисторах что и триггер, тогда будет, что называется, "ближе к телу".
Так так и сделано sm.gif Всё по букварю.
Цитата
если посмотреть на м/с буферов для тактовых сигналов, то в даташитах для 7 ГГц буферов приводят фронты 40-50 пс, для 700 МГц более характерны значения порядка 300-500 пс.
К сожалению о частотных параметрах этого триггера ничего не знаю. Но судя по тому что он работает с одновольтовыми сигналами это что-то весьма современное и шустрое.

x736C
Цитата(x736C @ Nov 14 2015, 16:34) *
Очень похоже на результаты эксперимента из Synchronization and Metastability
Так и есть суть одна у нас есть ключ на полевиках. И если смотреть на его выход то совершенно нет разницы почему на выходе иголка или от того что клок верный а данные убрали не вовремя. Или от того что данные верные а клок был коротким. И в том и в том случае на выходе ключа имеем иголку которой не достаточно чтобы прекинуть триггер из одного состояния в другое.
Цитата
Там, правда, рассматривались иные условия, приводящие к метастабильности. Суть явления это не меняет.
Как оказалось да. Но в виду отсутствия подтверждения этому в литературе пришлось повторить эксперимент.
krux
нашлась ещё вот такая статья: General Theory of Metastable Operation, 1981 год
Нажмите для просмотра прикрепленного файла
Цитата
The first three theorems establish that if input changes may occur asynchronously with respect to activity in the system, then metastable operation cannot be avoided. The proofs reveal the manner in which the metastable operation occurs.

стоит отметить, что по тексту имеются в виду любые из входов.
MegaVolt
Цитата(krux @ Nov 15 2015, 21:46) *
нашлась ещё вот такая статья: General Theory of Metastable Operation, 1981 год
Нажмите для просмотра прикрепленного файла
Ух какая умная статья....
Цитата
стоит отметить, что по тексту имеются в виду любые из входов.
Да. Но само понятие асинхронности сложно применить к клоковому входу.
Shivers
Цитата(x736C @ Nov 13 2015, 03:17) *
Это следует из физической сути триггера. С научной точки зрения банальной эрудиции biggrin.gif пичок — это та энергия, которая должна перевести систему из одной потенциальной ямы в другую. Если этой энергии, интегрально распределенной в тактовом сигнале, недостаточно, то этого и не произойдет.

Потенциальные ямы - терминология из серии, как объяснить первокласснику работу спутниковой навигации. Действительно, у пичка есть энергия, но более важны длительность и амплитуда этого пичка: их должно хватить для открытия транзисторов на время, достаточное для перезаряда выходной емкости. Если не хватит амплитуды или длительности, емкость не перезарядится, и на выходе получится так же пичок, только сильно сглаженный. Или, другая ситуация - одна защелка переключится, а другая нет. Надо моделировать, "научная точка зрения банальной эрудиции" тут не прокатывает.

Цитата(krux @ Nov 15 2015, 21:46) *
нашлась ещё вот такая статья: General Theory of Metastable Operation, 1981 год

Отличная статья, классика! В публикациях часто ссылаются на эти теоремы. Из них, в частности, следует, что сколько бы триггеров пересинхронизации вы не ставили, всегда есть небольшая вероятность появления метастабильности. Эту вероятность можно расчитать, поэтому в обычных системах с CDC используют два триггера пересинхронизации, а в высоконадежных - три.

Цитата(MegaVolt @ Nov 16 2015, 10:39) *
Но само понятие асинхронности сложно применить к клоковому входу.

Элементарно. Асинхронные сбросы имеют арки по отношению к клоковому входу. Данные на триггере, источником которых служит другой клок - асинхронны к клоковому входу, и т.д. Почитайте про статический временной анализ
MegaVolt
Цитата(Shivers @ Nov 16 2015, 11:08) *
Элементарно. Асинхронные сбросы имеют арки по отношению к клоковому входу. Данные на триггере, источником которых служит другой клок - асинхронны к клоковому входу, и т.д. Почитайте про статический временной анализ
Так в том то и оно что тактовая иголка при установленных заранее данных по теории полностью синхронна.
x736C
Цитата(Shivers @ Nov 16 2015, 11:08) *
Потенциальные ямы - терминология из серии

Терминология из серии статей, которые тут приводили.
И далее, из Ваших слов следует, что качественно именно то и происходит, что описывается понятием «потенциальная яма».
Моделировать нужно для количественной оценки, разумеется.

Цитата(Shivers @ Nov 16 2015, 11:08) *
В публикациях часто ссылаются на эти теоремы. Из них, в частности, следует, что сколько бы триггеров пересинхронизации вы не ставили, всегда есть небольшая вероятность появления метастабильности.

Из какой конкретно теоремы из этой статьи и каким образом это следует, не подскажите?
Shivers
Цитата(MegaVolt @ Nov 16 2015, 15:17) *
Так в том то и оно что тактовая иголка при установленных заранее данных по теории полностью синхронна.

Если данные не меняются, тогда не понятна суть вопроса. Если в автомате управляющий сигнал (клок) подается при условии установленных данных, а установленные данные могут смениться только при условии срабатывания клока, то такое управление называется хендшейком и является в чистом виде асинхронным: так работают, к примеру, самосинхронные схемы. В синхронных схемах управление (клок) подается с тактового генератора, который ничего не знает об установленных данных.

Цитата(x736C @ Nov 16 2015, 16:42) *
Из какой конкретно теоремы из этой статьи и каким образом это следует, не подскажите?

Третья теорема доказывает, что асинхронность на входе может привести к метастабильности. Каким образом - читайте доказательство. Статья фундаментальная, расчет вероятностей там не ведется. Но логика следующая: один триггер с асинхронными данными на входе - высокая вероятность появления метастабильности на выходе, два триггера - низкая вероятность, три триггера - еще более низкая. Теорему Марино обычно упоминают при конструировании арбитров, но согласно ей - хоть тысячу триггеров включите последовательно, и все равно на выходе может появиться метастабильность.
MegaVolt
Цитата(Shivers @ Nov 16 2015, 17:53) *
Если в автомате управляющий сигнал (клок) подается при условии установленных данных, а установленные данные могут смениться только при условии срабатывания клока, то такое управление называется хендшейком и является в чистом виде асинхронным: так работают, к примеру, самосинхронные схемы. В синхронных схемах управление (клок) подается с тактового генератора, который ничего не знает об установленных данных.
Ну как пример - генератор генерит очень короткие иголки. Дальше встаёт попрос а нужно ли их расширять до нормы или и так будет работать sm.gif Т.е. схема полностью синхронная но клок не вписывается в требования к клоку по длительности единички.
Shivers
Цитата(MegaVolt @ Nov 16 2015, 18:36) *
Дальше встаёт попрос а нужно ли их расширять до нормы или и так будет работать sm.gif

Может уже, задачу опишете? :-)
Если это реальная задача, то вам писали, что в ПЛИС достаточно задать констрейнт create_clock с указанием периода и скважности, и запустить синтез. Если тул не будет удовлетворен длительностью вашего пичка, то он так об этом и напишет.
MegaVolt
Цитата(Shivers @ Nov 16 2015, 21:46) *
Может уже, задачу опишете? :-)
Да нет никой нерешаемой задачи. Есть обычные размышления про то что происходит в схеме и как сделать ещё лучше. А для этого нужно понимать физику. Т.е. по сути сам себе задал нерешаемые условия сам в них и играюсь sm.gif))
Цитата
Если это реальная задача, то вам писали, что в ПЛИС достаточно задать констрейнт create_clock с указанием периода и скважности, и запустить синтез. Если тул не будет удовлетворен длительностью вашего пичка, то он так об этом и напишет.
Я же тоже про это писал что EDK мне не разрешал сделать память на весь кристалл. Хотя CoreGen из ISE позволял. Вот и что мне искать ту софтинку которая разрешит работать с нужными мне таймингами?

Как по мне это не есть дело. Нужно понимать как работает схема и не загонять её туда где будут вопросы на грани.
net
QUOTE (MegaVolt @ Nov 16 2015, 22:30) *
Да нет никой нерешаемой задачи. Есть обычные размышления про то что происходит в схеме и как сделать ещё лучше.

у XILINX есть страница с hint где как раз есть схема для формирования самого короткого импульса который будет гарантированно работать на конкретно выбранной микросхеме

то есть эта схема опирается на конкреную физическую основу используемой микросхемы

MegaVolt
Цитата(net @ Nov 17 2015, 12:50) *
у XILINX есть страница с hint где как раз есть схема для формирования самого короткого импульса который будет гарантированно работать на конкретно выбранной микросхеме

то есть эта схема опирается на конкреную физическую основу используемой микросхемы

А можно ссылочки или чуть больше информации чтобы найти? Очень любопытная инфа.
net
QUOTE (MegaVolt @ Nov 17 2015, 16:52) *
А можно ссылочки или чуть больше информации чтобы найти? Очень любопытная инфа.

чтото на сайте не нашел вот тут архивчик - давненько это было ;-)
MegaVolt
Цитата(net @ Nov 17 2015, 21:42) *
чтото на сайте не нашел вот тут архивчик - давненько это было ;-)
Благодарю. Речь шла про 4 пункт?
net
QUOTE (MegaVolt @ Nov 18 2015, 10:48) *
Благодарю. Речь шла про 4 пункт?

там где удвоитель частоты
MegaVolt
Цитата(net @ Nov 18 2015, 11:40) *
там где удвоитель частоты
Ага понял. Отличный метод. Когда то на нём делал генератор соединив удвоитель и делитель частоты в кольцо sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.