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

Можно ли считать из FPGA конфигурацию в процессе работы устройства

Всем добрый день.

 

Возник такой вопрос.

Можно ли в принципе считать из FPGA конфигурационный код (bitstream) в процессе работы устройства? Именно в процессе работы, не останавливая функционирование устройства.

 

Спасибо за ответы.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Xilinx можно остановить FPGA, считать и запустить FPGA работать дальше (насколько мне подсказывает мой склероз). Называлась фича - Read Back.

Но смотрел я на это довольно давно, как сейчас у 7й серии - не знаю

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
У Xilinx можно остановить FPGA, считать и запустить FPGA работать дальше (насколько мне подсказывает мой склероз). Называлась фича - Read Back.

Но смотрел я на это довольно давно, как сейчас у 7й серии - не знаю

 

Наверное, можно прочитать что-то через Selectmap.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по-моему, ксайлинсовский readback это чтение состояний триггеров, то есть "мгновенная фотография" состояния ПЛИС восстановить битстрим по нему невозможно, и вообще, чтобы расшифровывать этот ридбэк ксайлинскими тулзами требуется битсрим

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В целях борьбы с SEU (одиночными событиями), а точнее для их выявления, Xilinx как минимум 7 серии (не уверен насчет Virtex-6, но вроде тоже) поддерживает чтение конфигурации на лету (без остановки устройства) и сравнение вычитанного по маскированному битстриму (маска закрывает пользовательские регистры и прочие подобные вещи).

Так что физически это возможно (в тех чипах, которые поддерживают такое вычитывание). Что дальше делать со считанными данными - совершенно отдельный вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В целях борьбы с SEU (одиночными событиями), а точнее для их выявления, Xilinx как минимум 7 серии (не уверен насчет Virtex-6, но вроде тоже) поддерживает чтение конфигурации на лету (без остановки устройства) и сравнение вычитанного по маскированному битстриму (маска закрывает пользовательские регистры и прочие подобные вещи).

Интересно, а есть подробности? Кто-то пробовал? Что такое SEU?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Интересно, а есть подробности? Кто-то пробовал? Что такое SEU?

 

SEU

 

На базе технологии readback строится контроль целостности конфигуации, был небольшой опыт в этой области. Работало, но потом необходимость в этом отпала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал очень давно на Vitrex 4, система рабочая) Readback делается с помощью ICAP, считанные данные прогоняются через файл маски, который генерирует сапр, затем считаем CRC и сравниваем с оригинальным. Чип при этом останавливать не надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за ответы.

 

Я всегда считал (поправьте, если это не так), что конфигурационная память в FPGA устроена вроде длинного сдвигового регистра, в который вдвигается битрстрим.

Если это так, то как физически возможно прочитать битстрим из этого регистра не останавливая устройство?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую

...

Я всегда считал (поправьте, если это не так), что конфигурационная память в FPGA устроена вроде длинного сдвигового регистра, в который вдвигается битрстрим.

Если это так, то как физически возможно прочитать битстрим из этого регистра не останавливая устройство?

Если в первом приближении то сдвиговый регистр и конфигурационная память это две разные сущности - поэтому сначала копируется состояние конф. памяти в регистр а потом уж сдвигается наружу - ну а сама конфигурация при этом не меняется.

Удачи! Rob.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Интересно, а есть подробности? Кто-то пробовал? Что такое SEU?

У Xilinx есть хорошее описание явления и готовое IP core на эту тему:

https://www.xilinx.com/support/quality/sing...ent-upsets.html

 

Кстати, считается, что контроль SEU нужен не только в околорадиационных отраслях, но и для любых высоконадежных применений, в которых ПЛИСы работают 24/7/365 без переконфигурации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если контролировать целостность прошивки, то проще читать конфигурационную флеш память ПЛИС, через какой-нибудь свой порт. Это проще чем лезть в потроха самой ПЛИС. Подумайте может вам этого будет достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

Если контролировать целостность прошивки, то проще читать конфигурационную флеш память ПЛИС, через какой-нибудь свой порт. Это проще чем лезть в потроха самой ПЛИС. Подумайте может вам этого будет достаточно.

А смысл этого? - важно знать не поломалось ли что уже после загрузки прошивки в FPGA. Чтобы если что не так включать красный алярм и перегружать оную.

 

А целостность того что грузится проверяется при загрузке автоматом.

 

Удачи! Rob.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Кстати, считается, что контроль SEU нужен не только в околорадиационных отраслях, но и для любых высоконадежных применений, в которых ПЛИСы работают 24/7/365 без переконфигурации.

Можете привести ссылки, почему так считается? То есть я так понимаю, что при применении SEM мы улучшаем MTBF за счет того, что появляющиеся ошибки в конфигурации сами собой корректируются? А на сколько часто они могут вообще возникать, если не брать во внимание радиацию?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А смысл этого?

Защита от злоумышленника, который захочет путем подмены прошивки провести свои манипуляции с вашей системой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти