|
|
  |
Целостность конфигурации ПЛИС, Как определить в процессе работы |
|
|
|
Mar 31 2011, 10:31
|

Местный
  
Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266

|
Теме UP! Как определить целостность конфигурации в ПЛИС Xilinx серии Spartan? ... Читая документацию (ug380) про конфигурацию spartan six Код "During readback, the user reads all configuration memory cells, including the current values on all user memory elements (LUT RAM, SRL16, and block RAM)." Тоесть на выходе мы имеем реальное текущее состояние ячеек. Конечно возлагание на внешнее устройство функций сравнивания прошивки и сброса ПЛИС, ограничивается надежностью этого устройства. Фактически мы можем похоронить заживо полностью рабочее устройство (в медицине такая практика была)... Вообще 100%-но гарантировать, что устройство исправно никто не может. Здесь важно определить степень параноидальности и выбрать самый оптимальный (надежный) вариант. Мне интересно мнение разработчиков, которые проектировали системы повышенной безопасности (типа 10exp-12)... как они боролись с данной проблемой? Читая документацию Xilinx вижу как сильно они позаботились о загрузке правильной конфигурации. Неужели они не позаботились о ее целостности и сохранности? Если есть внутренние устройства CRC, WatchDog, Reset on error... неужели нельзя было сделать работу CRC циклическим для проверки целостности внутренней конфигурации (может это оно и есть? CONFIG POST_CRC_ACTION = [HALT | CONTINUE]) . Ведь бывают же случаи частичного разрушения кристалла, "зависания" (залипания) ПЛИС ... Или может быть такая ситуация, когда выгорела ножка ПЛИС, а конфигурация в полном порядке... как тогда быть, господа разработчики?
|
|
|
|
|
Apr 1 2011, 13:07
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(ADA007 @ Mar 31 2011, 13:31)  ... Ведь бывают же случаи частичного разрушения кристалла, "зависания" (залипания) ПЛИС ... Или может быть такая ситуация, когда выгорела ножка ПЛИС, а конфигурация в полном порядке... как тогда быть, господа разработчики? А ведь существует возможность внешнего контроля работоспособности модулька! Взять компакт- ПиСиАй. Там во внешний мир зарезервированы сигналы Джитага для граничного сканирования. Пром-компьютер имеет возможность быстрого контроля подключённого к себе модулька(Всю цепочку БИС, что на борту модуля) на предмет годности паек, целостности линий, а в пределе, проверку сквозного функционирования нужных частей проекта (не в реальном времени) , перезаливки памяти и ,если оставить в проекте тестовые блочки, считывание-запись памяти в ПЛИСине, как в штатном режиме SignalProbe. Да тут можно нагородить любые варианты! Вот только стоить это будет дорого!!! Вот и по внешним признакам жизни модулька тоже можно убедиться в правильности своего модулька. Опять таки через граничное сканирование. Существует целая наука по организации тестопригодности изделий.
|
|
|
|
|
Apr 4 2011, 05:21
|

Местный
  
Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266

|
Цитата(Мур @ Apr 1 2011, 16:07)  А ведь существует возможность внешнего контроля работоспособности модулька! Взять компакт- ПиСиАй. Там во внешний мир зарезервированы сигналы Джитага для граничного сканирования. Пром-компьютер имеет возможность быстрого контроля подключённого к себе модулька(Всю цепочку БИС, что на борту модуля) на предмет годности паек, целостности линий, а в пределе, проверку сквозного функционирования нужных частей проекта (не в реальном времени) , перезаливки памяти и ,если оставить в проекте тестовые блочки, считывание-запись памяти в ПЛИСине, как в штатном режиме SignalProbe. М-да...это всё мне напоминает избитый философский вопрос кто же будет охранять охранника? Цитата(Мур @ Apr 1 2011, 16:07)  Да тут можно нагородить любые варианты! Вот только стоить это будет дорого!!! Так для этого и был поднят вопрос => Что оптимальнее? Цитата(Мур @ Apr 1 2011, 16:07)  Вот и по внешним признакам жизни модулька тоже можно убедиться в правильности своего модулька. Опять таки через граничное сканирование. Существует целая наука по организации тестопригодности изделий. Увы, если б можно было проводить Boundary scan (граничное сканирование) в процессе работы "модлуька" так чтобы это не мешало остальной работе - было бы очень кстати...
|
|
|
|
|
Apr 4 2011, 06:09
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(ADA007 @ Apr 4 2011, 09:21)  М-да...это всё мне напоминает избитый философский вопрос кто же будет охранять охранника? Чудес не бывает. Вам обязательно нужен внешний наблюдатель. Цитата(ADA007 @ Apr 4 2011, 09:21)  Так для этого и был поднят вопрос => Что оптимальнее? Хотя-бы по косвенным признакам. Вводите в систему тестовые циклы одновременно с рабочими. Цитата(ADA007 @ Apr 4 2011, 09:21)  Увы, если б можно было проводить Boundary scan (граничное сканирование) в процессе работы "модлуька" так чтобы это не мешало остальной работе - было бы очень кстати... А что вам мешает так и сделать? Без ганичного,- в лоб. В Альтере вставочки(доступные через ДЖИТАГ) легко делаются в любое место. Чисто организационный вопрос!  А почему бы вам не перейти на ACTEL? Одноразово прошили и останется только проблема контакта ножек и внешнего мира...
Сообщение отредактировал Мур - Apr 4 2011, 06:37
|
|
|
|
|
Apr 4 2011, 07:41
|

