Введение
Метод моделирования в проектировании компьютерного оборудования
Статический временной анализ (СТВ) – это метод вычисления ожидаемых временных характеристик синхронной цифровой схемы без необходимости моделирования всей схемы. Высокопроизводительные интегральные схемы традиционно характеризуются тактовой частотой, на которой они работают. Оценка способности схемы работать на заданной скорости требует возможности измерения её задержки на многочисленных этапах в процессе проектирования. Более того, вычисление задержки должно быть включено во внутренний цикл работы оптимизаторов времени на различных этапах проектирования, таких как логический синтез, трассировка (размещение и маршрутизация) и постоптимизация, выполняемая на поздних стадиях проектирования. Хотя теоретически такие измерения времени можно выполнять с помощью полноценного моделирования схемы, такой подход может оказаться слишком медленным для практического применения. Статический временной анализ играет важную роль в обеспечении быстрого и достаточно точного измерения временных характеристик схемы. Ускорение достигается за счет использования упрощенных временных моделей и в основном игнорирования логических взаимодействий в схемах. Это стало основой проектирования за последние несколько десятилетий. Одно из первых описаний статического подхода к временному анализу было основано на методе оценки и анализа программ (PERT) в 1966 году. Более современные версии и алгоритмы появились в начале 1980-х годов.
Цель
В синхронной цифровой системе данные должны перемещаться синхронно, переходя на следующую стадию с каждым тактом тактового сигнала. Это обеспечивается синхронизацией элементов, таких как триггеры или защелки, которые копируют входной сигнал на выход по команде тактового сигнала. В такой системе возможны только два типа ошибок синхронизации: нарушение максимального времени, когда сигнал приходит слишком поздно и не успевает к моменту, когда должен измениться. Эти нарушения чаще называют нарушениями/проверками времени установки, которые фактически являются подмножеством нарушений максимального времени, включающих сдвиг цикла на синхронных путях. Нарушение минимального времени, когда входной сигнал изменяется слишком рано после активного фронта тактового сигнала. Эти нарушения чаще называют нарушениями/проверками времени удержания, которые фактически являются подмножеством нарушений минимального времени на синхронных путях. Время прихода сигнала может меняться по множеству причин. Входные данные могут изменяться, схема может выполнять различные операции, температура и напряжение могут колебаться, а также существуют различия в изготовлении отдельных компонентов. Основная цель статического анализа времени – убедиться, что, несмотря на эти возможные изменения, все сигналы приходят ни слишком рано, ни слишком поздно, и, следовательно, гарантируется корректная работа схемы. Поскольку STA способен проверять каждый путь, он может выявлять и другие проблемы, такие как импульсы, медленные пути и перекос тактового сигнала.
A Max time violation, when a signal arrives too late, and misses the time when it should advance. These are more commonly known as setup violations/checks which actually are a subset of max time violations involving a cycle shift on synchronous paths. A Min time violation, when an input signal changes too soon after the clock's active transition. These are more commonly known as hold violations/checks which actually are a subset of min time violations in synchronous path. The time when a signal arrives can vary due to many reasons. The input data may vary, the circuit may perform different operations, the temperature and voltage may change, and there are manufacturing differences in the exact construction of each part. The main goal of static timing analysis is to verify that despite these possible variations, all signals will arrive neither too early nor too late, and hence proper circuit operation can be assured. Since STA is capable of verifying every path, it can detect other problems like glitches, slow paths and clock skew.
Определения
Критический путь определяется как путь между входом и выходом с максимальной задержкой. После вычисления времени работы схемы одним из методов, перечисленных ниже, критический путь можно легко найти с помощью метода обратного прослеживания. Время прибытия сигнала – это время, прошедшее с момента отправки сигнала до его достижения определенной точки. В качестве опорного времени, или времени 0.0, часто принимается время прибытия тактового сигнала. Для вычисления времени прибытия потребуется расчет задержки всех компонентов на пути. Время прибытия, и, фактически, почти все временные параметры в анализе синхронизации, обычно хранятся в виде пары значений – самое раннее возможное время, когда сигнал может измениться, и самое позднее. Другим полезным понятием является требуемое время. Это самое позднее время, когда сигнал может прибыть, не увеличивая длительность тактового цикла сверх допустимой. Вычисление требуемого времени происходит следующим образом: на каждом первичном выходе требуемые времена фронта/спала устанавливаются в соответствии со спецификациями, предоставленными для схемы. Затем выполняется обратный топологический обход, при котором каждый элемент обрабатывается после того, как станут известны требуемые времена на всех его выходах. Запас (slack), связанный с каждым соединением, – это разница между требуемым временем и временем прибытия. Положительный запас s в некоторой точке означает, что время прибытия в эту точку можно увеличить на s, не влияя на общую задержку схемы. И наоборот, отрицательный запас указывает на то, что путь слишком медленный, и его необходимо ускорить (или задержать опорный сигнал), если вся схема должна работать с требуемой скоростью.
Уголки и STA
Довольно часто дизайнеры стремятся подтвердить работоспособность своего проекта в различных условиях. Поведение электронной схемы часто зависит от множества факторов окружающей среды, таких как температура или локальные колебания напряжения. В этом случае либо статический анализ времени (STA) необходимо выполнять для нескольких наборов условий, либо STA должен быть подготовлен к работе с диапазоном возможных задержек для каждого компонента, а не с одним фиксированным значением. С помощью надлежащих методов закономерности изменения условий характеризуются, а их экстремальные значения регистрируются. Каждое экстремальное условие можно назвать "точкой" (corner). Экстремальные значения характеристик ячеек можно рассматривать как "точки PVT" (process, voltage, and temperature), а экстремальные значения характеристик соединений – как "точки экстракции". Комбинация точек PVT и точек экстракции называется "временной точкой", поскольку она представляет собой состояние, в котором время работы схемы будет экстремальным. Если проект работает в каждой экстремальной точке, то, при условии монотонного поведения, он также считается работоспособным во всех промежуточных состояниях. Использование точек в статическом анализе времени имеет ряд ограничений. Оно может быть излишне оптимистичным, поскольку предполагает идеальное соответствие: если один элемент схемы быстрый, то предполагается, что все элементы быстрые, или если напряжение низкое для одного элемента, то оно низкое и для всех остальных. Точки также могут быть излишне пессимистичными, поскольку наихудший случай может возникать редко. Например, в интегральной схеме (ИС) не редко встретить один металлический слой на границе допустимого диапазона толщины, но крайне маловероятно, чтобы все 10 слоев одновременно находились на пределе, поскольку они производятся независимо. Статистический STA, который заменяет задержки распределениями, а соответствие – корреляцией, предлагает более сложный подход к решению этой задачи.
Наиболее известные методы для STA
В статическом анализе синхронизации термин "статический" указывает на то, что этот анализ выполняется независимо от входных сигналов и призван определить максимальную задержку схемы для всех возможных комбинаций входных данных. Вычислительная эффективность (линейная относительно количества ребер в графе) такого подхода обусловила его широкое распространение, несмотря на некоторые ограничения. Метод, обычно называемый PERT, широко применяется в статическом анализе синхронизации. Однако PERT – это неверное название, и так называемый метод PERT, описанный в большинстве публикаций по анализу синхронизации, на самом деле является методом критического пути (CPM), широко используемым в управлении проектами. Хотя методы, основанные на CPM, являются доминирующими в настоящее время, другие методы обхода графов схемы, такие как поиск в глубину, использовались различными анализаторами синхронизации.
Анализ интерфейса
Многие распространенные проблемы при проектировании чипов связаны с временными характеристиками взаимодействия между различными компонентами проекта. Они могут возникать из-за множества факторов, включая неполные модели для симуляции, недостаточное количество тестовых примеров для надлежащей верификации временных характеристик интерфейсов, требования к синхронизации, неверные спецификации интерфейсов и недостаточное понимание конструктором компонента, поставляемого как "черный ящик". Существуют специализированные САПР, предназначенные специально для анализа временных характеристик интерфейсов, равно как и специальные САПР для проверки соответствия реализации интерфейса функциональной спецификации (с использованием таких методов, как проверка моделей).
Статистический анализ времени (SSTA)
Статистический статический анализ времени (SSTA) — это процедура, которая становится все более важной для учета сложностей, связанных с технологическими и экологическими вариациями в интегральных схемах.