Выпуск #6/2005
В.Телец, С.Цыбин, А.Быстрицкий, С.Подъяпольский.
ПЛИС для космических применений. Архитектурные и схемотехнические особенности
ПЛИС для космических применений. Архитектурные и схемотехнические особенности
Просмотры: 3309
Программируемые логические ИС (ПЛИС) - это уникальная возможность для разработки электронной аппаратуры, предназначенной для использования в космосе. Даже при нахождении системы на орбите ПЛИС позволяют проводить ее реконфигурацию. Большинство электронных узлов американского марсохода построено на ПЛИС [1, 2]. Однако аппаратура, размещенная на космических объектах, в большой мере подвержена воздействию внешних факторов. Наибольшую опасность для функционирования ПЛИС представляют космические излучения: галактическое, солнечное и радиационные пояса заряженных частиц Земли. Каковы же методы обеспечения стойкости ПЛИС к космическим излучениям?
Радиационные эффекты, воздействующие на ПЛИС
Главное, что отличает ПЛИС, проектируемую для космических применений, от коммерческих микросхем, - это окружающие условия, в которых она будет находиться. При разработке таких ПЛИС должны учитываться два важнейших фактора: эффекты, вызванные общей накопленной дозой, и эффекты одиночных сбоев [3].
Общая накопленная доза. Эффекты, вызванные общей накопленной дозой, выражаются, прежде всего, в повышении статического тока потребления, возникающего из-за индуцированных и захваченных на границе Si-SiO2 дырок, которые формируют паразитный инверсионный канал в p-подложке. Возникают токи утечки между стоком и истоком n-канального полевого транзистора (паразитный краевой транзистор), между двумя диффузионными n+-слоями под слоем толстого окисла, между диффузионной n+- шиной и стоком канального транзистора и т.п. Для технологии "кремний на изоляторе" возможно появление токов утечки на тыльной стороне транзисторов (на границе раздела диэлектрическая подложка-эпитаксионный слой). Другой важный эффект, вызванный общей накопленной дозой, - деградация уровней входных логических сигналов микросхемы и динамических параметров. Он связан с асимметричной деградацией порогов напряжения n- и p-канальных транзисторов.
Следует иметь в виду, что для использования ИС в космических применениях в большинстве случаев не требуется "стойкий" вариант исполнения, выдерживающий общую накопленную дозу до 200-300 крад (Si). В условиях низкоинтенсивного излучения космического пространства и экранирования обшивкой космического аппарата для большинства применений вполне достаточно радиационной стойкости 50, а то и 10 крад [4].
Одиночные сбои. Локальные радиационные эффекты (одиночные сбои, тиристорные эффекты и др.) в полупроводниковых приборах возникают в условиях космоса под воздействием частиц высоких энергий. Если заряд, собранный p-n-переходом транзистора ячейки памяти, больше некоего критического, то происходит изменение состояния - сбой. Примечательно, что объем критического заряда зависит от особенностей проектирования ИС.
Все локальные радиационные эффекты можно поделить на три основные категории: кратковременные (безопасные), потенциально катастрофические и катастрофические.
К кратковременным относятся два эффекта: одиночный сбой (изменение состояния триггера или ячейки памяти) и возникновение переходного процесса (иголки) на выходе комбинаторной логики, а также специальные случаи, выделяющиеся по своему воздействию на схему целиком.
К потенциально катастрофическим относится тиристорный эффект (защелкивание) - состояние защелки тока высокой плотности, вызванное индукцией тока от прохождения частицы. При сбое в конфигурационной памяти возможно закорачивание выходов двух логических элементов через программируемое межсоединение [5]. На выходе логических элементов стоят достаточно мощные буфера, их закорачивание приводит к локальному разогреву и даже выходу ПЛИС из строя (выгорание шин или эффект электромиграции).
К катастрофическим отказам относится, в частности, пробой диэлектрика в ПЛИС, построенных на основе структур окисел-нитрид-окисел [6,7]. Поэтому для радиационно стойких приборов на основе antifuse-перемычек фирма Actel специально увеличивает толщину диэлектрика, что, правда, приводит к увеличению времени программирования с нескольких минут до двух часов.
Влияние архитектуры ПЛИС на их устойчивость к одиночным сбоям
Для космических применений наиболее популярна ПЛИС на основе ячеек статической памяти. Ее достоинства - наибольшая логическая емкость и перепрограммируемость. Недостаток - потенциальная неустойчивость конфигурационной памяти к одиночным сбоям. Для каждой серии ПЛИС характерна линейная зависимость конфигурационной памяти от логической емкости ПЛИС. Так, при емкости 50 тыс. вентилей для серии XC4000XL требуется порядка 1,2 млн. бит конфигурационной памяти, для FLEX10K - 620 тыс. бит, для AT40K - всего 350 тыс. бит. Очевидно, что от выбора архитектуры зависит эффективность использования конфигурационной памяти. Чем меньше объем этой памяти, тем выше устойчивость к одиночным сбоям.
Другой популярный вид ПЛИС для использования в космосе - ПЛИС с программируемыми элементами типа antifuse. Потенциально радиационно стойкие antifuse-перемычки делают ПЛИС более стойкой по сравнению с ПЛИС на основе статической памяти. К недостаткам такого подхода можно отнести: слишком большое количество программируемых элементов на число пользовательских вентилей (например, A14100 фирмы Actel емкостью 10 тыс. пользовательских вентилей содержит более 800 тыс. antifuse-перемычек); сложную технологию, требующую использования, кроме самих перемычек, различных КМОП-транзисторов; высокие накладные расходы по площади для организации программирования и прожигания перемычек током 10-20 мА. Еще один негативный момент - деградация параметров подкачки внутреннего напряжения для пропуска логической "1" через высоковольтные n-канальные транзисторы. Кроме того, цена ПЛИС с antifuse-перемычками в разы выше, чем ПЛИС на основе статических ячеек памяти. ПЛИС с antifuse-перемычками наиболее эффективны в аппаратуре, где нет высоких требований к степени интеграции и отсутствует необходимость реконфигурации систем.
Всесторонние исследования ПЛИС относительно одиночных сбоев проведены компанией iRoC Technologies в 2004 году для фирмы Actel [8]. Были исследованы коммерческие ПЛИС трех фирм: Xilinx (Virtex II, Spartan-3 на базе статического ОЗУ), Altera (Cyclone также на базе статического ОЗУ) и Actel (Axcelerator на базе antifuse-перемычек и ProASICPLUS на базе flash). Испытания при одинаковых для всех микросхем условиях показали наиболее высокую радиационную стойкость ПЛИС Actel. Но из результатов испытаний следует, что для ПЛИС на базе статических ячеек только 10-20% сбоев в конфигурационной памяти приводят к потере функциональности схемы.
Совершенно ясно, что дальнейшее развитие радиационно стойких ПЛИС более высокой логической емкости требует новых архитектурных и системных решений, отличающихся от решений для коммерческих ПЛИС. Очевидно, что для устойчивости к одиночным сбоям необходимо верифицировать содержание конфигурационной памяти и корректировать ее в случае выявления ошибки. Системы, основанные на ПЛИС, должны быть спроектированы так, чтобы иметь возможность выдавать сообщение о сбое в конфигурационной памяти и делать паузу для перезагрузки (частичной) конфигурационной памяти ПЛИС. При этом желательно, чтобы ПЛИС продолжала функционировать.
По мере уменьшения проектных норм становится реальным вводить специальные ячейки конфигурационной памяти, устойчивые к одиночным сбоям, конфигурационные ячейки с тройным резервированием с мажоритарной логикой для каждого конфигурационного бита с дополнением к этому аппаратных средств регенерации (восстановления) информации в конфигурационной памяти.
Основные решения, используемые в ПЛИС на основе ячеек статической памяти для бортовых применений
Одним из решений повышения устойчивости ПЛИС к одиночным сбоям является замена некоторых или всех ячеек конфигурационной памяти ПЛИС устойчивыми элементами (ячейками, устойчивыми к единичным сбоям). В последние годы были спроектированы многочисленные защищенные ячейки памяти, каждая со своими особыми характеристиками [9]. Стандартная ячейка памяти, состоящая из шести транзисторов, в режиме хранения имеет два транзистора в открытом состоянии и два - в закрытом, следовательно, в ячейке всегда имеется два восприимчивых узла к одиночным сбоям. При прохождении частицы через область закрытого транзистора (сток) заряд, генерированный этой частицей, способен вызвать переключение транзистора в состояние "открыто". Это событие вызовет изменение информации, хранящейся в памяти. Если же между выходом одного инвертора и входом другого вставить резистор, сигнал может быть задержан на какое-то время, предотвращая переброску бита информации. Ячейка памяти с резисторами, устойчивая к одиночным сбоям, была первым решением, предложенным по этой проблеме (рис.1) [10]. Такая ячейка может различать опрокидывание вследствие кратковременного импульса напряжения и действительно записывающий сигнал. Высокое сопротивление обеспечивается, например, затворным резистором, который может строиться с использованием двух уровней поликремния. Основные недостатки ячейки - температурная чувствительность, уязвимость при низких температурах и необходимость дополнительной маски для затворного резистора в процессе производства. Однако выполнение функции сопротивления может обеспечить длинноканальный транзистор, исключив применение дополнительной маски в процессе производства. В этом случае топология затворного сопротивления дает малый вклад в плотность схемы.
Ячейки памяти могут быть защищены обратной связью, предназначенной для восстановления данных, которые были изменены из-за воздействия отдельной частицы. Основные проблемы при этом - размещение дополнительных транзисторов обратной связи и появление новых чувствительных узлов. Примерами этого метода служат защищенная ячейка памяти фирмы IBM (рис.2) [11], ячейка HIT (Heavy Ion Tolerant) (рис.3) [12] и ячейка памяти Канариса (рис.4) [13]. Основными преимуществами этого метода являются температурный запас и запас по напряжению, независимость от технологического процесса и хорошая устойчивость к одиночным сбоям. Главный недостаток - накладные расходы площади кремния. IBM-ячейка имеет шесть дополнительных транзисторов, из которых PA и PB именуются транзисторами, управляющими состоянием данных, PC и PD - проходными транзисторами, PE и PF - перекрестными транзисторами. Чувствительными узлами являются A, B, C и D. HIT-ячейка также имеет шесть дополнительных транзисторов в обратной связи. Тестирование устойчивости к одиночным сбоям [10] показало, что защищенная HIT-ячейка по меньшей мере в 10 раз менее чувствительна, чем стандартная ячейка памяти. Подход Канариса состоит из использования ячейки памяти, включающей AND-NOR и OR-NAND схемы, что обеспечивает защиту от однократного воздействия космического излучения. Интересный аспект этого решения в том, что его можно применять как для комбинационной, так и для последовательной логики. Основной недостаток Канарис-защищенной ячейки памяти - продолжительное время восстановления после опрокидывания и большое число используемых транзисторов, а следовательно, и большая площадь.
Другой схемный способ позволяет сохранять данные в двух различных местах таким образом, что испорченная часть может быть восстановлена. Примерами этой техники являются DICE (Dual Inter-locked storage Cell)-ячейка (рис.5) [14] и NASA-ячейка (рис.6) [15, 16]. Основные преимущества этого метода - также запас по температуре и по напряжению, независимость технологического процесса, хорошая устойчивость к одиночным сбоям и высокая производительность (время чтения/записи). DICE-ячейка состоит из симметричной структуры четырех инверторов, каждый из которых имеет n-канальный и p-канальный транзисторы, отдельно управляемые смежными узлами, сохраняющими одно и то же состояние. Эти четыре узла DICE-ячейки формируют пару защелок на двух альтернативных путях, зависящих от сохраняемого логического значения. Один из смежных узлов управляет состоянием проводимости транзистора, соединяющего данный узел с энергетической шиной, а другой узел блокируется комплиментарным транзистором инвертора, изолирующим его от противоположной энергетической шины. NASA-ячейки также сохраняют информацию в двух различных местах. Это обусловливает избыточность и защиту данных при сбое в одном из узлов. Обратная связь основывается на использовании слаботочного и сильноточного транзисторов. Размеры слаботочного транзистора, отвечающего за время восстановления, составляют приблизительно 1/3 размера обычного транзистора.
Тройное модульное резервирование (TMR) также является обоснованной техникой для защиты ячеек памяти в отношении одиночных сбоев. Решение заключается в увеличении в три раза числа ячеек памяти и соединении в мажоритарную схему выбора корректно сохраненного значения. Однако данное решение не позволяет избежать сбоя и поэтому необходим дополнительный механизм для восстановления корректного значения. Кроме того, TMR привносит большие накладные расходы по площади. Для восстановления правильного значения было предложено решение [17, 18], использующее три мажоритарные схемы с обратной связью (рис.7).
Другое решение состоит в том, что устойчивая к сбою ячейка памяти (рис.8) [19] содержит девять чувствительных защелок (U1-U9), одну мажоритарную схему (U10) и три инвертора (U11-U13). Каждая чувствительная защелка прозрачна (режим записи), когда ее тактовый сигнал имеет высокий уровень, и заблокирована (режим хранения), когда ее тактовый сигнал имеет низкий уровень. В режиме записи данные, поступающие на вход D, появляются также на выходе Q. В режиме хранения данные, хранящиеся в защелке, появляются на выходе Q, и любые изменения данных на входе D заблокированы. Две чувствительные защелки в тандеме (например, U1 и U2), тактовый и комплиментарный тактовый сигналы, формируют D-триггер. При наличии тактового сигнала сформированные D-триггеры (U1 и U2), (U3 и U4) и (U5 и U6) срабатывают по заднему фронту тактовых сигналов CLKA, CLKB и CLKC, соответственно. Каждый из этих четырех тактовых сигналов поочередно действует на 25% периода главного тактового сигнала и сфазирован по нему. Эти тактовые сигналы в действительности не сложны для генерации простой схемой. Управление точностью четырех тактовых сигналов не составляет проблемы, так как защелка, временно находящаяся в режиме записи, будет корректно функционировать при наличии асимметрии или перекрытии сигналов.
Устойчивость к сбою схемы, представленной на рис.8, является результатом двух отдельных параллелизмов: пространственного, проистекающего из трех параллельных ветвей схем, и временного, происходящего из уникальной схемы тактирования. Кроме того, при использовании DICE-защелок временное защелкивание может приводить к защите многих узлов от воздействия космического излучения. В отличие от других подходов защиты от сбоев данное решение устойчиво к эффектам второго и третьего порядка. Временное защелкивание, в его простейшей форме, очевидно, невосприимчиво к сбою вследствие однократной бомбардировки космическими частицами узла схемы (эффект первого порядка). Это также справедливо для защелок на основе TMR- и DICE-ячеек. Бомбардировка нескольких узлов (эффект второго порядка), несмотря на очень малую вероятность события, будет, несомненно, причиной сбоев, если такие ячейки расположены в реальной окружающей среде.
При сравнении описанных решений основными характеристиками могут служить число транзисторов, метод, порядок устойчивости к сбою, способность или неспособность накапливать сбои. Например, стандартные защелки имеют восприимчивость первого порядка, другими словами, они могут быть опрокинуты простым однократным ударом. Некоторые из них требуют множественных ударов для сбоя ячейки. Это TMR-, DICE-ячейки памяти и простая временная ячейка памяти. Временные ячейки, построенные на основе DICE-защелок, например, имеют второй и третий порядок устойчивости.
Несмотря на то, что эти устойчивые к сбою ячейки памяти представляют собой эффективные решения, применяемые в настоящее время в ASIC, при использовании в ПЛИС они вносят нежелательный вклад в площадь и производительность. Для защиты ПЛИС нельзя просто использовать широко распространенные методы вследствие ограничений их применения для программируемых архитектур. Защищенные ячейки будут, по меньшей мере, удваивать все области разводки, которые представляют почти 90% чувствительной части чипа.
Другим способом снижения влияния одиночных сбоев является обнаружение и корректировка ошибок с помощью корректирующих кодов. Примером служит код Хэмминга, который может обнаруживать все одинарные и двойные битовые ошибки и исправлять все однобитовые ошибки. Этот метод кодирования рекомендуется для систем с малой вероятностью множественных ошибок в простых структурах данных (например, только один ошибочный бит в байте данных). Код удовлетворяет соотношению 2k _ m + k + 1, где m + k - полное число битов в закодированном слове, m - число информационных битов в оригинальном слове, k - число проверочных битов в закодированном слове. Из этого уравнения следует, что код Хэмминга может исправлять все однобитовые ошибки в n-битовом слове и обнаруживать двухбитовые ошибки, когда везде используется бит проверки четности. В соответствии с числом проверочных битов возможно исправление более чем однобитовых ошибок (рис.9).
В отношении ПЛИС код может непосредственно использоваться для защиты встроенной (пользовательской) памяти или регистров в кластере. Возможны и более сложные реализации. Например, определенные биты в конфигурационной памяти могут быть сгруппированы и закодированы для избежания сбоев.
Сопоставление основных решений - защищенных ячеек памяти, кода Хэмминга и TMR - приведено в таблице.
Основываясь на приведенных выше исследованиях для ПЛИС с крупнозернистой архитектурой, использующей относительно небольшое количество конфигурационной памяти, с точки зрения затрат на площадь целесообразно применять TRM-технологии с регенерацией. Для мелкозернистых архитектур ПЛИС, требующих относительно большого количества конфигурационной памяти, предлагается использовать защищенные от одиночных сбоев ячейки (ячейки с развязывающими резисторами и физическим резервированием). Код Хемминга наиболее перспективен для защиты встроенных блоков пользовательской памяти ПЛИС.
Важно отметить, что на выбор того или иного решения сильно влияет организация конфигурационной памяти (последовательная или параллельная загрузка матрицы памяти, возможность произвольного доступа и т.д.). Например, если конфигурационная память организована как последовательно загружаемая матрица, то использование защищенных ячеек с высокоомными резисторами или кода Хемминга невозможно, но подойдут TMR-решения или DICE-ячейки.
Авторы выражают признательность Чумакову Александру Иннокентьевичу за замечания и пожелания, высказанные во время работы над статьей.
Литература
1. K.Morris. Upset with Neutrons.- FPGA and Programmable Logic Journal, v.3, no.3, April 20, 2004.
2. K.Morris. FPGA in Space.- FPGA and Programmable Logic Journal, v.4, no.5, August 5, 2004.
3. Чумаков А.И. Действие космической радиации на ИС. - М.: Радио и связь, 2004.
4. K.A.LaBel, D.K.Hawkins, J.A.Kinnison, W.J.Stapor and P.W.Marshall. Single Event Effect Characteristics of CMOS Devices Employing Various Epi-layer Thicknesses. 1995 Third European Conference on Radiation and Its Effects on Components and Systems Proceedings.
5. J.J.Wang, R.Katz, J.Sun, B.Cronquist, J.McCollum, T.Speers and W.Plants. SRAM Based Re-programmable FPGA for Space Applications.- IEEE Transactions on Nuclear Science, NS-46, 1999.
6. R.Katz, K.LaBel, J.J.Wang, B.Cronquist, R.Koga, S.Penzin and G.Swift. Radiation Effect on Current Field Programmable Technologies. - IEEE Transactions on Nuclear Science, NS-44, 1997.
7. R.Katz, J.J.Wang, R.Koga, K.LaBel, J.McCollum, R.Brown, R.Reed, B.Cronquist, S.Crain, T.Scott, W.Paolini, and B.Sin. Current Radiation Issues for Programmable Elements and Devices.- IEEE Transactions on Nuclear Science, NS-45, 1998.
8. http://www.actel.com/documents/RadResultsIROCreport.pdf
9. Чумаков А.И. Методы защиты микросхем от единичных сбоев.- В кн.: Сб. научных трудов "Электроника и автоматизация в научных исследованиях"/Под ред. В.М. Рыбина. - М.: Энергоатомиздат, 1988, с.114-115.
10. Weaver, H. et al. An SEU Tolerant Memory Cell Derived from Fundamental Studies of SEU Mechanisms in SRAM.- IEEE Transactions on Nuclear Science. NS-34:6, pp. 1281-1286.
11. L.Rockett. SEU Hardened Scaled CMOS SRAM Cell Design Using Gate Resistors.- IEEE Transactions on Nuclear Science. October, 1992.
12. R.Velazco, D.Bessot, S.Duzellir, R.Ecoffet, R.Koga. Two Memory Cells Suitable for the Design of SEU-Tolerant VLSI Circuits.- IEEE Transactions on Nuclear Science. NS-41:6, pp. 2229-2234.
13. D.Wiseman, J.Canaris, S.Whitaker, J.Vembrux, K.Cameron, K.Arave, L.Arave, N.Liu, K.Liu.- Design and Testing of SEU/SEL Immune Memory and Logic Circuits in a Commercial CMOS Process.- NSREC Conference, 1993.
14. J.Canaris, S.Whitaker.- Circuit techniques for the radiation environment of space.- IEEE 1995 Custom Integrated Circuits Conference.
15. S.Whitaker, J.Canaris, K.Liu.- SEU Hardened Memory Cells for CCSDS REED Solomon Encoder. - IEEE Transactions on Nuclear Science, NS-38:6, pp. 1471-1477.
16. M.N.Liu, S.Whitaker. Low power SEU immune CMOS memory circuits.- IEEE Trans. On Nuclear Science, NS-39, Dec. 1992.
17. C.Carmichael, E.Fuller, J.Fabula, F.Lima. Proton Testing of SEU Mitigation Methods for the VirtexR FPGA.- MAPLD, 2001.
18. R.Katz et al. An SEU-Hard flip-Flop for Antifuse FPGAs.- MAPLD, 2001.
19. D.Mavis, P.Eaton. SEU and SET Mitigation Techniques for FPGA Circuit and Configuration Bit Storage Design.- MAPLD 2000.
Главное, что отличает ПЛИС, проектируемую для космических применений, от коммерческих микросхем, - это окружающие условия, в которых она будет находиться. При разработке таких ПЛИС должны учитываться два важнейших фактора: эффекты, вызванные общей накопленной дозой, и эффекты одиночных сбоев [3].
Общая накопленная доза. Эффекты, вызванные общей накопленной дозой, выражаются, прежде всего, в повышении статического тока потребления, возникающего из-за индуцированных и захваченных на границе Si-SiO2 дырок, которые формируют паразитный инверсионный канал в p-подложке. Возникают токи утечки между стоком и истоком n-канального полевого транзистора (паразитный краевой транзистор), между двумя диффузионными n+-слоями под слоем толстого окисла, между диффузионной n+- шиной и стоком канального транзистора и т.п. Для технологии "кремний на изоляторе" возможно появление токов утечки на тыльной стороне транзисторов (на границе раздела диэлектрическая подложка-эпитаксионный слой). Другой важный эффект, вызванный общей накопленной дозой, - деградация уровней входных логических сигналов микросхемы и динамических параметров. Он связан с асимметричной деградацией порогов напряжения n- и p-канальных транзисторов.
Следует иметь в виду, что для использования ИС в космических применениях в большинстве случаев не требуется "стойкий" вариант исполнения, выдерживающий общую накопленную дозу до 200-300 крад (Si). В условиях низкоинтенсивного излучения космического пространства и экранирования обшивкой космического аппарата для большинства применений вполне достаточно радиационной стойкости 50, а то и 10 крад [4].
Одиночные сбои. Локальные радиационные эффекты (одиночные сбои, тиристорные эффекты и др.) в полупроводниковых приборах возникают в условиях космоса под воздействием частиц высоких энергий. Если заряд, собранный p-n-переходом транзистора ячейки памяти, больше некоего критического, то происходит изменение состояния - сбой. Примечательно, что объем критического заряда зависит от особенностей проектирования ИС.
Все локальные радиационные эффекты можно поделить на три основные категории: кратковременные (безопасные), потенциально катастрофические и катастрофические.
К кратковременным относятся два эффекта: одиночный сбой (изменение состояния триггера или ячейки памяти) и возникновение переходного процесса (иголки) на выходе комбинаторной логики, а также специальные случаи, выделяющиеся по своему воздействию на схему целиком.
К потенциально катастрофическим относится тиристорный эффект (защелкивание) - состояние защелки тока высокой плотности, вызванное индукцией тока от прохождения частицы. При сбое в конфигурационной памяти возможно закорачивание выходов двух логических элементов через программируемое межсоединение [5]. На выходе логических элементов стоят достаточно мощные буфера, их закорачивание приводит к локальному разогреву и даже выходу ПЛИС из строя (выгорание шин или эффект электромиграции).
К катастрофическим отказам относится, в частности, пробой диэлектрика в ПЛИС, построенных на основе структур окисел-нитрид-окисел [6,7]. Поэтому для радиационно стойких приборов на основе antifuse-перемычек фирма Actel специально увеличивает толщину диэлектрика, что, правда, приводит к увеличению времени программирования с нескольких минут до двух часов.
Влияние архитектуры ПЛИС на их устойчивость к одиночным сбоям
Для космических применений наиболее популярна ПЛИС на основе ячеек статической памяти. Ее достоинства - наибольшая логическая емкость и перепрограммируемость. Недостаток - потенциальная неустойчивость конфигурационной памяти к одиночным сбоям. Для каждой серии ПЛИС характерна линейная зависимость конфигурационной памяти от логической емкости ПЛИС. Так, при емкости 50 тыс. вентилей для серии XC4000XL требуется порядка 1,2 млн. бит конфигурационной памяти, для FLEX10K - 620 тыс. бит, для AT40K - всего 350 тыс. бит. Очевидно, что от выбора архитектуры зависит эффективность использования конфигурационной памяти. Чем меньше объем этой памяти, тем выше устойчивость к одиночным сбоям.
Другой популярный вид ПЛИС для использования в космосе - ПЛИС с программируемыми элементами типа antifuse. Потенциально радиационно стойкие antifuse-перемычки делают ПЛИС более стойкой по сравнению с ПЛИС на основе статической памяти. К недостаткам такого подхода можно отнести: слишком большое количество программируемых элементов на число пользовательских вентилей (например, A14100 фирмы Actel емкостью 10 тыс. пользовательских вентилей содержит более 800 тыс. antifuse-перемычек); сложную технологию, требующую использования, кроме самих перемычек, различных КМОП-транзисторов; высокие накладные расходы по площади для организации программирования и прожигания перемычек током 10-20 мА. Еще один негативный момент - деградация параметров подкачки внутреннего напряжения для пропуска логической "1" через высоковольтные n-канальные транзисторы. Кроме того, цена ПЛИС с antifuse-перемычками в разы выше, чем ПЛИС на основе статических ячеек памяти. ПЛИС с antifuse-перемычками наиболее эффективны в аппаратуре, где нет высоких требований к степени интеграции и отсутствует необходимость реконфигурации систем.
Всесторонние исследования ПЛИС относительно одиночных сбоев проведены компанией iRoC Technologies в 2004 году для фирмы Actel [8]. Были исследованы коммерческие ПЛИС трех фирм: Xilinx (Virtex II, Spartan-3 на базе статического ОЗУ), Altera (Cyclone также на базе статического ОЗУ) и Actel (Axcelerator на базе antifuse-перемычек и ProASICPLUS на базе flash). Испытания при одинаковых для всех микросхем условиях показали наиболее высокую радиационную стойкость ПЛИС Actel. Но из результатов испытаний следует, что для ПЛИС на базе статических ячеек только 10-20% сбоев в конфигурационной памяти приводят к потере функциональности схемы.
Совершенно ясно, что дальнейшее развитие радиационно стойких ПЛИС более высокой логической емкости требует новых архитектурных и системных решений, отличающихся от решений для коммерческих ПЛИС. Очевидно, что для устойчивости к одиночным сбоям необходимо верифицировать содержание конфигурационной памяти и корректировать ее в случае выявления ошибки. Системы, основанные на ПЛИС, должны быть спроектированы так, чтобы иметь возможность выдавать сообщение о сбое в конфигурационной памяти и делать паузу для перезагрузки (частичной) конфигурационной памяти ПЛИС. При этом желательно, чтобы ПЛИС продолжала функционировать.
По мере уменьшения проектных норм становится реальным вводить специальные ячейки конфигурационной памяти, устойчивые к одиночным сбоям, конфигурационные ячейки с тройным резервированием с мажоритарной логикой для каждого конфигурационного бита с дополнением к этому аппаратных средств регенерации (восстановления) информации в конфигурационной памяти.
Основные решения, используемые в ПЛИС на основе ячеек статической памяти для бортовых применений
Одним из решений повышения устойчивости ПЛИС к одиночным сбоям является замена некоторых или всех ячеек конфигурационной памяти ПЛИС устойчивыми элементами (ячейками, устойчивыми к единичным сбоям). В последние годы были спроектированы многочисленные защищенные ячейки памяти, каждая со своими особыми характеристиками [9]. Стандартная ячейка памяти, состоящая из шести транзисторов, в режиме хранения имеет два транзистора в открытом состоянии и два - в закрытом, следовательно, в ячейке всегда имеется два восприимчивых узла к одиночным сбоям. При прохождении частицы через область закрытого транзистора (сток) заряд, генерированный этой частицей, способен вызвать переключение транзистора в состояние "открыто". Это событие вызовет изменение информации, хранящейся в памяти. Если же между выходом одного инвертора и входом другого вставить резистор, сигнал может быть задержан на какое-то время, предотвращая переброску бита информации. Ячейка памяти с резисторами, устойчивая к одиночным сбоям, была первым решением, предложенным по этой проблеме (рис.1) [10]. Такая ячейка может различать опрокидывание вследствие кратковременного импульса напряжения и действительно записывающий сигнал. Высокое сопротивление обеспечивается, например, затворным резистором, который может строиться с использованием двух уровней поликремния. Основные недостатки ячейки - температурная чувствительность, уязвимость при низких температурах и необходимость дополнительной маски для затворного резистора в процессе производства. Однако выполнение функции сопротивления может обеспечить длинноканальный транзистор, исключив применение дополнительной маски в процессе производства. В этом случае топология затворного сопротивления дает малый вклад в плотность схемы.
Ячейки памяти могут быть защищены обратной связью, предназначенной для восстановления данных, которые были изменены из-за воздействия отдельной частицы. Основные проблемы при этом - размещение дополнительных транзисторов обратной связи и появление новых чувствительных узлов. Примерами этого метода служат защищенная ячейка памяти фирмы IBM (рис.2) [11], ячейка HIT (Heavy Ion Tolerant) (рис.3) [12] и ячейка памяти Канариса (рис.4) [13]. Основными преимуществами этого метода являются температурный запас и запас по напряжению, независимость от технологического процесса и хорошая устойчивость к одиночным сбоям. Главный недостаток - накладные расходы площади кремния. IBM-ячейка имеет шесть дополнительных транзисторов, из которых PA и PB именуются транзисторами, управляющими состоянием данных, PC и PD - проходными транзисторами, PE и PF - перекрестными транзисторами. Чувствительными узлами являются A, B, C и D. HIT-ячейка также имеет шесть дополнительных транзисторов в обратной связи. Тестирование устойчивости к одиночным сбоям [10] показало, что защищенная HIT-ячейка по меньшей мере в 10 раз менее чувствительна, чем стандартная ячейка памяти. Подход Канариса состоит из использования ячейки памяти, включающей AND-NOR и OR-NAND схемы, что обеспечивает защиту от однократного воздействия космического излучения. Интересный аспект этого решения в том, что его можно применять как для комбинационной, так и для последовательной логики. Основной недостаток Канарис-защищенной ячейки памяти - продолжительное время восстановления после опрокидывания и большое число используемых транзисторов, а следовательно, и большая площадь.
Другой схемный способ позволяет сохранять данные в двух различных местах таким образом, что испорченная часть может быть восстановлена. Примерами этой техники являются DICE (Dual Inter-locked storage Cell)-ячейка (рис.5) [14] и NASA-ячейка (рис.6) [15, 16]. Основные преимущества этого метода - также запас по температуре и по напряжению, независимость технологического процесса, хорошая устойчивость к одиночным сбоям и высокая производительность (время чтения/записи). DICE-ячейка состоит из симметричной структуры четырех инверторов, каждый из которых имеет n-канальный и p-канальный транзисторы, отдельно управляемые смежными узлами, сохраняющими одно и то же состояние. Эти четыре узла DICE-ячейки формируют пару защелок на двух альтернативных путях, зависящих от сохраняемого логического значения. Один из смежных узлов управляет состоянием проводимости транзистора, соединяющего данный узел с энергетической шиной, а другой узел блокируется комплиментарным транзистором инвертора, изолирующим его от противоположной энергетической шины. NASA-ячейки также сохраняют информацию в двух различных местах. Это обусловливает избыточность и защиту данных при сбое в одном из узлов. Обратная связь основывается на использовании слаботочного и сильноточного транзисторов. Размеры слаботочного транзистора, отвечающего за время восстановления, составляют приблизительно 1/3 размера обычного транзистора.
Тройное модульное резервирование (TMR) также является обоснованной техникой для защиты ячеек памяти в отношении одиночных сбоев. Решение заключается в увеличении в три раза числа ячеек памяти и соединении в мажоритарную схему выбора корректно сохраненного значения. Однако данное решение не позволяет избежать сбоя и поэтому необходим дополнительный механизм для восстановления корректного значения. Кроме того, TMR привносит большие накладные расходы по площади. Для восстановления правильного значения было предложено решение [17, 18], использующее три мажоритарные схемы с обратной связью (рис.7).
Другое решение состоит в том, что устойчивая к сбою ячейка памяти (рис.8) [19] содержит девять чувствительных защелок (U1-U9), одну мажоритарную схему (U10) и три инвертора (U11-U13). Каждая чувствительная защелка прозрачна (режим записи), когда ее тактовый сигнал имеет высокий уровень, и заблокирована (режим хранения), когда ее тактовый сигнал имеет низкий уровень. В режиме записи данные, поступающие на вход D, появляются также на выходе Q. В режиме хранения данные, хранящиеся в защелке, появляются на выходе Q, и любые изменения данных на входе D заблокированы. Две чувствительные защелки в тандеме (например, U1 и U2), тактовый и комплиментарный тактовый сигналы, формируют D-триггер. При наличии тактового сигнала сформированные D-триггеры (U1 и U2), (U3 и U4) и (U5 и U6) срабатывают по заднему фронту тактовых сигналов CLKA, CLKB и CLKC, соответственно. Каждый из этих четырех тактовых сигналов поочередно действует на 25% периода главного тактового сигнала и сфазирован по нему. Эти тактовые сигналы в действительности не сложны для генерации простой схемой. Управление точностью четырех тактовых сигналов не составляет проблемы, так как защелка, временно находящаяся в режиме записи, будет корректно функционировать при наличии асимметрии или перекрытии сигналов.
Устойчивость к сбою схемы, представленной на рис.8, является результатом двух отдельных параллелизмов: пространственного, проистекающего из трех параллельных ветвей схем, и временного, происходящего из уникальной схемы тактирования. Кроме того, при использовании DICE-защелок временное защелкивание может приводить к защите многих узлов от воздействия космического излучения. В отличие от других подходов защиты от сбоев данное решение устойчиво к эффектам второго и третьего порядка. Временное защелкивание, в его простейшей форме, очевидно, невосприимчиво к сбою вследствие однократной бомбардировки космическими частицами узла схемы (эффект первого порядка). Это также справедливо для защелок на основе TMR- и DICE-ячеек. Бомбардировка нескольких узлов (эффект второго порядка), несмотря на очень малую вероятность события, будет, несомненно, причиной сбоев, если такие ячейки расположены в реальной окружающей среде.
При сравнении описанных решений основными характеристиками могут служить число транзисторов, метод, порядок устойчивости к сбою, способность или неспособность накапливать сбои. Например, стандартные защелки имеют восприимчивость первого порядка, другими словами, они могут быть опрокинуты простым однократным ударом. Некоторые из них требуют множественных ударов для сбоя ячейки. Это TMR-, DICE-ячейки памяти и простая временная ячейка памяти. Временные ячейки, построенные на основе DICE-защелок, например, имеют второй и третий порядок устойчивости.
Несмотря на то, что эти устойчивые к сбою ячейки памяти представляют собой эффективные решения, применяемые в настоящее время в ASIC, при использовании в ПЛИС они вносят нежелательный вклад в площадь и производительность. Для защиты ПЛИС нельзя просто использовать широко распространенные методы вследствие ограничений их применения для программируемых архитектур. Защищенные ячейки будут, по меньшей мере, удваивать все области разводки, которые представляют почти 90% чувствительной части чипа.
Другим способом снижения влияния одиночных сбоев является обнаружение и корректировка ошибок с помощью корректирующих кодов. Примером служит код Хэмминга, который может обнаруживать все одинарные и двойные битовые ошибки и исправлять все однобитовые ошибки. Этот метод кодирования рекомендуется для систем с малой вероятностью множественных ошибок в простых структурах данных (например, только один ошибочный бит в байте данных). Код удовлетворяет соотношению 2k _ m + k + 1, где m + k - полное число битов в закодированном слове, m - число информационных битов в оригинальном слове, k - число проверочных битов в закодированном слове. Из этого уравнения следует, что код Хэмминга может исправлять все однобитовые ошибки в n-битовом слове и обнаруживать двухбитовые ошибки, когда везде используется бит проверки четности. В соответствии с числом проверочных битов возможно исправление более чем однобитовых ошибок (рис.9).
В отношении ПЛИС код может непосредственно использоваться для защиты встроенной (пользовательской) памяти или регистров в кластере. Возможны и более сложные реализации. Например, определенные биты в конфигурационной памяти могут быть сгруппированы и закодированы для избежания сбоев.
Сопоставление основных решений - защищенных ячеек памяти, кода Хэмминга и TMR - приведено в таблице.
Основываясь на приведенных выше исследованиях для ПЛИС с крупнозернистой архитектурой, использующей относительно небольшое количество конфигурационной памяти, с точки зрения затрат на площадь целесообразно применять TRM-технологии с регенерацией. Для мелкозернистых архитектур ПЛИС, требующих относительно большого количества конфигурационной памяти, предлагается использовать защищенные от одиночных сбоев ячейки (ячейки с развязывающими резисторами и физическим резервированием). Код Хемминга наиболее перспективен для защиты встроенных блоков пользовательской памяти ПЛИС.
Важно отметить, что на выбор того или иного решения сильно влияет организация конфигурационной памяти (последовательная или параллельная загрузка матрицы памяти, возможность произвольного доступа и т.д.). Например, если конфигурационная память организована как последовательно загружаемая матрица, то использование защищенных ячеек с высокоомными резисторами или кода Хемминга невозможно, но подойдут TMR-решения или DICE-ячейки.
Авторы выражают признательность Чумакову Александру Иннокентьевичу за замечания и пожелания, высказанные во время работы над статьей.
Литература
1. K.Morris. Upset with Neutrons.- FPGA and Programmable Logic Journal, v.3, no.3, April 20, 2004.
2. K.Morris. FPGA in Space.- FPGA and Programmable Logic Journal, v.4, no.5, August 5, 2004.
3. Чумаков А.И. Действие космической радиации на ИС. - М.: Радио и связь, 2004.
4. K.A.LaBel, D.K.Hawkins, J.A.Kinnison, W.J.Stapor and P.W.Marshall. Single Event Effect Characteristics of CMOS Devices Employing Various Epi-layer Thicknesses. 1995 Third European Conference on Radiation and Its Effects on Components and Systems Proceedings.
5. J.J.Wang, R.Katz, J.Sun, B.Cronquist, J.McCollum, T.Speers and W.Plants. SRAM Based Re-programmable FPGA for Space Applications.- IEEE Transactions on Nuclear Science, NS-46, 1999.
6. R.Katz, K.LaBel, J.J.Wang, B.Cronquist, R.Koga, S.Penzin and G.Swift. Radiation Effect on Current Field Programmable Technologies. - IEEE Transactions on Nuclear Science, NS-44, 1997.
7. R.Katz, J.J.Wang, R.Koga, K.LaBel, J.McCollum, R.Brown, R.Reed, B.Cronquist, S.Crain, T.Scott, W.Paolini, and B.Sin. Current Radiation Issues for Programmable Elements and Devices.- IEEE Transactions on Nuclear Science, NS-45, 1998.
8. http://www.actel.com/documents/RadResultsIROCreport.pdf
9. Чумаков А.И. Методы защиты микросхем от единичных сбоев.- В кн.: Сб. научных трудов "Электроника и автоматизация в научных исследованиях"/Под ред. В.М. Рыбина. - М.: Энергоатомиздат, 1988, с.114-115.
10. Weaver, H. et al. An SEU Tolerant Memory Cell Derived from Fundamental Studies of SEU Mechanisms in SRAM.- IEEE Transactions on Nuclear Science. NS-34:6, pp. 1281-1286.
11. L.Rockett. SEU Hardened Scaled CMOS SRAM Cell Design Using Gate Resistors.- IEEE Transactions on Nuclear Science. October, 1992.
12. R.Velazco, D.Bessot, S.Duzellir, R.Ecoffet, R.Koga. Two Memory Cells Suitable for the Design of SEU-Tolerant VLSI Circuits.- IEEE Transactions on Nuclear Science. NS-41:6, pp. 2229-2234.
13. D.Wiseman, J.Canaris, S.Whitaker, J.Vembrux, K.Cameron, K.Arave, L.Arave, N.Liu, K.Liu.- Design and Testing of SEU/SEL Immune Memory and Logic Circuits in a Commercial CMOS Process.- NSREC Conference, 1993.
14. J.Canaris, S.Whitaker.- Circuit techniques for the radiation environment of space.- IEEE 1995 Custom Integrated Circuits Conference.
15. S.Whitaker, J.Canaris, K.Liu.- SEU Hardened Memory Cells for CCSDS REED Solomon Encoder. - IEEE Transactions on Nuclear Science, NS-38:6, pp. 1471-1477.
16. M.N.Liu, S.Whitaker. Low power SEU immune CMOS memory circuits.- IEEE Trans. On Nuclear Science, NS-39, Dec. 1992.
17. C.Carmichael, E.Fuller, J.Fabula, F.Lima. Proton Testing of SEU Mitigation Methods for the VirtexR FPGA.- MAPLD, 2001.
18. R.Katz et al. An SEU-Hard flip-Flop for Antifuse FPGAs.- MAPLD, 2001.
19. D.Mavis, P.Eaton. SEU and SET Mitigation Techniques for FPGA Circuit and Configuration Bit Storage Design.- MAPLD 2000.
Отзывы читателей