Jump to content

    

Срок службы FPGA при постоянной перезагрузке прошивок

Сразу скажу, что в схемотехнике и физике устройства ПЛИС я разбираюсь довольно слабо :( Мне приходится реализовывать различные алгоритмы ЦОС для них с точки зрения математики. Возникла задача, для которой необходимо постоянно перезагружать разные прошивки во время работы изделия. Например, раз в 20-30 секунд. Само изделие работает 24/7. Плисина из серии Xilinx Virtex. Прошивки грузятся армовским ядром, входящим в сборку изделия. При таком режиме эксплуатации плисина быстро помрет?

Share this post


Link to post
Share on other sites
1 минуту назад, Grizzly сказал:

Сразу скажу, что в схемотехнике и физике устройства ПЛИС я разбираюсь довольно слабо :( Мне приходится реализовывать различные алгоритмы ЦОС для них с точки зрения математики. Возникла задача, для которой необходимо постоянно перезагружать разные прошивки во время работы изделия. Например, раз в 20-30 секунд. Само изделие работает 24/7. Плисина из серии Xilinx Virtex. Прошивки грузятся армовским ядром, входящим в сборку изделия. При таком режиме эксплуатации плисина быстро помрет?

Есть файл конфигурации FPGA, он хранится на чем-то энергонезависимом, например EEPROM.  Внутри самой FPGA прошивка хранится в что-то вроде SDRAM памяти (поправьте если я ошибаюсь) Так вот саму FPGA конфигурировать можно сколь угодно много раз. А вот читать память с файлом конфигурации - зависит только от этой памяти. Поэтому в Вашем случае все зависит от памяти, откуда ARM ядро вычитывает прошивку для конфигурирования FPGA.

Share this post


Link to post
Share on other sites
2 минуты назад, Flip-fl0p сказал:

Поэтому в Вашем случае все зависит от памяти, откуда ARM ядро вычитывает прошивку для конфигурирования FPGA.

Спасибо. Обычная флэшка на 128 Гб. На ней и Linux, и пользовательское ПО, и непосредственно bin прошивки. Читать ведь - не писать :) Здесь всё определится качеством флэшки. Уж если она сломается, то полетит всё целиком.

Share this post


Link to post
Share on other sites
46 minutes ago, Grizzly said:

необходимо постоянно перезагружать разные прошивки во время работы изделия. Например, раз в 20-30 секунд. Само изделие работает 24/7.

С Вашим чипом не знаком. Думаю что это обычная FPGA.

Вроде все фпгашки по включению питания перегружают прошивку из некой внешней или внутр. памяти в своё озу и только потом работают.

Если Ваш чип позволяет перепрограммировать своё озу (где прошивка лежит) например по JTAG или ещё как, то никаких ограничений на количество перезаписей быть не должно.

По аналогии с MAX10 - можно программировать у уже включенного чипа либо внутр. RAM либо внутр. FLASH.

Количество перезаписей flash ограничено, а ram пиши сколько угодно раз!

Всегда этим пользуюсь при отладке прошивки.

 

Share this post


Link to post
Share on other sites
12 hours ago, Grizzly said:

Обычная флэшка на 128 Гб. На ней и Linux, и пользовательское ПО... Читать ведь - не писать :)

Допустим, пользовательское ПО ничего не пишет. А разве Linux ничего не пишет на диск?

Был опыт работы миникомпьютера с диском, в качестве которого использовались карточки микроSD. ИМХО - не сильно далеко от "обычной флешки". ОС - Linux. Чрез непродолжительное время эти карточки начали сыпаться - миникомп просто переставал загружаться. Перешли на другого производителя карточек.

Время хранения информации, записанной во флешь микропроцессора или в микросхему памяти - десятки лет, особенно если при нормальной температуре эксплуатации.

Share this post


Link to post
Share on other sites
13 часов назад, Grizzly сказал:

Плисина из серии Xilinx Virtex.

Здесь память именно RAM, так, что со стороны ПЛИС никаких ограничений по загрузке нет.

Share this post


Link to post
Share on other sites

А разве Virtex не единственная серия, которая может нести на борту ПЗУ для прошивки? Или я что-то путаю?

Второй момент - да, загонять бит файл можно сколько угодно раз, но вот справится ли с этим внешняя "флеш" - это вопрос.

И третье, почему проект перезагоняет постоянно прошивку? Возможно есть вариант сделать partition'ы и не перезаливать всю ПЛИС. Это же лигнее время концигурации, установки стабильной частоты и т.д.

Share this post


Link to post
Share on other sites
52 минуты назад, Nick_K сказал:

