Добрый день, форумчане!
В меру скромных способностей занимаюсь самообразованием в области разработки на ПЛИС. Гуманитарий.
Мучит вопрос, всегда ли нужно все события синхронизировать с опорной частотой?
Вот пример.
Написал модуль управления 4-разрядным семисегментником (прямое подключение). Обновление разрядов происходит с определённой частотой, на порядки меньше опорной. Всё замечательно работает, когда я обновление запускаю по фронту 16-го разряда счетчика, работающего от опорной частоты.
Если же логику модуля привязывать к опорной частоте, всё равно, приходится ждать, пока 16-й разряд перейдёт в 1-цу. Проблема в том, что 16-й разряд будет в единице ещё несколько тысяч периодов опорной частоты, и схема будет ложно срабатывать тысячи раз. Всё бы - ничего, но изображение на индикаторе "ломается": яркость старших 3-х разрядов в несколько раз падает.
Следуя заветам дедов, синхронизировал: завел доп.регистр разрешающий работу схемы, который устанавливаю по 15-му разряду счётчика, а при первом совпадении фронта опорной частоты с фронтом 16-го - сбрасываю. Так схема отрабатывает только 1 раз. Изображение нормализовалось.
Синхронизация заняла дополнительно 3 ЛЕ. Вот, думаю, а оно, вообще, надо здесь? - Ведь, семисегментник - это, т.с., "конечный потребитель", его рассинхронизация на работу всего проекта повлиять не может, а глазу всё равно.
Спасибо.
В меру скромных способностей занимаюсь самообразованием в области разработки на ПЛИС. Гуманитарий.
Мучит вопрос, всегда ли нужно все события синхронизировать с опорной частотой?
Вот пример.
Написал модуль управления 4-разрядным семисегментником (прямое подключение). Обновление разрядов происходит с определённой частотой, на порядки меньше опорной. Всё замечательно работает, когда я обновление запускаю по фронту 16-го разряда счетчика, работающего от опорной частоты.
Если же логику модуля привязывать к опорной частоте, всё равно, приходится ждать, пока 16-й разряд перейдёт в 1-цу. Проблема в том, что 16-й разряд будет в единице ещё несколько тысяч периодов опорной частоты, и схема будет ложно срабатывать тысячи раз. Всё бы - ничего, но изображение на индикаторе "ломается": яркость старших 3-х разрядов в несколько раз падает.
Следуя заветам дедов, синхронизировал: завел доп.регистр разрешающий работу схемы, который устанавливаю по 15-му разряду счётчика, а при первом совпадении фронта опорной частоты с фронтом 16-го - сбрасываю. Так схема отрабатывает только 1 раз. Изображение нормализовалось.
Синхронизация заняла дополнительно 3 ЛЕ. Вот, думаю, а оно, вообще, надо здесь? - Ведь, семисегментник - это, т.с., "конечный потребитель", его рассинхронизация на работу всего проекта повлиять не может, а глазу всё равно.
Спасибо.
Сообщение отредактировал m68krc - Вторник, 29.11.2022, 03:31