|
|
  |
Переконфигурирование FPGA изнутри, Конкретно интересует Virtex-5, но и вообще вопрос интересный |
|
|
|
Mar 4 2011, 06:12
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106

|
Есть много способов по ходу работы периодически менять прошивку FPGA-шки. Самый простой - поставить рядом контроллер/ПЛИСину поменьше и прошивать ей. Но это не всегда удобно. К примеру, если основной интерфейс для общения с внешним миром - PCI-express, и прошивки получаем по нему же, то становится интересно. Заливать прошивку на флэш, а потом перестартовать с неё? Довольно геморойно, флешку опять же заездить можно быстро. Общаться с PCI-express'ом через дополнительный чип? Есть прикольные штуки типа GN4121 - сам общается с компом, сам прошивает FPGA, но это дополнительный корпус, дополнительные деньги... Опять же внутренние PCI-express'ные блоки в ПЛИС (если есть) остаются не задействованы. Хотя в некоторых случаях вариант неплохой. В идеале, хочется чтобы ПЛИСина сама меняла свою конфигурацию, без посторонней помощи. Желательно ещё и по частям  Слышал, что что-то такое есть в циклонах, но в силу исторических причин работаю в основном с Xilinx. Собственно вопрос: есть ли у Xilinx какие-либо средства для переконфигурации ПЛИС изнутри и/или по частям? Ну и вообще, предлагаю здесь собрать всякие экзотические способы конфигурации ПЛИС. Кто как извращался?
|
|
|
|
|
Mar 4 2011, 06:24
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Anatol' @ Mar 4 2011, 08:12)  Но это не всегда удобно. К примеру, если основной интерфейс для общения с внешним миром - PCI-express, и прошивки получаем по нему же, то становится интересно. Заливать прошивку на флэш, а потом перестартовать с неё? Довольно геморойно, флешку опять же заездить можно быстро. Про заездить флешку, это конечно круто. А геморой, то какой геморой? При отладки заливка идет через jtag. А потом при смене можно и ресет нажать.
|
|
|
|
|
Mar 4 2011, 06:48
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106

|
Цитата(Methane @ Mar 4 2011, 12:24)  Про заездить флешку, это конечно круто. А геморой, то какой геморой? При отладки заливка идет через jtag. А потом при смене можно и ресет нажать. Хорошо, сформулируем для ясности задачу. У меня две стадии вычислений, для которых нужна сильно разная конфигурация ПЛИС. Переключения между ними, в зависимости от размера блока данных, могут осуществляться как раз в несколько часов, так и несколько раз в секунду. В последнем случае заездить флешку уже не так уж и сложно. Да и в ресет тыкать устанешь
|
|
|
|
|
Mar 4 2011, 06:57
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Anatol' @ Mar 4 2011, 08:48)  Хорошо, сформулируем для ясности задачу. У меня две стадии вычислений, для которых нужна сильно разная конфигурация ПЛИС. Переключения между ними, в зависимости от размера блока данных, могут осуществляться как раз в несколько часов, так и несколько раз в секунду. В последнем случае заездить флешку уже не так уж и сложно. Да и в ресет тыкать устанешь  Две ПЛИС поставить, в разные сплоты. Если в одну все не влазит. А вообще, какая-то экзотика. Поставить циклон с PCIe и рядом что-то для вычислений можно? Раз в секунду в любом случае переключать не получиться, прошивается и грузится ПЛИС довольно долго. И зачем прошивать так часто, если можно сразу несколько конфигураций хранить.
|
|
|
|
|
Mar 4 2011, 07:13
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106

|
Цитата(Methane @ Mar 4 2011, 12:57)  Две ПЛИС поставить, в разные сплоты. Если в одну все не влазит. А вообще, какая-то экзотика. Поставить циклон с PCIe и рядом что-то для вычислений можно?
Раз в секунду в любом случае переключать не получиться, прошивается и грузится ПЛИС довольно долго. И зачем прошивать так часто, если можно сразу несколько конфигураций хранить. Не экзотика, просто хочется выжать максимум из уже имеющейся платы ) А там уже стоит только одна ПЛИС, и подключена она напрямую к PCIe. Грузится ПЛИС может быстро. Ну прошить, положим, можно несколько конфигураций в одну флешку (надо будет посмотреть, хватит ли места), но как заставить ПЛИС перезагрузиться с нужной, без дополнительной обвязки? И не обидится ли комп, что у него на PCIe шине устройство пропало, а потом опять возникло? С hot-plug'ом наверняка будет куча проблем.
|
|
|
|
|
Mar 4 2011, 07:17
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 13-03-07
Из: Ленинград
Пользователь №: 26 139