А разве Virtex не единственная серия, которая может нести на борту ПЗУ для прошивки? Или я что-то путаю?

Это была серия Spartan-3AN.

Share this post


Link to post
Share on other sites
1 час назад, Nick_K сказал:

И третье, почему проект перезагоняет постоянно прошивку? Возможно есть вариант сделать partition'ы и не перезаливать всю ПЛИС. Это же лигнее время концигурации, установки стабильной частоты и т.д.

Не помещается :( Нужные обрабатывать разные сигналы.

К сожалению, по-другому никак.

Share this post


Link to post
Share on other sites
52 minutes ago, Grizzly said:

Не помещается :( Нужные обрабатывать разные сигналы.

Простите, что не помещается? Из того что я читал (увы на практике не использовал) Partition'ы могут быть размером с ПЛИС кристал, просто хранятся в одной прошивке.

Хотя если я ошибаюсь, тогда жаль.

Share this post


Link to post
Share on other sites
50 минут назад, Nick_K сказал:

Простите, что не помещается? Из того что я читал (увы на практике не использовал) Partition'ы могут быть размером с ПЛИС кристал, просто хранятся в одной прошивке.

Никогда не приходилось иметь дело с ними. Спасибо. Прочитаю.

Share this post


Link to post
Share on other sites
В 21.10.2019 в 10:59, Nick_K сказал:

Возможно есть вариант сделать partition'ы и не перезаливать всю ПЛИС.

Не удалось ничего найти в документации. Не подскажете, куда посмотреть?

Я правильно понимаю, если есть две прошивки, каждая из которых по 80% ресурсов ПЛИС использует, то всё равно partition'ы помогут?

Share this post


Link to post
Share on other sites
35 minutes ago, Grizzly said:

Не удалось ничего найти в документации. Не подскажете, куда посмотреть?

Я дико извиняюсь. Технология называется Partial Reconfiguration. Смотреть вот сюда:

UG 909

Реконфигурировать можно хоть всю ПЛИС, главное правильно написать модули.

35 minutes ago, Grizzly said:

Я правильно понимаю, если есть две прошивки, каждая из которых по 80% ресурсов ПЛИС использует, то всё равно partition'ы помогут?

Ну там идея в реконфигурации схожих областей в зависимости от нужд. Правда нигде провеличину этих областей не сказано.

И да, там требуется полная лицензия ;)

Share this post


Link to post
Share on other sites
12 minutes ago, Nick_K said:

полная лицензия ;)

получал официальную лицензию за полцены у Альтеры ;). Можно было бы и за треть цены, но не уверен, что в ней была бы поддержка нужного кристалла. Ну и потом продлевал эту лицензию квазибесплатно, уже у Интела.

Share this post


Link to post
Share on other sites
On 10/20/2019 at 9:46 PM, zombi said:

Вроде все фпгашки по включению питания перегружают прошивку из некой внешней или внутр. памяти в своё озу и только потом работают.

в рамках занудства - есть такая контора Актел (была, сейчас Микрочип) у нее пользовательские ФПГА-шки сразу имеют конфигурационное ПЗУ. в этом есть некоторый смысл, для некоторых приложений, но обычно сильно дороже "за LE" выходит. обещали поларфайером своим всех по ценам порвать, но пока не выходит...

On 10/21/2019 at 10:59 AM, Nick_K said:

А разве Virtex не единственная серия, которая может нести на борту ПЗУ для прошивки? Или я что-то путаю?

у Латтиса семейства XP2, MACHXO* , у Альтеры в МАХ-ах

у Латтиса в ICE* (ну и у всяких стартапов, которые вживую не довелось щупать) OTP - дешевле и проще на тот же кристал запулить

а в Спартане с флашкой был мультичип пакадж - то есть два кристалла ПЛИС и ФЛАШ в одном корпусе

----------------

ну и мое мнение - в большие ПЛИС (Виртексы, Стратексы/Арии и т.п.) нет смысла напрягаться и вставлять ФЛАШКу - это никому не нужно, потому что по-любому нужна огромная плата с кучей комплектухи - туда поставить минимальную последовательную флашку не вопрос. ну и в 97% случаев на плате есть процессор со своей ФЛАШ, куда образ ПЛИС бесплатно можно положить

----------------

а по поводу срока службы Виртекса - полагаю сильно зависит от температуры (то есть насколько интенсивно работает прошивка) - если восновном прошивка, которая считает еле-еле и чуть-чуть потребляет, то эта ПЛИС проживет больше, чем та, в которую десятки ватт уходят...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now