Что такое задержка распространения переноса в обработке данных высокой скорости?

Создано: 11 Февраля, 2019
Обновлено: 25 Сентября, 2020

Synchronized swimmers

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

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

Обзор задержки распространения

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

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

Если сигналы не синхронизированы, битовая ошибка в вашей системе может увеличиться. При параллельной обработке цифровых данных сигналы в вашей сети должны быть синхронизированы, поэтому вы должны согласовать длину всех трасс в вашей сети с длиной самой длинной трассы. Компенсация сдвига также критична при маршрутизации дифференциальных пар. Меандрирование является лучшим способом внесения небольших задержек в линии сигналов при сохранении импеданса.

Сигналы в различных геометриях трасс будут испытывать немного разные задержки распространения. Если вы работаете с платой с контролируемым импедансом, формула для расчета задержки распространения будет относительно простой и будет зависеть от относительной диэлектрической проницаемости подложки платы. При работе с системами ~100 Мбит/с или выше, вам нужно будет учитывать задержку распространения по всей плате, и использование дизайна с контролируемым импедансом будет хорошей идеей.

Large ICs and traces on a green PCB

Убедитесь, что ваше программное обеспечение для проектирования печатных плат имеет необходимые инструменты анализа

 

Задержка распространения и сдвиг при параллельной обработке данных

При параллельной обработке данных дополнительные ошибки данных могут накапливаться, если задержка распространения между битами не компенсируется должным образом. Определенные параллели в сети могут требовать большей задержки, если результат от менее значимых битов определяет шаги обработки, применяемые к более значимым битам.

Это обобщенное соображение может показаться странным, но рассмотрим следующий пример. Предположим, вы разрабатываете сумматор с переносом для использования на печатной плате или в интегральной схеме. Это устройство по сути представляет собой серию 1-битных сумматоров, которые обрабатывают входные биты параллельно. Биты, составляющие два цифровых числа для сложения, должны быть введены в каждый сумматор параллельно, и каждый сумматор может генерировать бит переноса.

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

Общая задержка между каждым разрядом равна задержке распространения сигнала, проходящего между сумматорами, плюс удвоенное время нарастания всей логической схемы в сумматорах (при условии, что оба сумматора принадлежат к одному и тому же семейству логики). Когда вы работаете только с несколькими битами на низкой скорости, это не приведет к десинхронизации сигналов между битами. Но когда вы работаете, например, с 32-битными числами на скорости 1 Гбит/с или выше, задержка достижения бита переноса старшего разряда (MSB) будет в 32 раза больше, чем задержка распространения переноса между соседними сумматорами.

Это очень значительная задержка, которая может привести к десинхронизации данных по всему сумматору. Чтобы компенсировать задержку на входе данных в сумматоры для старших разрядов, вам на самом деле нужно добавить некоторую задержку к входным битам, достигающим каждого сумматора. Последовательно более старшие биты потребуют большей задержки.

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

Several ICs in parallel on a PCB

Убедитесь, что вы можете доверять результатам своих симуляций

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

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

Итак, как вы можете обеспечить целостность данных в вашей следующей высокоскоростной цифровой системе? Вам нужны инструменты трассировки, которые упрощают компенсацию задержек между элементами на вашей печатной плате. Продвинутые инструменты трассировки и симуляции в Altium Designer® могут помочь вам избежать проблем с целостностью сигнала и поддерживать низкие уровни ошибок по битам.

Теперь вы можете скачать бесплатную пробную версию и узнать, подходит ли Altium для вас. Поговорите с экспертом Altium сегодня, чтобы узнать больше.

Связанные ресурсы

Связанная техническая документация

Вернуться на главную
Thank you, you are now subscribed to updates.