Неизвестное об известном, или Что такое метастабильность триггеров
Модель двухтактного триггера (триггер, тактируемый фронтом синхросигнала, или триггер типа Master/Slave), представленная на рис. 1, используется для анализа метастабильности. Усилитель может принимать два устойчивых состояния, которые соответствуют полярности входного напряжения. В момент начала тактового периода ключ S2 размыкается, ключ S1 замыкается и конденсатор C заряжается до входного напряжения Vin (рис. 1). К моменту завершения тактового периода ключ S2 замыкается, а ключ S1 размыкается и усилитель под действием положительной обратной связи через резистор R1 переходит в режим насыщения, при котором сигнал на выходе имеет амплитуду, равную напряжению питания, и полярность, соответствующую полярности входного напряжения. В момент размыкания ключа S1 не должно происходить изменение логического уровня сигнала Vin, иначе при двухуровневом сигнале на входе конденсатор может разрядиться. Напряжение на конденсаторе Vc влияет на время, которое необходимо для перехода триггера в одно из устойчивых состояний, при замыкании ключа S2. В этом режиме напряжение на выходе усилителя определяется следующей зависимостью [1]:
Vout(t) = VineKtmet, | (1) |
где K постоянная времени, зависящая от полосы пропускания усилителя и параметров ключей S1 и S2; tmet задержка срабатывания триггера вследствие метастабильности.
Два интервала времени tSU (время установки сигнала) и th (время удержания сигнала) образуют окно принятия решения (рис. 2а, табл. 1). На этом отрезке времени триггер берет выборку сигнала на входе данных и решает, нужно ему изменять выходной сигнал или нет. Если асинхронный информационный сигнал DATA на входе триггера изменяется за пределами этого окна, то гарантируется его переход в одно из устойчивых состояний, не позднее времени tpd (нормальная задержка распространения информационного сигнала от входа до выхода Q триггера, отсчитывается по переднему фронту синхроимпульса CLK, иногда обозначают tCO). Если информационный сигнал D меняется в пределах этого окна, может возникнуть метастабильность и просуществовать до окончания интервала tmet (рис. 2б) [2]. Чем больше это окно, тем больше вероятность, что триггер попадет в метастабильное состояние. Если метастабильность превышает интервал tmet, то есть tmet ≥ tpd, то это фиксируется как отказ. Из таблицы 1 видно, что у современных семейств логических ИС средней степени интеграции окно принятия решения меньше, и следовательно, вероятность попадания в метастабильное состояние меньше. Внутри окна принятия решения существует критическая точка td, которая может быть определена как tSU − th. При приближении к этой точке задержка переключения триггера tpd начинает расти пропорционально логарифму разности между фактическим временем установления и временем установления, соответствующего критической точке. td для различных типов триггеров может составлять от 10 до 100 пс.
а) нормальная работа триггера;
б) метастабильное поведение (метастабильность отсчитывается от переднего фронта синхроимпульса)
для триггеров 74xx74 различных серий
Триггер | tSU, нс | th, нс | ttotal, нс |
---|---|---|---|
74C74 | 100 | 0 | 100 |
74HC74 | 20 | 0 | 20 |
74HCT74 | 20 | 0 | 20 |
7474 | 20 | 5 | 25 |
74ALS74 | 15 | 10 | 25 |
74LS74 | 20 | 0 | 20 |
74S74 | 3 | 2 | 5 |
74AC74 | 4 | 0,5 | 4,5 |
74ACT74 | 3 | 1 | 4 |
74ACTQ74 | 3 | 1,5 | 4,5 |
У различных производителей БИС параметры метастабильности определяются поразному [2]. Производители заказных БИС, такие как Texas Instruments и Chaney, отсчитывают время выхода из метастабильности по переднему фронту синхроимпульса (рис. 2). Производители ПЛИС Altera и Xilinx под метастабильностью понимают время, которое должно быть прибавлено к нормальному времени задержки tCO (рис. 3) [26].
(задержка, вызванная метастабильностью,
добавляется к задержке tCO)
Рассмотрим расчет среднего времени между отказами для синхронизирующего устройства, состоящего из двух последовательно включенных триггеров с общим синхросигналом, в предположении, что второй триггер не подвержен метастабильности.
При изменении асинхронного сигнала Data в пределах окна принятия решения длительность пребывания выхода Q триггера в метастабильном состоянии описывается экспоненциальной зависимостью [26]:
(2) |
где MTBF среднее время между отказами синхронизирующего устройства; fCLK частота синхросигнала CLK на тактовом входе триггера; fDATA частота асинхронного информационного сигнала DATA, поступающего на вход данных (число изменений сигнала DATA); С1 и С2 константы, зависящие от электрических характеристик триггера и технологического процесса изготовления БИС. В наихудшем случае, если fDATA = 0,5fCLK, то [3]:
(3) |
Константу С1 связывают с критической точкой td, ответственной за вероятность наступления метастабильного состояния в каждом переходе входного сигнала, а С2 описывает скорость наступления этого состояния [5].
На рис. 4 показана схема метода по исследованию характеристик метастабильности триггеров ПЛИС фирмы Xilinx [4, 5]. Подобный метод использует и фирма Altera [6]. Если асинхронный сигнал Data меняется в пределах окна принятия решения вследствие несоблюдения временных требований по установке и удержанию сигнала DATA, то выход триггера 1 будет находиться в метастабильном состоянии (или логический ноль, или логическая единица). Триггеры 1 и 2 включены по принципу простейшей схемы синхронизирующего устройства, которое за определенное время позволяет выйти из метастабильного состояния. В этом случае период синхроимпульса берется бóльшим, чем время tmet. Поэтому к моменту появления второго переднего фронта синхроимпульса с учетом времени установкиудержания триггера 2 выход QB становится копией сигнала DATA.
Выходной сигнал QА триггера 1 параллельно поступает на триггер 2, который записывается в нем по переднему фронту синхроимпульса, и на триггер 3, который записывается по срезу синхроимпульса. В случае если выход QА будет находиться в метастабильном состоянии, то триггер 3 по первому срезу фронта синхроимпульса CLK может зафиксировать наличие логического нуля на выходе QА. По второму переднему фронту синхроимпульса выход QB установится в положение логической единицы, и на выходе логического элемента исключающего ИЛИ фиксируется логическая единица, которая будет записана в триггер 4 по срезу второго синхроимпульса. Эта единица распознается как отказ вследствие наличия метастабильности. 16разрядный счетчик подсчитывает число таких отказов.
На рис. 5 показана связь метастабильности со средним временем между отказами ПЛИС фирмы Altera. Константы С1 и С2 определяются следующим образом [6]:
(4) |
и
(5) |
Увеличение или уменьшение значения константы С1 перемещает зависимость MTBF от tmet вверх или вниз, то есть масштабирует MTBF линейно. Константа С2 влияет на угол наклона зависимости MTBF от tmet. Увеличение частоты тактового сигнала fCLK приводит к сдвигу вправо зависимость MTBF от tmet и к снижению значения MTBF.
Зарубежные фирмыпроизводители БИС и ПЛИС дают информацию по константам С1 и С2. Задаваясь требуемым значением MTBF, можно рассчитать время tmet [6]:
(6) |
В качестве примера рассмотрим расчет констант С1 и С2 по рис. 6 для ИС74ALS серии фирмы TI [3]. Произвольно выберем MTBF1 = 10−2 с и MTBF2 = 102 с. По графику определим величины tmet1 = 10,5 нс и tmet2 = 19,5 нс и рассчитаем С2:
Для наихудшего случая определим константу С1 по формуле:
Подставим полученные значения в формулу (2) и получим формулу для определения MTBF74ALS серии:
(7) |
Проведем расчет времени выхода из метастабильности при величине MTBF 1000 лет при работе синхронизирующего устройства с частотой 25 МГц и 100 000 изменений асинхронного информационного сигнала в секунду (fDATA = 105 Гц) по справочным данным (табл. 2). За 1 год приближенно примем 3×107 с. Согласно таблице 2 серия 74HCxx проигрывает другим сериям по представленным в таблице показателям.
из метастабильности при величине MTBF 1000 лет
при работе синхронизирующего устройства
Фирма производитель |
Серия, тип ИС |
С1, c | С2, 1/нс | tmet, нс |
---|---|---|---|---|
Altera | FLEX10K, FLEX 8000, FLEX 6000 |
1,01×10−13 | 12,68 | 1,79 |
MAX9000 | 2,98×10−17 | 5,023 | 2,91 | |
TI* | 74TTLxx | 2,9×10−4 | 0,74 | 60,17 |
74LSxx | 4,8×10−3 | 0,74 | 63,96 | |
74ALSxx | 8,7×10−6 | 1 | 41,02 | |
74ASxx | 1,4×103 | 4 | 14,98 | |
74Fxx | 1,9×108 | 9,2 | 7,8 | |
74HCxx | 1,46×10−6 | 0,55 | 71,34 | |
Xilinx | XC4005E3 | 0,1×10−9 | 16,1 | 1,84 |
Покажем, что незначительное увеличение tmet сильно влияет на величину MTBF. Предположим что мы проектируем синхронизирующее устройство с MTBF 1 год на ПЛИС EPF8452A c fDATA = 2 МГц и fCLK = 10 МГц и константами С1 и С2, указанными в таблице 1:
tmet = (Ln (3×107×10×106×2×106×C1))/C2 = 1,41 нс. | (8) |
В технической документации фирмы Altera при проектировании отказоустойчивых синхронизирующих устройств рекомендуется найденное значение tmet прибавить к задержке tCO и повторно провести временной анализ. Если требуется спроектировать синхронизирующее устройство с MTBF 10 лет, то время выхода из метастабильности составит 1,59 нс.
Фирма Xilinx использует формулу (1) для расчета MTBF. В техническом отчете [4,5] приводятся экспериментально определенные значения константы С2 для триггеров тактируемых фронтом синхросигнала конфигурируемых логических блоков (КЛБ, CLB) и для триггеров блоков ввода/вывода (B/В, IOB). Например, для ПЛИС XC4005E3: С2 = 16,1 1/нс для триггеров КЛБ и С2 = 19,4 1/нс для триггеров блоков B/В. Константа С1 для рассмотренных в отчете серий ПЛИС задается С1 = 0,1 нс. При синхронизации асинхронного информационного сигнала триггеров КЛБ и блоков В/В, изменяющегося с частотой fDATA = 1 МГц, тактовым сигналом с частотой fCLK = 10 МГц, среднее время между отказами определяется по формуле [4]:
MTBF = 10−3×eC2×tmet. | (9) |
На рис. 7 показана зависимость среднего времени между отказами для триггеров КЛБ и блоков B/B ПЛИС фирмы Xilinx (fDATA = 1 МГц, fCLK = 10 МГц). На рисунке видно, что если при проектировании высокоскоростных систем на ПЛИС фирмы Xilinx учитывать задержки срабатывания триггеров вследствие метастабильности 23 нс, то MTBF, обусловленное этим явлением, может быть более миллиона лет.
фирмы Xilinx (fDATA = 1 МГц, fCLK = 10 МГц)
При расчете схемы синхронизирующего устройства, состоящего из одного триггера, на ИС средней степени интеграции, например на ИС типа 74ALS74 (TI), допустимое время пребывания в метастабильном состоянии триггера синхронизирующего устройства составляет:
При fCLK = 10 МГц, fDATA = 100 кГц и tSU = 25 нс допустимое время составляет 75 нс, а MTBF синхронизирующего устройства составит:
При fCLK = 16 МГц допустимое время в метастабильном состоянии составит 37,5 нс, а MTBF:
При увеличении fCLK до 20 МГц, то есть на 20%, MTBF синхронизирующего устройства уже составит 6800 с, или примерно 2 ч.
Если синхронизирующее устройство состоит из двух триггеров, то MTBF может быть найдено по формуле [7]:
(10) |
Предположим, что в синхронизирующем устройстве используются два триггера 74ALS74. При fCLK = 10 МГц, fDATA = 100 кГц, tSU = 25 нс среднее время между отказами составит:
Общей рекомендацией по снижению метастабильности является: использование триггеров с более высоким быстродействием, то есть с большим значением С2; использование цепочки последовательно включенных триггеров с общим синхросигналом, то есть на каждом асинхронном входе должно последовательно стоять два или более триггера для увеличения допустимого tmet; увеличение длительности периода синхросигнала, что приводит к уменьшению вероятности попадания информационного сигнала DATA в окно метастабильности, а также использование триггеров с иммунитетом к метастабильности, например ИС (ИС серии 74F50XXX фирмы Philips Semiconductors) [8].
Литература
- Джонсон Г. В., Грэхем М. Конструирование высокоскоростных цифровых устройств: начальный курс черной магии. Пер. с англ. М.: Издательский дом «Вильямс», 2006.
- Уэйкерли Д. Ф. Проектирование цифровых устройств. Том I / Пер. с англ. М.: Постмаркет, 2002.
- Texas Instruments. Metastable response in 5v logic circuits. sdya006.pdf. February 1997.
- www.xilinx.com. Xilinx_metastable_recovery_2.pdf. Metastability recovery in Xilinx FPGAs.
- www.xilinx.com. Xapp094.pdf. Application note. Metastable Recovery. XAPP 094 November 24, 1997 (Version 2.1).
- www.altera.com. Metastability in Altera Devices. Application Note 42. May 1999, ver.4. an042.pdf.
- Texas Instruments. Chris Wellheuser. Metastability performance of clocked FIFOs. FirstIn, FirstOut Technology. Advanced System Logic Semiconductor Group. SCZA004A.pdf.
- Philips Semiconductors. 74F50109. Synchronizing dual JK positive edgetriggered flipflop with metastable immune characteristics. Product specification. IC15. Data Handbok. 1990. Sep. 14.