|
Можно и на лету перезагружать часть кристалла с PCI через ICAP порт. Создать блок, включающий в себя: контроллер PCI-E, контроллер конфигурации, ICAP модуль. Они будут работать всегда. Остальные блоки загружаются/перезагружаются по мере надобности.
Подробно в UG702 - Partial Reconfiguration User Guide
Сообщение отредактировал Eugenius - Mar 4 2011, 07:17
|
|
|
|
|
Mar 4 2011, 07:19
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Anatol' @ Mar 4 2011, 09:13)  Не экзотика, просто хочется выжать максимум из уже имеющейся платы ) А там уже стоит только одна ПЛИС, и подключена она напрямую к PCIe. Грузится ПЛИС может быстро. Ну прошить, положим, можно несколько конфигураций в одну флешку (надо будет посмотреть, хватит ли места), А какая у вас флешка? Цитата но как заставить ПЛИС перезагрузиться с нужной, без дополнительной обвязки?  Цитата И не обидится ли комп, что у него на PCIe шине устройство пропало, а потом опять возникло? С hot-plug'ом наверняка будет куча проблем. Будет. Я отлаживался грузя PC по Ethernt. По сравнению с временем компиляции проекта, совсем не много.
|
|
|
|
|
Mar 4 2011, 07:36
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106

|
Цитата(Eugenius @ Mar 4 2011, 13:17)  Можно и на лету перезагружать часть кристалла с PCI через ICAP порт. Создать блок, включающий в себя: контроллер PCI-E, контроллер конфигурации, ICAP модуль. Они будут работать всегда. Остальные блоки загружаются/перезагружаются по мере надобности.
Подробно в UG702 - Partial Reconfiguration User Guide О, а вот это уже очень сильно похоже на то, что надо, буду читать  Спасибо! И ведь видел уже этот документ когда-то... Забыл ( Цитата(Methane @ Mar 4 2011, 13:19)  А какая у вас флешка? Не помню =( На руках сейчас ни платы, ни схемы. На днях посмотрю. Цитата(Methane @ Mar 4 2011, 13:19)  [img... Клёвый рубильник, где б такой добыть?  Цитата(Methane @ Mar 4 2011, 13:19)  Будет. Я отлаживался грузя PC по Ethernt. По сравнению с временем компиляции проекта, совсем не много. Попробую всё же обойтись без хотплага )
|
|
|
|
|
Mar 4 2011, 08:38
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Если контроллер на Virtex-5/6 в контрольной панели Windows отключить, перешить ПЛИС, а потом обратно включить, то контроллер продолжает работать, перезагрузка не нужна. Можно как-то этот процесс автоматизировать, а шить хоть через Impact.
>Но это не всегда удобно. К примеру, если основной интерфейс для общения с внешним миром - PCI-express, и прошивки получаем по нему же, то становится интересно. >Заливать прошивку на флэш, а потом перестартовать с неё? >Довольно геморойно, флешку опять же заездить можно быстро.
Вместо ПЗУ можно сделать "конфигурационное ОЗУ" параллельно ПЗУ. В это ОЗУ загружается новая прошивка, дёргается PROG, подробности можно домыслить. Это так, просто вариант.
>Общаться с PCI-express'ом через дополнительный чип? Можно, но стоит денег и ресурсов. Через вторую ПЛИС и Selectmap нормально получается грузить.
>В идеале, хочется чтобы ПЛИСина сама меняла свою конфигурацию, без посторонней помощи. Желательно ещё и по частям >Собственно вопрос: есть ли у Xilinx какие-либо средства для переконфигурации ПЛИС изнутри и/или по частям?
Partial Configuration в PlanAhead, лицензия отдельная нужна на это. Есть какой-то tuitorial на эту тему.
|
|
|
|
|
Mar 4 2011, 09:28
|
Участник

Группа: Свой
Сообщений: 74
Регистрация: 28-01-10
Из: Новосибирск
Пользователь №: 55 106

|
О, вот про отдельную лицензию это не очень хорошая новость ( Ладно, будем думать и читать.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|