Введение

Несогласованность сигналов синхронизации от разных путей.
Сдвиг тактовой частоты (иногда называемый временным сдвигом) — это явление в синхронных цифровых схемах (таких как компьютерные системы), при котором один и тот же исходный сигнал тактирования достигает различных компонентов в разное время из-за задержки распространения сигнала в элементах схемы или, в более продвинутых полупроводниковых технологиях, в проводниках. Мгновенная разница между показаниями любых двух тактовых сигналов называется их сдвигом. Работа большинства цифровых схем синхронизируется периодическим сигналом, известным как "тактирование", который определяет последовательность и темп работы устройств в схеме. Это тактирование распределяется из одного источника ко всем элементам памяти схемы, которые, например, могут быть регистрами или триггерами. В схеме, использующей регистры с синхронизацией по фронту, когда фронт тактового сигнала или тик достигает регистра, регистр передает входное значение на выход, а эти новые выходные значения проходят через комбинационную логику, чтобы сформировать входные значения для регистра на следующем такте. В идеале, вход каждого элемента памяти достигает своего конечного значения до следующего такта, чтобы поведение всей схемы можно было предсказать точно. Максимальная скорость работы системы должна учитывать разброс, возникающий между различными элементами схемы из-за различий в физической структуре, температуре и длине пути. В синхронной схеме два регистра или триггера считаются "последовательно соседними", если их соединяет логический путь. Для двух последовательно соседних регистров Ri и Rj, с временами прихода тактового сигнала на входные и выходные контакты, равными TCi и TCj соответственно, сдвиг тактовой частоты можно определить как: .

В схеме

Смещение тактовой частоты может быть вызвано множеством различных факторов, таких как длина межсоединений, колебания температуры, разброс параметров промежуточных устройств, емкостная связь, дефекты материалов и различия во входной емкости на тактовых входах устройств, использующих тактовый сигнал. По мере увеличения тактовой частоты схемы, временные характеристики становятся более критичными, и допустимый разброс уменьшается, если схема должна функционировать корректно. Существует два типа смещения тактовой частоты: отрицательное и положительное. Положительное смещение возникает, когда принимающий регистр получает тактовый импульс позже, чем передающий регистр. Отрицательное смещение – это противоположная ситуация: передающий регистр получает тактовый импульс позже, чем принимающий регистр. Нулевое смещение тактовой частоты означает одновременное поступление тактового импульса на передающий и принимающий регистры.

Вредный уклон

Существует два типа нарушений, которые может вызвать разброс тактовой частоты. Одна проблема возникает, когда тактовый сигнал достигает первого регистра, а сигнал тактирования ко второму регистру распространяется медленнее, чем выход первого регистра во второй. В результате выход первого регистра достигает входа второго регистра раньше, чем поступит тактовый сигнал, и заменяет исходные данные во втором регистре, либо нарушает целостность защелкнутых данных. Это называется нарушением удержания (hold violation), поскольку предыдущие данные не удерживаются достаточно долго во флип-флопе назначения для корректного тактирования. Другая проблема возникает, если флип-флоп назначения получает тактовый импульс раньше, чем флип-флоп источника – в этом случае, на сигнал данных остается меньше времени для достижения флип-флопа назначения до следующего тактового импульса. Если сигнал не успевает, возникает нарушение установки (setup violation), названное так потому, что новые данные не были установлены и стабилизированы до прихода следующего тактового импульса. Нарушение удержания более критично, чем нарушение установки, поскольку его нельзя устранить увеличением периода тактовой частоты. Положительный и отрицательный разброс тактовой частоты не могут негативно повлиять на ограничения по установке и удержанию соответственно (см. неравенства ниже).

Оптимальный уклон

Если время прихода тактового сигнала в отдельные регистры рассматривается как переменная, подлежащая настройке для минимизации периода тактового сигнала при соблюдении условий установки и удержания для всех путей в схеме, то результатом является задача линейного программирования. В этой задаче линейного программирования нулевой перекос тактового сигнала является лишь допустимой точкой – решение задачи линейного программирования обычно дает период тактового сигнала, меньший, чем достигаемый при нулевом перекосе. Кроме того, можно гарантировать запасы прочности, превышающие или равные случаю с нулевым перекосом, путем соответствующей установки временных интервалов установки и удержания, а также ограничения джиттера в задаче линейного программирования. Благодаря простой форме этой задачи линейного программирования, для получения решения доступен легко программируемый алгоритм. Сетевые операции, требующие временных меток, сопоставимых между хостами, могут быть подвержены влиянию перекоса тактового сигнала. Ряд протоколов (например, протокол сетевого времени – NTP) разработан для уменьшения перекоса тактового сигнала и обеспечения более стабильной работы. Некоторые приложения (например, игровые серверы) также могут использовать собственные механизмы синхронизации для предотвращения проблем с надежностью, вызванных перекосом тактового сигнала.

Интерфейсы

Смещение тактовой частоты является причиной, по которой на высоких скоростях или больших расстояниях последовательные интерфейсы (например, Serial Attached SCSI или USB) предпочтительнее параллельных интерфейсов (например, параллельных SCSI).