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

Слышал, что что-то такое есть в циклонах, но в силу исторических причин работаю в основном с Xilinx.
Собственно вопрос: есть ли у Xilinx какие-либо средства для переконфигурации ПЛИС изнутри и/или по частям?
Ну и вообще, предлагаю здесь собрать всякие экзотические способы конфигурации ПЛИС. Кто как извращался?
