Чи можуть FPGA динамічно змінювати свою логіку?


15

Теоретично було б можливим, щоб FPGA записувала конфігураційне зображення у зовнішню пам'ять і завантажувала конфігураційне зображення з пам'яті для перенастроювання. Це було б "нединамічне" налаштування.

Чи мають FPGA можливість динамічно перетворювати свою логічну тканину? Справді, хоча тригери можуть змінити своє значення, я не чув про динамічну переналаштування таблиць огляду та внутрішніх проводів, що складають логічну тканину.

Чи може внутрішня логіка FPGA (крім пам'яті) динамічно модифікована? Якщо ні, то чому б і ні?


"динамічна переконфігурація" - це справді фраза, яку ви шукаєте :)
Мартін Томпсон

Ви шукаєте FPGA, які можуть переконфігурувати себе (як деякі мікроконтролери) або їх можна переконфігурувати (під час виконання) із зовнішнього компонента?
Trygve Laugstøl

Відповіді:


12

Так, я знаю, що принаймні у Xilinx є частини, які підтримують динамічну конфігурацію, і, мабуть, це роблять інші основні постачальники.

Хоча це зробити головне, тому вам справді потрібно переконатися, що вам це потрібно. Вам потрібно фізично розділити мікросхему на дві або більше областей, принаймні одна з яких не можна налаштувати, і фізично "зафіксувати" всі внутрішні інтерфейси між областями, щоб інструменти синтезу змогли зробити усі правильні з'єднання.


1
Шукайте на веб-сайті Xilinx "налаштування"!
Леон Геллер

3

Можна використовувати два загальні підходи. Багато типів FPGA зберігають свою конфігурацію у засувках, які виймаються із зовнішнього пристрою (як правило, EEPROM) при запуску; FPGA не потребує зовнішнього пристрою після його зчитування. Зміни в EEPROM під час роботи пристрою не наберуть чинності, доки FPGA не отримає вказівку щодо перезавантаження його вмісту. Таким чином, можливо, щоб пристрій, який без FPGA був повністю непрацездатний, перепрограмував FPGA під час роботи; якщо під час запису в EEPROM щось піде не так, проте пристрій може бути непрацездатним, якщо або поки його не можна буде переписати зовнішнім пристроєм (стан, який іноді називають "цегляним").

Альтернативний підхід, який часто корисний для CPLD, клітини яких EEPROM "безпосередньо" контролюють свою функціональність (на відміну від копіювання в засувки), - це мати систему, яка може працювати з обмеженою функціональністю, навіть коли програмований пристрій знаходиться в марному стані. Якщо такої обмеженої функціональності достатньо для перепрограмування CPLD, пристрій може бути захищений від "bricking". Наприклад, бездротовий пристрій може використовувати CPLD для управління його бездротовою функціональністю та іншими функціями. Звичайним методом перепрограмування CPLD може бути отримання зображення в ОЗУ по бездротовому каналу зв'язку, а потім використання цього зображення для перепрограмування CPLD. Якщо програмувати файли, бездротове з'єднання може бути непридатним, поки CPLD не буде перепрограмовано. Однак, щоб система могла відновитись, процесор міг містити "за замовчуванням"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.