Вот не знаю. Я не вижу причин появления дрожания (джиттера) на выходе счетчика, если исходный тактовый сигнал не имел такого дрожания. Более того, даже делитель на 2 уже гарантирует 50% скважность, даже если исходный тактовый сигнал имел иную, или даже переменную, скважность. Опять же, при условии, что там не было дрожания нарастающего фронта.
Если же качество исходного тактового сигнала (в плане дрожания и скважности) вызывает сомнения - тогда да, тогда ФАПЧ (PLL) может в некоторой степени "очистить" тактовую частоту. Но у всего есть пределы. Если исходный сигнал совсем плохого качества - то не поможет и ФАПЧ.
Тут подписываюсь. Поскольку качество исходного тактового сигнала зачастую достоверно неизвестно - то инструменты синтеза не позволяют учесть все возможные отклонения. Также точность моделирования инструментов синтеза не 100%. Поэтому иногда появляются плавающие сбои даже в таких конфигурациях, синтез которых прошел без ошибок Timing Constraints.
На Xilinx таких проблем нет. Если какой-либо внешний или внутренний сигнал подается на тактовый вход триггера - то синтезатор автоматически пропускает его через глобальный тактовый буфер (BUFG), который рассчитан на большое количество нагрузок (много тактовых входов триггеров) и разводку с минимальной задержкой по всему кристаллу. Еще там есть локальные тактовые буфера (BUFH и т.д.), которые распределяют сигнал от BUFG на триггеры в локальной области чипа (напр. северозападный квадрант), но включение этих буферов полностью автоматизировано софтом для синтеза, в это лучше не вмешиваться.
Количество BUFG на кристалле очень ограничено. В моем чипе Spartan-6 их было 16 - это при десятках тысяч общего кол-ва триггеров.
На Xilinx без проблем. Но на это расходуется ограниченный ресурс BUFG.
Для сигнала на входе ФАПЧ важно обеспечить, чтобы этот сигнал был периодическим, с одним импульсом за период. Не допускать выпадений тактовых импульсов и тому подобной грязи. В противном случае ФАПЧ не сможет синхронизироваться с таким сигналом и достичь стабильной работы. Некоторое дрожание входного сигнала ФАПЧ сглаживает, но есть предел.
- - - Добавлено - - -
Для Xilinx - UG612 "Xilinx Timing Constraints User Guide"
Пробиться сквозь дебри этого документа непросто. Даю небольшой лайфхак.
Достаточно только задать в Timing Constraints параметры входного тактового сигнала. Синтезатор прослеживает распространение тактовой частоты по всей схеме, в том числе случаи умножения и деления этой частоты на блоках ФАПЧ (PLL) и DCM). Также синтезатор контролирует время прохождения обычных (не тактовых) сигналов через комбинационную логику и разводку связей и автоматически обеспечивает, чтобы это время не превышало периода тактовой частоты для всех сигналов. Поэтому, особенно для простых схем, лишь указание параметров входной тактовой частоты достаточно.
Дополнительные Timing Constraints нужно указывать только в следующих случаях:
1) Обеспечение гарантий на внешних интерфейсах ввода-вывода;
2) Прохождение сигналов между разными тактовыми зонами (между системами триггеров с разной тактовой частотой);
3) Деление тактовой частоты "вручную" с помощью счетчиков - тогда нужно указать, какое соотношение с входной тактовой частотой имеет выходная.
- - - Добавлено - - -
Не совсем так. Трассировщик схемы по кристаллу FPGA может, конечно, дать наиболее короткие задержки каким-то сигналам. Но всем сигналам сразу самые короткие задержки дать нельзя: ведь они конкурируют друг с другом. Поэтому трассировщик пытается гарантировать максимально допустимое время задержки для всех сигналов. Для одних сигналов, где мало комбинационной логики, он при этом будет использовать менее быструю разводку и расположение, а для других сигналов, где заданную задержку обеспечить трудно - он будет использовать наиболее оптимальные расположения и разводку.
В конце своей работы (т.е. раскидывания логики по физическим ресурсам FPGA и разводки связей между ними) трассировщик либо сообщает, что он смог обеспечить заданные требования (напр. не более 10нс задержки для всех сигналов), либо не смог. В последнем случае приходится либо оптимизировать схему, либо снижать тактовую частоту.





Ответить с цитированием