Статистический статический временной анализ - Statistical static timing analysis

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

Сравнение с обычным STA

Детерминированная STA популярна по веским причинам:

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

STA, хотя и очень успешна, имеет ряд ограничений:

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

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

Нет никаких технических причин, по которым детермическая STA не могла быть улучшена для обработки корреляции и чувствительности, сохраняя вектор чувствительности с каждым значением, как это делает SSTA. Исторически сложилось так, что это казалось большим бременем для добавления к STA, тогда как было ясно, что это необходимо для SSTA, поэтому никто не жаловался. См. Некоторую критику SSTA ниже, где предлагается эта альтернатива.

Методы

Существует две основные категории алгоритмов SSTA - методы на основе путей и методы на основе блоков.

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

Блочный алгоритм[2] генерирует время прибытия (и требуемое) время для каждого узла, работая вперед (и назад) от синхронизированных элементов. Преимущество заключается в полноте и отсутствии необходимости в выборе пути. Самая большая проблема заключается в том, что необходима статистическая операция max (или min), которая также учитывает корреляцию, что является сложной технической проблемой.

Теперь доступны инструменты для определения характеристик ячеек SSTA, такие как Altos Design Automation Инструмент "Разнообразие".

Критика

В адрес SSTA был высказан ряд критических замечаний:

  • Это слишком сложно, особенно с реалистичными (не гауссовыми) распределениями.
  • Трудно связать с потоком или алгоритмом оптимизации.
  • Получить данные, необходимые алгоритму, сложно. Даже если вы можете получить эти данные, они, вероятно, будут изменяться во времени и, следовательно, ненадежны.
  • При серьезном использовании потребителями фабрики, она ограничивает изменения, которые фабрика может внести, если они изменят статистические свойства процесса.
  • Преимущество относительно невелико по сравнению с улучшенной детерминированной STA, которая также учитывает чувствительность и корреляцию.[3]

Инструменты, выполняющие статический временной анализ

ПЛИС

  • Альтера Квартус II
  • Xilinx ISE

ASIC

Смотрите также

Рекомендации

  1. ^ Оршанский, М .; Койцер, К., 2002, Общая вероятностная структура для анализа времени наихудшего случая, Конференция по автоматизации проектирования, 2002. Труды. 39-й, Том, Вып., 2002, Страницы: 556–561.
  2. ^ Visweswariah, C .; Ravindran, K .; Kalafala, K .; Уокер, С.Г .; Narayan, S .; Beece, D.K .; Piaget, J .; Venkateswaran, N .; Хеммет, Дж. Г., 2006, Инкрементальный блочный статистический анализ времени первого порядка, Транзакции IEEE по автоматизированному проектированию интегральных схем и систем, Том 25, выпуск 10, октябрь 2006 г., страницы: 2170–2180
  3. ^ Ноэль Менезес. «Хорошее, плохое и статистическое» (PDF). ISPD 2007.