Перейти к содержанию
    

Схемы управления клоком - вопросы.

Посмотрел типовые схемы правильного включения выключения клока и возник ряд вопросов.

 

Для классическая схема - триггер(латч) - элемент И

 

1.1 Почему ставят латч вместо триггера? Какая разница?

1.2 Правильно ли я понимаю что CE должен быть уже синхронным? И соответственно для несинхронного CE ещё дополнительный синхронизатор.

 

Для обычной логики без триггера

 

1.3 Чем грозят иголки по тактовому входу? Метастабильность?

Изменено пользователем MegaVolt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.1 Латч - это асинхронный элемент, а триггер синхронный. Следовательно триггер должен чем-то тактироваться. И как же его тактировать тем же самым клоком, который к нему на вход подается? фигня получится какая-то. Это вот если пересинхронизировать более медленный клок другим - более быстрым, то да. Там уже триггеры нужны. Даже два, чтобы метастабильности не было.

1.2 Вообще да, любые операции с клоком нужно делать синхронными с этим клоком сигналами. Иначе не оберетесь гличей. Вот например статейка про безгличивый клоковый мультиплексор. Там сигнал select для мукса предварительно синхронизируется по обоим клокам.

1.3 Не совсем понятно как тактовый вход относится к обычной ( не триггерной) логике.

А вообще гличи (иголки или наоборот провалы) на клоке опасны для триггеров из-за того, что схема начинает непредсказуемо себя вести. Метастабильность только один из вариантов. Она появится, если этот глич нарушит сетапы или холды на одном триггере, и тогда эта метастабильность может распространиться по всей схеме. А если так получится, что не нарушит, то это наверное в какой-то степени еще хуже. Потому что это приведет к ложному (не рассчитанному) срабатыванию триггера. Пропустится например какое-нибудь значение счетчика, где-нибудь в дешефраторе команд процессора и он пропустит одну команду. И найти такой баг иногда довольно сложно.

Изменено пользователем gerbity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.3 Чем грозят иголки по тактовому входу? Метастабильность?

 

- Синхронная логика не будет работать

 

- Метастабильность это про другое

altera note,

если кратко: если на вход тригера поступает сигнал не привязанный к клоку (по времени установки, удержание) то на выходе тригера может быть что угодно: 1,0,X

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

gerbity

1.1 Латч - это асинхронный элемент, а триггер синхронный. Следовательно триггер должен чем-то тактироваться. И как же его тактировать тем же самым клоком, который к нему на вход подается? фигня получится какая-то.

 

Так схемы одинаковы и клок заводится и на латч и на триггер Вот картинка

post-1783-1447237601_thumb.jpg

