реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопрос по Difference-Based Partial Reconfiguration
Sergey'F
сообщение Oct 9 2009, 16:10
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Прочитал XAPP290. Не помогло. Основной вопрос такой:

Как ведет себя ПЛИС, если мы делаем ActiveReconfig, то есть в процессе частичной реконфигурации ПЛИС работает?

Допустим, я решил изменить содержимое таблицы перекодировки (не спрашивайте, зачем надо - это раздумья по вариантам проведения НИР laughing.gif ). Схема работает, через данную ТП проходит сигнал. Я ее меняю.
Как синхронизировать с работой схемы факт изменения ТП, чтобы я мог затормозить часть схемы, например, сняв ena с триггеров?
Что будет на выходе ТП в процессе реконфигурации и сколько это продлится?

Сообщение отредактировал Sergey'F - Oct 9 2009, 16:24
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 10 2009, 17:40
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Sergey'F @ Oct 9 2009, 20:10) *
Как синхронизировать с работой схемы факт изменения ТП, чтобы я мог затормозить часть схемы, например, сняв ena с триггеров?
По сигналу реконфигурации снимается enable со всех триггеров, которые окружаю реконфигурируемую часть. По окончании реконфигурации на реконфигурированный блок подается reset. На триггеры подается enable.

Цитата(Sergey'F @ Oct 9 2009, 20:10) *
Что будет на выходе ТП в процессе реконфигурации и сколько это продлится?
Что будет на выходе - неизвестно, да это и неважно - логика, которая принимает оттуда сигналы, все равно должна быть отключена. А сколько это продлится можно подсчитать, умножив размер реконфигурационной прошивки на время такта частоты реконфигурации.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Oct 10 2009, 21:18
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Спасибо!

Не подскажете или не ткнете в документацию - как понять, какого объема блок будет переконфигурироваться в таком режиме, если я в FPGA Editor поменяю что-то, например, значения всего в одном LUT?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 11 2009, 08:57
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Будет переконфигурироваться такой блок, какой зададите, единственное ограничение, как я понял, он должен быть прямоугольный. Однако, переконфигурировать один LUT как понятно смысла не имеет.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Oct 11 2009, 19:18
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(DmitryR @ Oct 11 2009, 12:57) *
Однако, переконфигурировать один LUT как понятно смысла не имеет.

Да, получается, что скорее всего так. Спасибо за информацию.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Oct 11 2009, 21:11
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Отдельные LUT-ы можно переконфигурировать, если использовать их в режиме сдвигового регистра.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Oct 12 2009, 13:12
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(Shtirlits @ Oct 12 2009, 01:11) *
Отдельные LUT-ы можно переконфигурировать, если использовать их в режиме сдвигового регистра.

Но насколько я понял, обратно их LUTом, реализующим комбинаторную функцию в чистом виде не сделаешь?
Собственно, это нужно по НИР для эмуляции SEU, MEU и прочих ошибок, включая эмуляцию повреждения части схемы относительно незаметным для основной прошивки образом и без вмешательства в исходные коды.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 12 2009, 15:15
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Без вмешательства не выйдет - partial reconfiguration блок надо выделить в отдельный модуль.
Go to the top of the page
 
+Quote Post
Sergey'F
сообщение Oct 12 2009, 15:30
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 351
Регистрация: 17-09-05
Из: Москва
Пользователь №: 8 660



Цитата(DmitryR @ Oct 12 2009, 19:15) *
Без вмешательства не выйдет - partial reconfiguration блок надо выделить в отдельный модуль.

Но в XAPP290 расписано, что изменения при difference-based делаются на уровне нетлиста в FPGA Editor напрямую с LUT, блочной памятью или элементами ввод-вывода, и из этого делается частичная прошивка только с указанными изменениями.

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

А описание разностной, кроме как в XAPP290, я нигде толком не нашел. Например, в документации на Virtex5 написано, что переконфигурировать можно на уровне одного конфигурационного блока, а за какой объем ресурсов он отвечает, сколько времени это займет, как грамотно уведомить свою схему об этом процессе - не написано.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Oct 12 2009, 23:26
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Цитата(Sergey'F @ Oct 12 2009, 17:12) *
Но насколько я понял, обратно их LUTом, реализующим комбинаторную функцию в чистом виде не сделаешь?
Собственно, это нужно по НИР для эмуляции SEU, MEU и прочих ошибок, включая эмуляцию повреждения части схемы относительно незаметным для основной прошивки образом и без вмешательства в исходные коды.

Глупости. LUT-это память, входы - адрес чтения. Если "при взгляде сверху" LUT является логической функцией f(Ix), то "при взгляде сбоку" эти входы (Ax) определяют глубину сдвигового регистра. Результат один, разница в способе заполнения памяти.
Ставите компонент SRLC32E/SRLC16 вместо своих LUT-ов, заполняете его исходными значениями вынутыми из LUT-ов синтезированной схемы или из головы. Выход Q31/Q15 и вход D используете для каскадирования, если реконфигурируемых LUT-ов много. Входы A являются аргументами логической функции, выход Q ее значением. Все, схема как была, но теперь ее можно курочить продвигая биты через LUT-ы. Неплохо бы проследить за тем, чтобы цепочки LUT-ов выстраивались в соответствии с размещением, тогда каскадирование сдвиговых регистров использует специально для этого предназначенные провода.
Если схема получается в результате синтеза сложного для понимания текста, ну, чего-то сложнее сумматоров, то будет непросто, так как сначала придется синтезировать эту схему, и, что существенно, разместить, а потом, в соответствии с размещением ихсодной схемы построить новую. Хотя, если не париться экономным использованием проводов, то можно и как попало соединять. Но все равно netlist придется анализировать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 15:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01434 секунд с 7
ELECTRONIX ©2004-2016