Введение

Расчет времен задержки сигналов в интегральных схемах

Расчет задержки – термин, используемый в проектировании интегральных схем для вычисления задержки элемента (gate delay) отдельного логического элемента и подключенных к нему проводников. В отличие от этого, статический временной анализ (static timing analysis) вычисляет задержки целых путей, используя расчет задержки для определения задержки каждого элемента и проводника. Существует множество методов, используемых для расчета задержки самого элемента. Выбор зависит главным образом от требуемой скорости и точности: могут использоваться схемы моделирования, такие как SPICE. Это наиболее точный, но самый медленный метод. Двумерные таблицы обычно используются в таких приложениях, как логический синтез, размещение и трассировка. Эти таблицы принимают выходную нагрузку и входной наклон и генерируют задержку схемы и выходной наклон. Значения в таблицах обычно вычисляются с использованием схем моделирования в процедуре, называемой характеризацией или характеризацией стандартной ячейки. Распространенным форматом файла для хранения таблиц поиска является формат Liberty. Иногда используется очень простая модель, называемая моделью K-фактора. Она аппроксимирует задержку как константу плюс k, умноженное на емкость нагрузки. Более сложная модель, называемая языком вычисления задержек (Delay Calculation Language, или DCL), вызывает программу, определенную пользователем, каждый раз, когда требуется значение задержки. Это позволяет представлять произвольно сложные модели, но создает значительные задачи в области разработки программного обеспечения. Логическое усилие (Logical effort) предоставляет простой расчет задержки, учитывающий изменение размеров элементов и аналитически решаемый. Аналогично, существует множество способов вычисления задержки проводника. Задержка проводника обычно будет отличаться для каждого пункта назначения. Для повышения точности (и снижения скорости) наиболее распространенными методами являются:
Суммарная емкость (Lumped C). Вся емкость проводника применяется к выходу элемента, а задержка в самом проводнике игнорируется. Задержка Элмора – это простое приближение, часто используемое там, где важна скорость вычисления, но задержку в самом проводнике нельзя игнорировать. Она использует значения R и C сегментов проводника в простом расчете. Задержка каждого сегмента проводника равна R этого сегмента, умноженному на нисходящую емкость C. Затем все задержки суммируются от корня. (Это предполагает, что сеть имеет древовидную структуру, что характерно для большинства сетей в чипах. В этом случае задержку Элмора можно вычислить за время O(N) с двумя обходами дерева. Если сеть не имеет древовидной структуры, задержку Элмора все равно можно вычислить, но это потребует матричных вычислений.) Сопоставление моментов (Moment matching) – более сложный аналитический метод. Его можно рассматривать как сопоставление нескольких моментов во временной области или нахождение хорошего рационального приближения (приближения Паде) в частотной области. (Они тесно связаны – см. преобразование Лапласа.) Его также можно рассматривать как обобщение задержки Элмора, которая соответствует первому моменту во временной области (или вычисляет однополюсное приближение в частотной области – они эквивалентны). Первое использование этой техники, AWE, использовало явное сопоставление моментов. Более новые методы, такие как PRIMA и PVL, используют неявное сопоставление моментов, основанное на подпространствах Крылова. Эти методы медленнее, чем у Элмора, но точнее. По сравнению с моделированием схемы они быстрее, но менее точны. Могут использоваться схемы моделирования, такие как SPICE. Это обычно самый точный, но самый медленный метод. DCL, как определено выше, может использоваться для межсоединений, а также для задержки элементов. Часто имеет смысл объединить расчет элемента и всех проводников, подключенных к его выходу. Эта комбинация часто называется задержкой ступени (stage delay). Задержка проводника или элемента также может зависеть от поведения соседних компонентов. Это один из основных эффектов, который анализируется во время проверки целостности сигнала.

Расчет задержки в цифровом проектировании

В контексте полузаказного цифрового проектирования, предварительно охарактеризованная цифровая информация часто абстрагируется в виде вышеупомянутой 2D-таблицы поиска (LUT). Идея метода полузаказного проектирования заключается в использовании блоков предварительно созданных и протестированных компонентов для построения более сложных систем, например, чипа. В этом контексте блоки представляют собой логические элементы, такие как NAND, OR, AND и т.д. Хотя на самом деле эти элементы состоят из транзисторов, инженер, работающий с полузаказным проектированием, оперирует только информацией о задержке сигнала от входного вывода до выходного вывода, называемой временной диаграммой (timing arc). 2D-таблица отражает вариативность задержки элемента в зависимости от двух независимых переменных: скорости изменения сигнала на входе и нагрузки на выходном выводе. Эти две переменные в терминологии проектирования называются "скорость нарастания/спада" (slew) и "нагрузка" (load). Механизм статического временного анализа сначала вычисляет задержку отдельных ячеек и затем объединяет их для дальнейшего анализа.

Расчет статистической задержки

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