|
Частичное реконфигурирование FPGA, Реальность или фантастика? |
|
|
|
Nov 20 2010, 23:25
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756

|
Доброго времени суток!
С недавних пор заинтересовался сабжевой возможностью, поискал по интернетам и нашёл следующие поддерживающие данную возможность серии FPGA: Atmel - at40k, at94 (AVR+at40k) Xilinx - Virtex 4,5,6, Серия XC62XX Altera - Stratix 5
Собственно, три вопроса/просьбы: 1) Если кто-то владеет информацией - подкорректируйте, пожалуйста, список. 2) Непонятна ситуация с серией XC62XX - выпускается ли она на данный момент? На Xilinx.com в списке продуктов её нет. 3) Кто-нибудь занимался сабжем? На каких чипах? Какие мнения?
Спасибо.
|
|
|
|
|
Nov 21 2010, 00:42
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
1. Про atmel советую забыть, был злой, написал это: http://uchcom.botik.ru/boris/fpslic/errors/ про fpslic, но система одна и таже. 2. Я слишком молод для xc62 3. Думал, пришел к выводу, что выгоды нет. А если есть, то пользоватья штатными средствами не интересно, лучше разрабатывать свою прошивку, у которой что-то реконфигурируется. Например, у xilinx LUT может быть сдвиговым регистром и памятью. Если задвигать "конфигурацию", а пользоваться как памятью, то будет польза, как минимум, для приложений типа "подобрать ключ". А вы с какой целью интересуетесь? Производительность at40k и virtex6 представляете как соотносятся?
|
|
|
|
|
Nov 21 2010, 15:11
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756

|
2Shtirlits
Интересуюсь в исследовательских целях. Есть академический проект по созданию процессора, у которого в процессе работы изменялся бы функционал аппаратных вычислительных блоков (короче говоря, динамическое перестроение тракта данных). Покуда проект учебный, то и финансирование осуществляется из моего кармана и позволить себе дорогие ПЛИСы (даже Virtex4) я не могу. Что до производительности, то она меня не особо волнует, поскольку цель - понять возможность реализации идеи на бюджетных чипах (создание прототипа). Я как раз присматривался к FPSLIC (хорошо вписывается в задачу, решение с FPGA на 5k вентилей вполне бюджетное), но описанный вами опыт работы с этой штукой меня озадачил. Возможно, с 2004 года что-то поменялось в лучшую сторону? Более не игрались?
Спасибо.
|
|
|
|
|
Nov 21 2010, 16:48
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Мне кажется, что у atmel ничего не поменялось, риск налететь на глюки высокий. Если бы я был бодр и азартен, то решительно начал выбирать себе soft-processor на altera или xilinx, и может быть не только из nios и microblaze.
Динамическое реконфигурирование придумывалось, как я понял, не для повышения производительности, а для удобства обновления прошивок. Например, если часть схемы реализует интерфейс, через который происходит обновление. Если предположить, что ваш академический проект по подметанию плаца ломом придуман не чтобы вы замучались, а чтобы плац был чистым, то всё должно где-то упереться в производительность или другую экономическую целесообразность. Например, сейчас мы смотрим mpeg - нужен аппаратный декодер, потом играем в 3d игрушку - нужно что-то там с координатами делать. Если все так, то потерпеть секунду на реконфигурирование можно, тем более, что остальное приложение тоже должно загрузиться с диска. Начиная с какой-то частоты реконфигурирования выгоды не будет. Попытки повысить производительность сохранив площадь упираются в медленный канал передачи конфигурационной информации. А пока грузится прошивка ничего не работает! А если бы работало, то может справилось с задачей и на некоторой универсальной прошивке? Сама же схема обычно имеет доступ к множеству способов скоротной передачи данных. Возникает соблазн сделать пере-программируемую логику на программируемой логике. Такие попытки я видел, но их производительность была удручающе низкой, не только из-за накладных расходов, а скорее по причине излишнего упрощения модели. Если с самого начала не закрывать глаза на детали, а подробно изучить архитектуру включая ресурсы разводки, то есть надежда сделать что-то толковое или бросить эту затею вовремя.
|
|
|
|
|
Nov 21 2010, 17:26
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 21-01-09
Пользователь №: 43 756

|
Спасибо за ценные рекомендации. Действительно, многие вещи стоит обдумать полнее.
Пока у меня такой вопрос: Правильно ли я понял из вашего сообщения, что во время частичной реконфигурации ПЛИС неработоспособна в принципе? Т.е. в некоторых обзорах ПЛИС, поддерживающие частичную реконфигурацию, условно разбивают на две области: статическая и динамическая. И там же говорится, что статическая область может содержать в себе логику переконфигурации динамической (т.е. как бы ПЛИС, реконфигурирующая саму себя). Насколько это соответствует действительности? На мой взгляд, это было бы полезно для буферной перегрузки блоков - пока исполняется соответствующий блок, подгружать следующий и переключать "буферы".
Так же, можете ли привести количественные оценки скорости частичной реконфигурации по своему опыту? Хотя бы приблизительные.
Спасибо.
|
|
|
|
|
Nov 22 2010, 12:18
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828

