Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Аппаратная избыточность в FPGA - реально что-то дает?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
syoma
Народ простите, если баян

Вот недавно был на семинаре, где Xilinxовский человек рассказывал про аппаратную избыточность в Плисах. Мол дескать если места в ПЛИСине навалом, то можно продублировать свой дизайн, и при разводке указать P&R, чтобы оно их поместило в полностью разделенные физически области.

Говорят, что так можно повысить надежность. У меня собственно вопрос - насколько в цифрах? Или вообще как это можно посчитать? Я конечно понимаю, что источник питания - один. И выходы вроде как не дублируются.
iosifk
Цитата(syoma @ Jun 6 2014, 13:54) *
Народ простите, если баян

Вот недавно был на семинаре, где Xilinxовский человек рассказывал про аппаратную избыточность в Плисах. Мол дескать если места в ПЛИСине навалом, то можно продублировать свой дизайн, и при разводке указать P&R, чтобы оно их поместило в полностью разделенные физически области.

Говорят, что так можно повысить надежность. У меня собственно вопрос - насколько в цифрах? Или вообще как это можно посчитать? Я конечно понимаю, что источник питания - один. И выходы вроде как не дублируются.

Думаю, что из здесь присутствующих этого никто не знает. Тут нужна статистика, например такая, как сбой конфигурации одной ячейки... Или изменение параметров ПЛИС, приводящее к метастабильности... Или неправильное чтение памяти...
Это скорее нужно делать запрос к изготовителю, или в верхнюю техподдержку.
syoma
Цитата(iosifk @ Jun 6 2014, 12:17) *
Думаю, что из здесь присутствующих этого никто не знает.

