Перейти к содержанию

Время предустановки и время удержания (setup, hold)

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

Обновлено Редакция GAW

Время предустановки (setup time, tsu) — минимальный интервал, за который данные на входе триггера должны установиться до активного фронта тактового сигнала. Время удержания (hold time, th) — минимальный интервал, в течение которого данные должны оставаться неизменными после фронта. Между этими двумя границами лежит окно, в котором вход менять нельзя.

Определения

TI в записке SZZA036 приводит формулировки JEDEC: время предустановки — интервал между подачей сигнала на один вход и последующим активным переходом на другом входе; время удержания — интервал, в течение которого сигнал сохраняется на входе после активного перехода на другом. В даташите указывают минимум — кратчайший интервал, при котором работа гарантирована. Оба параметра могут быть отрицательными: тогда данные разрешено менять чуть раньше фронта (hold) или подавать чуть позже него (setup).

Пример: SN74HC74

Параметр2 В4,5 В6 В
tsu, данные до фронта CLK, 25 °C100 нс20 нс17 нс
tsu, −40…85 °C125 нс25 нс21 нс
th, данные после фронта0 нс0 нс0 нс

Источник — даташит TI SCLS094F, разд. 6.7. Видно, как сильно время предустановки КМОП-логики зависит от питания. Время удержания D-триггера 74HC74 равно нулю, поэтому выход одного такого триггера можно подавать на вход следующего от того же такта: новые данные появятся только через задержку распространения, а удерживать старые после фронта не требуется.

Как пользоваться

Проверку делают для пути «выход источника → вход приёмника»:

  • setup: максимальная задержка выхода после фронта + задержка линии и логики ≤ период такта − tsu − перекос тактов;
  • hold: минимальная задержка выхода + задержка пути ≥ th + перекос тактов.

Нарушение setup лечат понижением частоты или укорочением пути, нарушение hold частотой не исправить — только добавлением задержки. Если же сигнал вообще асинхронный, окно рано или поздно будет нарушено, и триггер может войти в метастабильное состояние. Окна setup и hold удобно видеть на временной диаграмме; для SPI их сравнивают с моментом выборки в калькуляторе кадра SPI.

Частые вопросы

Что значит нулевое или отрицательное время удержания?

Нулевое — данные можно менять сразу в момент фронта, как у SN74HC74. Отрицательное, по определению TI в SZZA036, означает, что данные можно снять даже немного раньше фронта. Причина, по нашему объяснению (в SZZA036 её нет), — внутри микросхемы такт доходит до триггера с большей задержкой, чем данные. Аналогично отрицательное время предустановки разрешает подать данные чуть позже фронта.

Как проверить, выполнено ли время предустановки?

Сложить задержки на пути данных: задержку выхода источника после его фронта такта, задержку линии и логики. Это время должно быть меньше периода такта минус время предустановки приёмника с учётом перекоса тактов. Для времени удержания проверяют обратное: самая короткая задержка пути данных должна быть больше времени удержания плюс перекос.

Что будет, если нарушить setup или hold?

Результат не гарантирован: триггер может запомнить старое значение, новое или войти в метастабильное состояние, когда выход какое-то время остаётся между уровнями и устанавливается случайно. TI в SDYA006 разбирает этот случай для синхронизаторов асинхронных сигналов.

Источники

  1. Texas Instruments. Understanding and Interpreting Standard-Logic Data Sheets, SZZA036C (December 2002, revised June 2016) — разд. 4.8.3, tsu: по JEDEC — интервал между подачей сигнала на один вход и последующим активным переходом на другом входе; задаётся минимум — кратчайший интервал, при котором работа гарантирована; значение может быть отрицательным, тогда минимум задаёт наибольший интервал между активным переходом и сигналом; разд. 4.8.4, th: интервал, в течение которого сигнал удерживается на входе после активного перехода на другом входе; тоже бывает отрицательным; оба проверяются без одновременной проверки других входов; рис. 48 — измерение setup и hold
  2. Texas Instruments. SNx4HC74 Dual D-Type Positive-Edge-Triggered Flip-Flops With Clear and Preset, SCLS094F (December 1982, revised June 2021) — разд. 6.7, Timing Requirements − 74: tsu данных до фронта CLK — 100 нс при 2 В, 20 нс при 4,5 В, 17 нс при 6 В (25 °C), 125/25/21 нс в диапазоне −40…85 °C; th данных после CLK — 0 нс при всех напряжениях; разд. 9.2.1.4: данные должны измениться не позже чем за время предустановки до фронта и оставаться неизменными не меньше времени удержания после него
  3. Texas Instruments. Metastable Response in 5-V Logic Circuits, SDYA006 (February 1997) — разд. 1–2: правильная работа триггера гарантирована, только если соблюдены время предустановки и время удержания на входе D; при синхронизации асинхронного сигнала они неизбежно нарушаются, и триггер может войти в метастабильное состояние

Нашли ошибку?