|
есть еще интересная задача для частичной реконфигурации, если у Вас есть проект, который характеризуется как безопасный (управление ответственными процессами, например, атомная станция или порче), ни один компилятор не гарантирует, что после очередной компиляции, те части которые вы не изменяли остались работоспособными, то есть меняли скажем какую-то маленькую, незначительную часть, которая в связи с како
есть еще интересная задача для частичной реконфигурации, если у Вас есть проект, который характеризуется как безопасный (управление ответственными процессами, например, атомная станция или порче), ни один компилятор не гарантирует, что после очередной компиляции, те части которые вы не изменяли остались работоспособными, то есть меняли скажем какую-то маленькую, незначительную часть, которая в связи с какой либо ошибкой, учитывается даже ошибка компилятора, не говоря о ошибках человека, поломала работоспособность важных для безопасности частей системы. Для недопущения таких ошибок, после реконфигурации выполняют полную проверку на функционирования. В таких системах частичная реконфигурация может уменьшить трудозатраты на выполняемые проверки. Вы гарантируете, что все кроме реконфигурируемой части, не изменило своего функционирования.
Еще вопрос, а если система не однозадачна, как тогда будет выбираться нужная конфигурация? или принцип "кто первый того и тапки"
|
|
|
|
|
Nov 22 2010, 12:52
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
QUOTE (DW0 @ Nov 22 2010, 15:18)  есть еще интересная задача для частичной реконфигурации, если у Вас есть проект, который характеризуется как безопасный Спасибо, смеялся! Была бы у меня атомная станция, я никакие fpga при существующих средствах разработки близко не использовал. Применение технологии более рискованной с точки зрения возникновения ошибок в более ответственном месте - это зачёт. Подумайте сами, что проще моделировать, схему полученную из старой прошивки и новой с частичной реконфигурацией или целиком измененную? Может быть я заблуждаюсь, тогда подскажите, что именно в частичной реконфигурации облегчает доказательство корректности работы схемы? Напомню - мы тут даже компиляторы подозреваем, а не сражаемся с частицами из космоса и метастабильностью.
|
|
|
|
|
Nov 22 2010, 13:42
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828

|
Цитата(Shtirlits @ Nov 22 2010, 14:52)  Спасибо, смеялся! Была бы у меня атомная станция, я никакие fpga при существующих средствах разработки близко не использовал.
Применение технологии более рискованной с точки зрения возникновения ошибок в более ответственном месте - это зачёт. Подумайте сами, что проще моделировать, схему полученную из старой прошивки и новой с частичной реконфигурацией или целиком измененную? Может быть я заблуждаюсь, тогда подскажите, что именно в частичной реконфигурации облегчает доказательство корректности работы схемы? Напомню - мы тут даже компиляторы подозреваем, а не сражаемся с частицами из космоса и метастабильностью. Пока вы смеетесь, ПЛИС уже используют в атомной энергетики http://www.westinghousenuclear.com/Product...S-RRAS-0090.pdfhttp://radiy.com/ru/modules/sections/index...le&artid=31Это оборудование которое реально работает. так что Вы не правы!!!
|
|
|
|
|
Nov 22 2010, 14:28
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 9-08-10
Из: Украина
Пользователь №: 58 828

|
Я Вам еще раз говорю, что ПЛИС применяют в важных для безопасности процессах, и также говорю, что можно, но не обязательно применять частичное реконфигурирование, для таких систем, такой подход может удешевить процесс изменения функционирования, под удешевлением, не только цена, но и уменьшение рисков связанных с реконфигурацией и внесением изменений в продукт. Это как ответ на то, для чего это может пригодиться. А Вы начинаете смешно не смешно.
|
|
|
|
|
Nov 22 2010, 16:55
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Да я услышал вас и даже возразил. И нервно хихикаю от ужаса. Вы не поверите, но есть места, где разрабатывают прошивки в схематике, без симулятора и проект не проверяют анализатором таймингов. Что-то сделали, запустили - вроде работает. Надеюсь, не надо объяснять, почему так делать недопустимо. От того факта, что так делают не только пионеры на коленке, но и военные с атомщиками лучше не становится. Это не аргумент.
|
|
|
|
|
Nov 22 2010, 17:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 687
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 884

|
Цитата(Shtirlits @ Nov 22 2010, 19:55)  Да я услышал вас и даже возразил. И нервно хихикаю от ужаса. Вы не поверите, но есть места, где разрабатывают прошивки в схематике, без симулятора и проект не проверяют анализатором таймингов. Что-то сделали, запустили - вроде работает. Надеюсь, не надо объяснять, почему так делать недопустимо. От того факта, что так делают не только пионеры на коленке, но и военные с атомщиками лучше не становится. Это не аргумент. мда я был свидетелем такого явления))) это ужасно. но можете себе представить мое удивление, когда я узнал размер проекта, разработанного таким образом ? Проект портируется в 5 Мегабайт VHDL исходного кода !!!!!!  И отлажен без отладчика !!!!! Чем не герои нашего времени ? Когда я увидел ето ржал как сумасшедший. Сразу вспомнился анекдот: "Лада нанесла новый удар по баварии. При виде новой модели из Тольятти лопнул от смеха директор компании BMW)))". На том показе меня чуть не съели((
--------------------
Если хочешь узнать, что ждет тебя на дороге впереди, спроси у тех, кто возвращается по ней.
|
|
|
|
|
Nov 23 2010, 17:33
|
Участник

Группа: Свой
Сообщений: 58
Регистрация: 13-02-07
Пользователь №: 25 330

|
Пробовал на Virtex-4 работает нормально. Менял функциональность блочка типа АЛУ. С помощью plan ahead можно сгенерить битстрим для переконфигурирования, он получается маленький, что очень удобно (во флешку влезает целая туча конфигураций). Вроде реконфигурация с 12 версии ISE нормально поддерживается и соответственно документация есть.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|