Введение
Расчет времен задержки сигналов в интегральных схемах
Расчет задержки – термин, используемый в проектировании интегральных схем для вычисления задержки элемента (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). Задержка проводника или элемента также может зависеть от поведения соседних компонентов. Это один из основных эффектов, который анализируется во время проверки целостности сигнала.
Circuit simulators such as SPICE may be used. This is the most accurate, but slowest, method. Two dimensional tables are commonly used in applications such as logic synthesis, placement and routing. These tables take an output load and input slope and generate a circuit delay and output slope. The values of the tables are usually computed using circuit simulators in a procedure referred to as characterization or standard cell characterization. A common file format for storing the lookup tables is the Liberty format. A very simple model called the K factor model is sometimes used. This approximates the delay as a constant plus k times the load capacitance. A more complex model called Delay Calculation Language, or DCL, calls a user defined program whenever a delay value is required. This allows arbitrarily complex models to be represented, but raises significant software engineering issues. Logical effort provides a simple delay calculation that accounts for gate sizing and is analytically tractable. Similarly, there are many ways to calculate the delay of a wire. The delay of a wire will normally be different for each destination. In order to increase accuracy (and decrease speed), the most common methods are:
Lumped C. The entire wire capacitance is applied to the gate output, and the delay through the wire itself is ignored. Elmore delay is a simple approximation, often used where speed of calculation is important but the delay through the wire itself cannot be ignored. It uses the R and C values of the wire segments in a simple calculation. The delay of each wire segment is the R of that segment times the downstream C. Then all delays are summed from the root. (This assumes the network is tree structured, true of most nets in chips. In this case, the Elmore delay can be calculated in time O(N) with two tree traversals. If the network is not tree structured the Elmore delay can still be computed, but involves matrix calculations.) Moment matching is a more sophisticated analytical method. It can be thought of as either matching multiple moments in the time domain or finding a good rational approximation (a Padé approximation) in the frequency domain. (These are very closely related see Laplace transform.) It can also be considered a generalization of Elmore delay, which matches the first moment in the time domain (or computes a one pole approximation in the frequency domain they are equivalent). The first use of this technique, AWE, used explicit moment matching. Newer methods such as PRIMA and PVL use implicit moment matching, based on Krylov subspaces. These methods are slower than Elmore but more accurate. Compared to circuit simulation they are faster but less accurate. Circuit simulators such as SPICE may be used. This is usually the most accurate, but slowest, method. DCL, as defined above, can be used for interconnecting as well as gate delay. Often, it makes sense to combine the calculation of a gate and all the wires connected to its output. This combination is often called the stage delay. The delay of a wire or gate may also depend on the behaviour of the nearby components. This is one of the main effects that is analyzed during signal integrity checks.
Расчет задержки в цифровом проектировании
В контексте полузаказного цифрового проектирования, предварительно охарактеризованная цифровая информация часто абстрагируется в виде вышеупомянутой 2D-таблицы поиска (LUT). Идея метода полузаказного проектирования заключается в использовании блоков предварительно созданных и протестированных компонентов для построения более сложных систем, например, чипа. В этом контексте блоки представляют собой логические элементы, такие как NAND, OR, AND и т.д. Хотя на самом деле эти элементы состоят из транзисторов, инженер, работающий с полузаказным проектированием, оперирует только информацией о задержке сигнала от входного вывода до выходного вывода, называемой временной диаграммой (timing arc). 2D-таблица отражает вариативность задержки элемента в зависимости от двух независимых переменных: скорости изменения сигнала на входе и нагрузки на выходном выводе. Эти две переменные в терминологии проектирования называются "скорость нарастания/спада" (slew) и "нагрузка" (load). Механизм статического временного анализа сначала вычисляет задержку отдельных ячеек и затем объединяет их для дальнейшего анализа.
Расчет статистической задержки
По мере уменьшения размеров чипа задержки как элементов схемы, так и соединений могут потребовать рассмотрения в виде статистических оценок, а не детерминированных величин. Для элементов схемы это требует расширения форматов библиотек. Для соединений это требует методов, способных вычислять средние значения и распределения задержек. В обоих случаях критически важно учитывать зависимость от базовых параметров, таких как пороговое напряжение и толщина металла, поскольку они приводят к корреляции между задержками соседних компонентов. См. для одного из ранних примеров.