Почему FPGA на основе SRAM используется больше, чем FPGA на основе NVM?


21

FPGA на основе SRAM необходимо снова загрузить поток битов после выключения питания. Между тем энергонезависимому не нужно это.

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

(PS: у меня нет статистики, это личное наблюдение)


Я не уверен в вашей статистике, но FLASH FPGA относительно новы по сравнению с SRAM. Так что это может быть причиной, если ваши данные верны.
Евгений Ш.

3
Вы сравнили стоимость? Я предполагаю, что энергонезависимые являются более дорогими.
Очаг

@EugeneSh У меня нет статистики, это личное наблюдение (я обновил это как PS в вопросе, чтобы не путать людей)
Lavender

В последнем проекте, к
которому

Ответы:


33

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

С другой стороны, процесс, необходимый для создания EEPROM (энергонезависимой памяти), требует дополнительных шагов - для создания плавающих затворов со специальной толщиной оксида и т. Д. Этот процесс НЕ непосредственно совместим с процессом логики / SRAM. Это означает, что энергонезависимые ПЛИС являются своего рода компромиссом в обеих областях.


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 имеет меньшую мощность, чем SRAM
  • FPGA на базе FLASH не нуждается в BOOT PROM, поэтому один чип против двух (или более).
  • Возможно, у вас есть требование для включения питания в предыдущем состоянии.
  • FLASH предлагает более радикальные решения. В FPGA на основе SRAM есть способы справиться с радиационными требованиями или SEU в целом, но Microsemi предлагает «надежную технологию»

ПЛИС на базе FLASH (Actel, в настоящее время Microsemi) традиционно не обладали такой плотностью или производительностью, которых можно было бы достичь с помощью ПЛИС на основе SRAM, поэтому, если бы производительность была определяющим фактором, вы бы выбрали Xilinx или Altera (теперь Intel), или возможно Решетка.

По сути, вы руководствуетесь требованиями вашей системы, и в частности вашей IC. Вначале вы выполняете эти требования и изучаете различные FPGA (электронная таблица). SWaP и производительность, а затем повторяющаяся стоимость - это основные соображения, которые вы хотите обсудить с вашей командой (системы, CCA, возможно, даже SW), которые передаются вашему главному инженеру / менеджеру проекта. Другие проблемы, такие как надежность, технологичность и т. Д., Обычно обеспечиваются другими членами команды из этих соответствующих организаций, но обычно не имеют большого значения без вашей первоначальной торговли и, как правило, не помешают вашему выбору.

В Интернете есть статьи, если вы будете искать «SRAM vs FLASH FPGA», но вы, скорее всего, узнаете больше из отраслевого исследования ваших требований, используя таблицы данных, чем что-либо еще.


2

Для решения проблемы безопасности большинство современных ПЛИС SRAM могут быть сконфигурированы с зашифрованным потоком , обычно с современными стандартами шифрования, такими как 256-битный AES. Возможно, это так же безопасно, как и внутреннее хранение конфигурации: выделенный атакующий, способный извлечь закрытый ключ из поврежденного чипа, также сможет считывать внутреннюю флэш-память.

ПЛИС на основе флэш-памяти обычно используются, когда реализация довольно проста (поэтому большая ПЛИС SRAM не требуется) или когда требуется мгновенный запуск.


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

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