Чому FPGA на базі SRAM використовується більше, ніж FPGA на базі NVM?


21

На основі SRAM FPGA потрібно знову завантажити бітовий потік після відключення живлення. Тим часом енергонезалежній особі цього не потрібно.

Цікаво, чому на SRAM FPGA робиться більше експериментів та досліджень безпеки, ніж на базі NVM, здається, що енергонезалежна технологія використовується більше незалежно від обмежень безпеки (якщо мова йде про забезпечення безпечного завантаження).

(PS: У мене немає статистики, це особисте спостереження)


Я не впевнений у вашій статистиці, але FLASH FPGA порівняно нові з SRAM. Тож це може бути причиною, якщо ваші дані правдиві.
Євген Ш.

3
Ви порівняли вартість? Я думаю, що енергонезалежні цінніші.
Hearth

@EugeneSh У мене немає статистики, це особисте спостереження (я оновив, що як ПС у питанні, щоб не плутати людей)
Lavender

Останній проект, який я торкнувся, використовував sram, оскільки він багато разів переналаштовував його для різної функціональності
PlasmaHH

Відповіді:


33

Основним рушієм є той факт, що SRAM дуже сумісний з тим самим фізичним процесом, який використовується для реалізації реальної логіки. Дійсно, більшість FPGA в наші дні базуються на LUT (таблицях пошуку), які є дійсно просто крихітними бітами оперативної пам’яті.

З іншого боку, процес, необхідний для створення EEPROM (енергонезалежна пам'ять), вимагає додаткових кроків - створення плаваючих воріт із особливою товщиною оксиду тощо. Цей процес НЕ безпосередньо сумісний з логікою / процесом SRAM. Це означає, що енергонезалежні FPGA є певним компромісом в обох сферах.


21

На додаток до відповіді Дейва Твіда щодо процесів виготовлення, більшість FPGA на базі флеш-версії насправді досі використовують SRAM для керування їх тканиною. Бітовий потік завантажується в SRAM від спалаху так само, як у звичайнішому FPGA, різниця лише в тому, що спалах є внутрішнім. Ця архітектура є очевидною при перегляді їхніх таблиць даних та додатків. Зокрема, деякі пристрої, такі як Lattice MachXO2 / 3, підтримують перепрограмування спалаху під час роботи пристрою, що можливе лише тому, що пристрій фактично працює із SRAM замість прямого спалаху. Таким чином, FPGA, що базується на спалаху, потребує спалаху на додаток до SRAM, а значить, йому потрібно більше площини відмирання.

Що стосується безпеки, ви праві зазначити, що процес запуску FPGA може бути слабкою точкою з точки зору дозволу на захоплення бітового потоку. Для усунення цього розриву багато FPGA тепер включають підтримку шифрування бітових потоків, яка базується на захищеному ключі, що зберігається у виділеній пам'яті в FPGA. Зображення бітового потоку зашифровується за допомогою цього ключа, завантажується в пам'ять конфігурації, а потім, коли FPGA запускається, він зчитує зашифрований бітовий потік в і розшифровує його під час завантаження в його (Деякі мікроконтролери, яким потрібна зовнішня пам'ять, мають подібні можливості, і принципи багато в чому однакові.)


3
Насправді, ваш перший абзац справедливий для відносно обмеженого набору FPGA. Багато FPGA на основі флеш-реклами рекламуються як «миттєвий ввімкнутий» (сильна точка продажу у багатьох додатках), що означає, що немає внутрішньої передачі - флеш-комірки безпосередньо керують з'єднаннями та логікою.
Трейд Дейва

3
З того, що я бачив, що навіть "миттєві" пристрої все ще повинні завантажувати CRAM, це просто відбувається набагато швидше (я думаю, через більш широкий інтерфейс від внутрішнього спалаху), ніж у частинах, що вимагають зовнішнього спалаху. Наприклад, MAX10 "миттєвий", але дивіться с.28 тут: intel.com/content/dam/altera-www/global/en_US/pdfs/literature/… Але якщо у вас є посилання, що показує повністю CRAM- менше архітектури Мені було б цікаво дізнатися про це.
айб

3
Подивіться на Actel (зараз Microsemi) - і їхні пристрої, що захищаються від загрози та спалах, не копіюються.
Трейд Дейва

8

Більше всього, це залежить від ваших вимог. Хоча розмір, вага та потужність (SWaP) є основними драйверами для ІС загалом, якщо ви не змушені розробляти ASIC через ці вимоги, продуктивність - це наступне врахування, яке може повернути вас назад до ASIC, але, можливо, ви зможете використовувати FPGA, якщо зможете дозволити компроміси SWaP.

  • FPGA на основі FLASH не потребують часу для налаштування, оскільки вони "вмикаються". Ваша конструкція може вимагати цього.
  • Технологія FLASH має меншу потужність, ніж SRAM
  • FPGA на основі FLASH не потребує BOOT PROM, таким чином, один чіп проти двох (або більше).
  • У вас може виникнути вимога живлення в попередньому стані.
  • На базі FLASH пропонується більше рішень, пов'язаних з радіусом. Існують способи вирішити вимоги до радіації або взагалі СЕУ в ПЗР на базі SRAM, але Microsemi пропонує "загартовану технологію"

На основі FLASH FPGA (Actel, тепер Microsemi) традиційно не було щільності або продуктивності, яку можна було б досягти за допомогою FPGA на основі SRAM, тож, якщо продуктивність була рушійним фактором, ви вибрали б Xilinx або Altera (тепер Intel), або можливо, решітка.

По суті, ви керуєтесь вимогами вашої системи та конкретно вашого ІС. На початку ви вирішуєте ці вимоги та здійснюєте торговельне дослідження різних ПЗР (розсильний лист). SWaP та продуктивність, а потім повторювані витрати - це основні міркування, які ви хочете повторити зі своєю командою (системи, CCA, можливо, навіть SW), яка повертається до головного інженера / менеджера проекту. Інші занепокоєння, такі як надійність, технологічність і т.д., зазвичай надаються іншими членами команди цих відповідних організацій, але зазвичай не означають багато без вашої первинної торгівлі і, як правило, не заважають вашому вибору.

У Інтернеті є статті, якщо ви шукаєте "SRAM vs FLASH FPGAs", але ви, швидше за все, дізнаєтесь більше з торговельного дослідження відповідно до ваших вимог, використовуючи аркуші даних, ніж будь-що інше.


2

Для вирішення аспекту безпеки більшість сучасних ПЗУ SRAM можуть бути налаштовані зашифрованим потоком , як правило, із сучасними стандартами шифрування, такими як 256-бітний AES. Можливо, це так само безпечно, як і внутрішнє зберігання конфігурації: спеціалізований вкладник, який може витягнути приватний ключ із знеціненого чіпа, також зможе прочитати внутрішній спалах.

Flash-FPGA, як правило, використовуються, коли реалізація досить проста (тому велика FPGA SRAM не потрібна) або коли потрібен миттєвий запуск.


Я можу стверджувати, що FPGA на базі флеш-пам'яті також можуть вирішувати проблеми безпеки. Дивіться статтю від EEtimes щодо пом’якшення проти атак з використанням диференціального аналізу потужності (DPA): easures.com/document.asp?doc_id=1327477
boink

@boink Щоправда, зокрема, старі програми FPGA були досить вразливими ( приклад ), але я очікую, що ситуація покращиться до цього часу. Стаття, на яку ви посилаєтесь, здається, рекламує контрзаходи DPA.
Дмитро Григор’єв
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.