Ну мне как бы было интересно - вообще кто-нибудь это здесь реализовал? Вроде как должно быть просто. Ну или может опыт какой есть.
yes
у ксайлинса есть tmrtool (попробуйте скачать, между прочим sm.gif, который делает это. но так как надежные/сбоезащищенные применения весьма специальные и не дешовые/массовые, то вряд ли получится найти консультанта.
по прочтении доступных док у меня сложилось впечатление, что ксайлинкс все-таки рекомендует непрерывную динамическую проверку целостности конфигурации, а не троирование
eugen_pcad_ru
1 Думаю, здесь такой же фонарь, как и надежность программного обеспечения sm.gif Типа, "вот это надежнее, чем то". А вот насколько, об этом уважаемые теоретики умалчивают biggrin.gif . Если серьезно, то и задали б вопрос спецу по Xilinx-у. Кому и не знать количественных оценок, как не специалисту, знающему архитектуру кристаллов. Причем скорее всего для разных кристаллов эта самая надежность будет разной.
2 А зачем это реализовывать? Вы хотите лишить себя и других работы по сопровождению? Уверен, что непосредственный руководитель, будучи в первую очередь грамотным маркетологом, такой задачи не поставит. А если и возникает необходимость в резервировании, то ее всегда решают на аппаратном уровне.
GriXa
Как мне кажется, надёжность увеличится ровно в 1 раз. Что может сделать сам по себе такой же второй блок, и как решить, какой из двух дал сбой? Чтобы это понять, нужно делать третий блок для сравнения, который при получении отличных результатов, говорит, что увидел ошибку. И что с этой ошибкой потом делать.
Эта методика используется для создания систем безопасности, где требуется высокая надёжность, и где дублирование системы делается не только в кристалле, но и во всём устройстве (дублирование датчиков, входов и выходов, постоянная проверка питающего напряжения и так далее). Там, где при обнаружении ошибки должно происходить какое-либо действие: что-нибудь отключаться или переходить в безопасный режим. В этом случае, ошибка (обрыв провода, короткое замыкание, выход из строя датчика) ловится не только в железе, но и внутри кристалла.
Для сертификации таких устройств прошивка ПЛИС должна отвечать определённым требованиям. В этих требованиях и говорится, что должны быть одинаковые, независимые друг от друга блоки, разделённые в кристалле зонами безопасности. И результат работы этих блоков должен всё время сравниваться.

Самое интересное, что и софт, разводящий кристалл, должен быть сертифицирован. То есть не все версии, к примеру ISE, одинаково полезны sm.gif
Для всех остальных случаях, ИМХО, подобная избыточность не нужна.
Inanity
Если говорить о воздействиях извне, то сбоям чаще всего подвержена ячейка статической памяти. В блочную память практически всех современных плис можно добавить избыточность, причём даже самому и не только в блочную. Сложнее дело обстоит с конфигурацией ПЛИС, поскольку сбой в ней приведёт к изменению логических структур. Где-то встречалась информация о том, что ПЛИС со статической конфигурацией решают эту проблему проверками на целостность, но как это работает и работает ли вообще - понятия не имею. ПЛИС от Actel борются с этим иначе, у них конфигурацию держит flash-память. Проблемы, описанные выше, как правило активно встречаются на больших высотах. Вот пара статей по этому поводу один и два.
eugen_pcad_ru
Цитата(GriXa @ Jun 7 2014, 10:19) *
Как мне кажется, надёжность увеличится ровно в 1 раз.

Вам кажется? В один раз? Значит не ухудшится? wink.gif
Позвольте с Вами не согласиться. Теория гласит, что при повышении сложности системы надежность падает. То есть прирост количества аппаратуры в два раза не дает увеличения надежности в два раза.
GriXa
2 eugen_pcad_ru:
На мой взгляд, в теории не всё так однозначно: резервирование, к примеру, вроде бы является методом повышения характеристик надёжности.
Torpeda
Цитата(yes @ Jun 6 2014, 19:37) *
у ксайлинса есть tmrtool (попробуйте скачать, между прочим sm.gif, который делает это. но так как надежные/сбоезащищенные применения весьма специальные и не дешовые/массовые, то вряд ли получится найти консультанта.
по прочтении доступных док у меня сложилось впечатление, что ксайлинкс все-таки рекомендует непрерывную динамическую проверку целостности конфигурации, а не троирование


Я скачивал tmrtool .... правда давно.
Лицнзию не дали ... даже для заграничного юзера так сказать..... Милитари....
tmrtool кстати автоматизирует процесс цифрового дизайта с троированием (TMR). Почти автоматически конвертит обычный верилог код в код с троированием....
Можно и вручную тоже самое.

Цитата(GriXa @ Jun 7 2014, 10:19) *
Как мне кажется, надёжность увеличится ровно в 1 раз. Что может сделать сам по себе такой же второй блок, и как решить, какой из двух дал сбой?

Можно решить что устройство не работает изза ошибки - фолт детекшин реализовать но без фолт устойчивости.


Цитата(eugen_pcad_ru @ Jun 6 2014, 19:41) *
1 Думаю, здесь такой же фонарь, как и надежность программного обеспечения sm.gif Типа, "вот это надежнее, чем то". А вот насколько, об этом уважаемые теоретики умалчивают biggrin.gif .

Как не странно, а многие буржуйские стандарты надёжности на цифрах (интенсивность отказов и т.п.) и не основаны.
Достаточно логично-умозрительно доказать что в случае А спасёт Б и т.д. и т.п.... на уровне функциональности блоков.
Это у них называется СЕЙФТИ, а не РЕЛАЙАБИЛИТИ и нафик цифры sm.gif
Так например защитное отключение (предохранитель) делает ус тройство СЕЙФТИ, а то что вероятность одновременного отказа и устройства и предохранителя =99% никого и не волнует... пипел хавает
анатолий
Здесь: http://www.eetimes.com/author.asp?section_...;doc_id=1320561
говорится следующее:
Сбой ПЛИС, как правило, вызывается высокоэнергетической частицей, ионизировавшей области затворов транзисторов триггера и вызвавшей этим его переключение в противоположное состояние. Фирмы Xilinx, Microsemi выпускают ПЛИС малочувствительные к таким сбоям. И поэтому их применяют в космических аппаратах. Также такие ПЛИС могут накапливать большие дозы радиации до своего отказа.
Как оказалось, с уменьшением проектных норм уменьшается чувствительность к радиации. Так, при переходе от 45 нм ПЛИС к 28 нм ПЛИС чувствительность к сбоям прошивки уменьшилась вдвое .
Это объясняется тем, что уменьшается площадь, занимаемая триггером, и поэтому уменьшается вероятность попадания частицы в него, а не рядом.
Но с другой стороны, для повышения быстродействия уменьшают размеры транзисторов. А триггер с уменьшенными транзисторами легче перевести в другое состояние, и он сбоит чаще. Поэтому при указанном уменьшении проектных норм чувствительность к сбоям BlockRAM уменьшилась лишь на 20%. Поскольку триггеры в ПЛИС концентрируются в BlockRAM, эти блоки стали наиболее ответственными. Поэтому в Virtex-7 вставлены блоки, способные автоматически корректировать одиночные ошибки в байтах, считанных из памяти и детектировать двойные. В ПЛИС Stratix можно детектировать до трех ошибок и корректировать до двух.
Также в этих ПЛИС есть возможность сканировать прошивку и детектировать в ней ошибки и корректировать одиночную ошибку.
Для безошибочной обработки сбойной информации в ПЛИС можно применить тройное резервирование сконфигурированных модулей. Но тогда самой ответственной частью становится мажоритарная схема, выбирающая правильный результат.
eugen_pcad_ru
Цитата(GriXa @ Jun 11 2014, 05:21) *
На мой взгляд, в теории не всё так однозначно: резервирование, к примеру, вроде бы является методом повышения характеристик надёжности.

2GriXa: Да кто ж спорит. Да, надежнее. А тройное надежнее двойного, счетверенное надежнее утроенного и т.д...
Но мы же не гуманитарии (хочется так надеятьсяsm.gif) Качественная оценка хороша для рядового обывателя.
Найдете или вычислите количественную оценку, с удовольствием почитаю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.