Местный
  
Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266

|
Цитата(Мур @ Apr 4 2011, 09:09)  Чудес не бывает. Вам обязательно нужен внешний наблюдатель. Да, я согласен, но как писалось выше Цитата(i-mir @ Apr 1 2011, 20:53) для сложных микросхем этот уровень составляет 10е-5 ... 10е-7 то есть надежность собаки, которая охраняет охранника ниже или такая же. Цитата(Мур @ Apr 4 2011, 09:09)  Хотя-бы по косвенным признакам. Вводите в систему тестовые циклы одновременно с рабочими. Если ПЛИС будет проверять сама себя на отказ, кому надо такое устройство? Цитата(Мур @ Apr 4 2011, 09:09)  А почему бы вам не перейти на ACTEL? Одноразово прошили и останется только проблема контакта ножек и внешнего мира... Читаем внимательнее вопрос и не оффтопим Цитата Как определить целостность конфигурации в ПЛИС Xilinx серии Spartan?
|
|
|
|
|
Apr 4 2011, 08:31
|

Знающий
   
Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847

|
Цитата(ADA007 @ Apr 4 2011, 11:41)  Да, я согласен, но как писалось выше то есть надежность собаки, которая охраняет охранника ниже или такая же. Послушайте, Внешяя =дежурная собака= может быть нормальным охранником? Мои друзья всегда закладывали вотч-дог к ПЛИС(на всякий случай) для перезаливки при пропаже динамики по одной из линий. Просто и эффективно! Цитата(ADA007 @ Apr 4 2011, 11:41)  Если ПЛИС будет проверять сама себя на отказ, кому надо такое устройство?  Я не о том говорил. ПЛИС всё равно что обрабатывать. Я предложил забрасывать извне тестовую задачу. Внешний арбитр знает какой цикл рабочий а какой тестовый. Самому себя проверять-нонсенс! Цитата(ADA007 @ Apr 4 2011, 11:41)  Читаем внимательнее вопрос и не оффтопим Извините, увлёкся!...
|
|
|
|
|
Apr 26 2011, 07:54
|

Гуру
     
Группа: Свой
Сообщений: 2 002
Регистрация: 17-01-06
Из: Томск, Россия
Пользователь №: 13 271

|
Цитата(ADA007 @ Mar 31 2011, 17:31)  Как определить целостность конфигурации в ПЛИС Xilinx серии Spartan? Если есть внутренние устройства CRC, WatchDog, Reset on error... неужели нельзя было сделать работу CRC циклическим для проверки целостности внутренней конфигурации (может это оно и есть? CONFIG POST_CRC_ACTION = [HALT | CONTINUE]) . Ведь бывают же случаи частичного разрушения кристалла, "зависания" (залипания) ПЛИС ... Есть такая функция, мы её используем: http://www.xilinx.com/support/documentatio...uides/ug332.pdfПод заголовком "Post-Configuration CRC (Extended Spartan-3A Family Only)". Об этом писал уважаемый Igor_S: Цитата(Igor_S @ Jan 31 2005, 13:51)  Wse FPGA Altera kontrolirujut prawilnostj konfiguracionnyh dannyh w processe zagruzki (kontrolj CRC). Rjad mikroshem (naprimer, STRATIX II) kontrolirujut prawilnostj zagruzki periodicheski ( w dopolnenie k nachalnomu kontrolju), i w sluchae oshibki wystawljajut flag, kotoryj mozhet bytj ispolzowan dlja zapuska perekonfiguracii.
--------------------
Зная себе цену, нужно ещё и пользоваться спросом...
|
|
|
|
|
Jun 21 2011, 23:29
|

Частый гость
 
Группа: Участник
Сообщений: 82
Регистрация: 1-03-10
Пользователь №: 55 731

|
здесь ранее писали про то, что альтеравские девайсы имеют блок CRC, но возникли два вопроса: 1)так как этот блок находится в плис, что как пролетит супер заряженная частица и нарушит его работу? можно как-нибудь прочесть cfm у плис и сравнить с тем, что у неё в озу и на основании этого сделать вывод о правильности работы? или есть только один вариант, через некоторое время постоянно передергивать питание, что бы происходило чтение в озу?
2)предположим, что придумана какая-то система резервирования, которая в случае отказа, допустим перепрошивает плис. как (и возможно ли это) убедиться в том, что если отказ возникнет, система действительно сработает?
|
|
|
|
|
Jun 30 2011, 13:55
|

Местный
  
Группа: Свой
Сообщений: 218
Регистрация: 2-02-09
Из: Харьков
Пользователь №: 44 266