Есть точно такой же вариант с триггером а не латчем. Единственное объяснение которое я понимаю - в ASIC`ах латч реализуется меньшим числом гейтов по этому выгода. Латч точно так же подвержен метастальности как и триггер. Особого выигрыша не вижу :(

1.2 Вообще да, любые операции с клоком нужно делать синхронными с этим клоком сигналами. Иначе не оберетесь гличей.
В том и фокус что про эту схему с латчем пишут что энейбл может быть асинхронным. Как это возможно я пока не понял :(
1.3 Не совсем понятно как тактовый вход относится к обычной ( не триггерной) логике.
Очень просто - берём схему типичного частотомера. И видим что входной клок на элементе И объединяется с воротами заданой длительности без какой либо синхронизации. И эта пачка импульсов напрямую заезжает на счётчик. По теории в начале и в конце пачки могут быть иголки и счётчик будет считать неверно. Но в инете я почти ничего не нашел про это. Единицы пишут про применение хитрого патентованного триггера который якобы свободен от метастабильности но реально она у него есть просто очень редкая.
А вообще гличи (иголки или наоборот провалы) на клоке опасны для триггеров из-за того, что схема начинает непредсказуемо себя вести. Метастабильность только один из вариантов. Она появится, если этот глич нарушит сетапы или холды на одном триггере, и тогда эта метастабильность может распространиться по всей схеме.
А есть картинки метастабильности именно от иголок по клоку? Потому что везде где говорят про метастабильность клок отличный а данные плавают.
А если так получится, что не нарушит, то это наверное в какой-то степени еще хуже. Потому что это приведет к ложному (не рассчитанному) срабатыванию триггера. Пропустится например какое-нибудь значение счетчика, где-нибудь в дешефраторе команд процессора и он пропустит одну команду. И найти такой баг иногда довольно сложно.
Где баг а где и норма. Например в частотомере.

 

yuravg

- Синхронная логика не будет работать

Как именно не будет работать?

- Метастабильность это про другое
Да вроде как и не сильно важно что за проблема у нас. То ли данные не достаточно долго стоят на входе. То ли клок убирается раньше чем они защёлкнулись. Глючить по иде должно и то и другое. Хотя явного подтверждения я в инете не нашел.
Изменено пользователем MegaVolt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

включать-выключать-переключать - принцип один и тот же. Добиваются того, чтобы не было выбросов (glitch).

если выбросов нет - то все ограничения по времянкам (setup & hold) выполняются автоматически.

post-72596-1447238204_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

включать-выключать-переключать - принцип один и тот же. Добиваются того, чтобы не было выбросов (glitch).

если выбросов нет - то все ограничения по времянкам (setup & hold) выполняются автоматически.

В классической схеме да. В частотомере уже есть нюансы. Например импульс может приходить всего один. И и у нас нету 4 для включения и выключения схемы. Что делать?
Изменено пользователем MegaVolt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Например импульс может приходить всего один

так вы тогда определитесь с тем, что за прибор вы делаете.

счетчик импульсов или частотомер?

и определитесь с тем, какие у этих импульсов могут быть параметры.

 

если вы импульсы считаете - так надо тогда оцифровывать передние или задние фронты на высокой частоте, а не использовать счетчик с тактовым входом, подключенным ко входу вашего прибора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так вы тогда определитесь с тем, что за прибор вы делаете.

счетчик импульсов или частотомер?

А какая разница между счётчиком импульсов за заданный интервал времени и частотомером?
и определитесь с тем, какие у этих импульсов могут быть параметры.
Любые прямоугольные импульсы длительностью не больше заданной в паспорте на триггер. Т.е. начиная от единичного импулься минимальной длительности за измеряемый интервал до максимальной непрерывной частоты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Любые прямоугольные импульсы длительностью не больше заданной в паспорте на триггер.

Ну вот вы сами себе и ответили.

Теперь вам требуется обеспечить, чтобы сигналы, приходящие на входы D и C вашего триггера в плисине, соответствовали диапазонам значениий в даташите на плисину.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если вы импульсы считаете - так надо тогда оцифровывать передние или задние фронты на высокой частоте, а не использовать счетчик с тактовым входом, подключенным ко входу вашего прибора.
Это снижает максимальную рабочую частоту минимум вдвое. Неужели в частотомерах так делают? Где на это можно посмотреть? Вот классическая схема. А ней входная частота попадает на тактовый вход.

post-1783-1447240082_thumb.png

 

Ну вот вы сами себе и ответили.

Теперь вам требуется обеспечить, чтобы сигналы, приходящие на входы D и C вашего триггера в плисине, соответствовали диапазонам значениий в даташите на плисину.

Где ж ответил если тут нет алгоритма приведения входного сигнала в это самое соответствие. Без пропусков и потерь входных импульсов.

 

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

Изменено пользователем MegaVolt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как именно не будет работать?

У синхронной логики будут ложные срабатывания, или не срабатывания в нужный момент,

если во время иголки нет установки/удержания данных надо бороться с метастабильностью

Да вроде как и не сильно важно что за проблема у нас. То ли данные не достаточно долго стоят на входе.

То ли клок убирается раньше чем они защёлкнулись.

Глючить по иде должно и то и другое. Хотя явного подтверждения я в инете не нашел.

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

То ли клок убирается раньше чем они защёлкнулись.

тогда уж не частота убирается (частота должна быть очень высокой для этого), а помехи мешают ее формированию

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У синхронной логики будут ложные срабатывания, или не срабатывания в нужный момент,

если во время иголки нет установки/удержания данных надо бороться с метастабильностью

А если сетап-холд соблюдён а не соблюдена минимальная длительность клокового сигнала. Что будет? И если вдруг есть то можно ссылочку на теорию этого дела?
Да будет глючить при не выполнении любого из условий, документация на Вашу микросхему с требования по таймингу - это и есть тому подтверждение.
Само собой. Будет. Но зная как именно с этим можно бороться. Например с несоблюдение сетап холд борются синхронизатором. А что будет в случае короткого единичного импулься короче паспортного требования?
тогда уж не частота убирается (частота должна быть очень высокой для этого), а помехи мешают ее формированию
Вопрос не в частоте а в длительности единичного импульса частота может быть любой. Хоть пару герц.
Изменено пользователем MegaVolt

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас с такой схемой (если ее так реализовывать как нарисовано) вообще всякий ужас с гличами может твориться. Я, конечно, давно не работал с FPGA (больше занимаюсь разработкой под ASIC) и привык строго относиться к сигналам клоков и ресетов, может и появились какие-нибудь хитрые триггеры или адгоритмы трассировки, которые помогают избавиться от гличей, но частота у вас с триггера Шмитта может идти любая, и заранее рассчитать задержки, чтобы избавиться от гличей, тут невозможно. Я бы на вашем месте, если это возможно, завел одну глобальную быструю частоту, и все через неё бы пустил. Ту частоту, с триггера Шмитта также бы пересенхранизировал на внутреннюю частоту, тогда бы и гличей не было бы. То же касается и ресетов. В схеме должен быть только один асинхронный ресет, который в самом начале ставит все триггеры в 0 (или в 1). Всё остальное - это должны быть всякие синхронные SET-ы (в 0 или в 1 смотря что нужно). При таком раскладе, естественно сигнал с делителя не надо заводить на сброс, а на синхронный SET в 0. Когда все будет синхронно, то все проблемы сами пропадут, потому как Quartus (или чем вы там пользуетесь) сам рассчитает нужные задержки между сигналами для соблюдения setup/hold и установит правильные констрейны (да они и не нужны будут на такой синхронной схеме). Сейчас у вас с скорее всего где-то идет нарушение setup/hold (что совсем не невероятно при такой реализации), что в свою очередь приводит к тому что триггер с равной вероятностью может защелкнуть как предыдущее так и последующее значение (или вообще что-то что третье, короче X будет на его выходе) и эти иксы могут все данные в счетчике херить.

Изменено пользователем gerbity

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

посмотрите хотябы как сделаны всякие Ч3-66, Ч3-89 --- http://www.astena.ru/teh_18.html

 

приведенная вами схема - поделка радиолюбительская. если заводить речь про измерения и метрологию, то ожидать от неё каких-либо достоверных результатов я бы не стал.

 

В частотомере уже есть нюансы. Например импульс может приходить всего один.

какая разница между счётчиком импульсов за заданный интервал времени и частотомером?

разница в том, что частотомеры измеряют периодические сигналы.

на каком основании вы говорите про допустимость измерения одиночного импульса частотомером мне не понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У вас с такой схемой (если ее так реализовывать как нарисовано)
Не не не..... не надо про меня. У меня всё хорошо и со схемой и с пониманием работы. Есть небольшое недопонимание работы триггера в граничных услових.

 

Для того чтобы не уходить в офтопик открыл новую тему. http://electronix.ru/forum/index.php?showtopic=131669

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...