|
Цитата(Mikron @ Jun 22 2011, 02:29)  здесь ранее писали про то, что альтеравские девайсы имеют блок CRC, но возникли два вопроса: 1)так как этот блок находится в плис, что как пролетит супер заряженная частица и нарушит его работу? можно как-нибудь прочесть cfm у плис и сравнить с тем, что у неё в озу и на основании этого сделать вывод о правильности работы? или есть только один вариант, через некоторое время постоянно передергивать питание, что бы происходило чтение в озу?
2)предположим, что придумана какая-то система резервирования, которая в случае отказа, допустим перепрошивает плис. как (и возможно ли это) убедиться в том, что если отказ возникнет, система действительно сработает? Как итог всему выше сказанному могу только написать:"Вероятность чего-либо всё равно остается от неё никуда не деться. У нас существует целый отдел, который занимается вопросами вероятности отказа разрабатываемых приборов. Полностью безотказной работы устройства вы не добьётесь НИКОГДА!!! Поэтому опирайтесь исключительно на цифры. У разных частей ПЛИС вероятность отказа разная даже внутри кристалла, для регистров - она своя, для блочной памяти - своя. Если надо заказчику вероятность 10е-11, то разрабатывайте систему защиты от отказов в соответствии с требованиями!".
|
|
|
|
|
Jul 5 2011, 10:47
|
Участник

Группа: Участник
Сообщений: 71
Регистрация: 14-11-07
Пользователь №: 32 325

|
Цитата(DPL @ Jan 30 2005, 15:34)  Здравствуйте. В связи с необходимостью принятия решения о целесообразности применения ПЛИС возник такой вопрос: а как можно (и можно ли) определить, правильно ли она функционирует? Вот, например, загрузили в нее файл конфигурации, она заработала, а затем произошел сбой в конфигурационных данных (скачок питания, помеха и тд). Как выявить эту ситуацию? Для ОЗУ, например, можно посчитать контрольную сумму. А как для ПЛИС? Буду благодарен за любые советы или ссылки. Если не определились с семейством ПЛИС, то посмотрите FLASH ПЛИС Actel. В отличии от Альтеры и Xilinx у них конфигурация не сбивается от помех или скачков питания. Даже от радиции она не сбивается. И не надо будет ломать голову над этой проблемой.
|
|
|
|
|
Jul 8 2011, 09:35
|
Группа: Новичок
Сообщений: 4
Регистрация: 18-06-11
Пользователь №: 65 767

|
Как отмечалось выше у Xilinx есть функция проверки CRC конфигурации кристалла. Т.е. внутренний сторож проверяет сохранность конфигурации, сравнивая текущее CRC кристалла с эталонным, которое считывается при загрузке. При не совпадении CRC выдается ошибка (выход типа open drain) и если я не ошибаюсь, то имеется возможность перезапука. Данная опция есть у SPARTAN 3A и выше.
|
|
|
|
|
Jul 8 2011, 14:45
|
Знающий
   
Группа: Участник
Сообщений: 881
Регистрация: 21-03-10
Из: _// \\_
Пользователь №: 56 107

|
Цитата(ADA007 @ Jun 30 2011, 17:55)  Как итог всему выше сказанному могу только написать:"Вероятность чего-либо всё равно остается от неё никуда не деться. У нас существует целый отдел, который занимается вопросами вероятности отказа разрабатываемых приборов. Полностью безотказной работы устройства вы не добьётесь НИКОГДА!!! Поэтому опирайтесь исключительно на цифры. У разных частей ПЛИС вероятность отказа разная даже внутри кристалла, для регистров - она своя, для блочной памяти - своя. Если надо заказчику вероятность 10е-11, то разрабатывайте систему защиты от отказов в соответствии с требованиями!". А мне вот думается, что цифры по надежности - это полное шаманство и профанация. И методики расчета - тоже полная туфта. Ну, то есть, есть теория, которая построена на аксиоматике теории вероятностей, а есть практика, в которой нет никаких аксиом. Поэтому создание надежной техники - искусство, и только огромный опыт предыдущих поколений методом проб и ошибок позволяет не городить охранника для охранника для охранника (и т.д.), а сказать, что вот функциональный сбой по факту, и вот меры по его восстановлению за заданный интервал времени. Когда я спрашиваю взрослых людей, много лет занимающихся разработкой ответственной техники, о том, как практически убедиться в эффективности своих мер по повышению надежности, то они ничего внятного ответить не могут. Элементная база устаревает морально и снимается с производства быстрее, чем желаемый срок ее надежного функционирования. Как можно в таких условиях что-то исправить на основе измеренной на практике статистики, а не придуманной теоретиками?! Я уже не говорю о том, что при нашем "порядке" две партии изделий с интервалом год могут и не собрать совершенно одинаково, детали другой партии или вообще замены на другого производителя, платы другой партии, монтаж на оборудовании, отработавшем еще год без обслуживания, другие паяльные материалы. Поэтому я считаю, что правы те, кто говорит, что не надо проверять целостность конфигурации ПЛИС, а надо проверять целостность обрабатываемых данных. Система будет надежнее, если она не будет понапрасну перезагружаться, если откажет конфигурация ячеек, которые вообще не участвуют в проекте.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|