¿Por qué las FPGA basadas en SRAM se usan más que las FPGA basadas en NVM?

21

Los FPGA basados en SRAM necesitan cargar el flujo de bits nuevamente después de apagarlo. Mientras tanto, el no Volatile no necesita eso.

Me pregunto, ¿por qué se realizan más experimentos e investigaciones de seguridad en la SRAM FPGA que en la NVM? Parece que la tecnología volátil se usa más independientemente de sus límites de seguridad (cuando se trata de garantizar un arranque seguro).

(PS: No tengo estadísticas, es una observación personal)

    
pregunta Lavender

4 respuestas

32

El controlador principal es el hecho de que SRAM es altamente compatible con el mismo proceso físico que se utiliza para implementar la lógica real. De hecho, la mayoría de los FPGA en estos días se basan en LUT (tablas de búsqueda), que en realidad son solo diminutos bits de RAM.

Por otra parte, el proceso requerido para construir EEPROM (memoria no volátil) requiere pasos adicionales: para crear puertas flotantes con un espesor de óxido especial, etc. Este proceso NO es directamente compatible con el proceso lógico / SRAM. Esto significa que los FPGA no volátiles son algo así como un compromiso en ambas áreas.

    
respondido por el Dave Tweed
21

Además de la respuesta de Dave Tweed con respecto a los procesos de fabricación involucrados, la mayoría de los FPGA basados en flash todavía usan SRAM para impulsar su tejido. El flujo de bits se carga en la SRAM desde el flash al igual que en un FPGA más convencional, la única diferencia es que el flash es interno. Esta arquitectura es evidente cuando nos fijamos en sus hojas de datos y notas de aplicaciones. En particular, algunos dispositivos como Lattice MachXO2 / 3 admiten la reprogramación de su flash mientras el dispositivo se está ejecutando, lo cual solo es posible porque el dispositivo en realidad se ejecuta desde SRAM en lugar de hacerlo directamente desde el flash. Así que un FPGA "basado en flash" necesita el flash además de la SRAM, lo que significa que necesita más área de troquel.

Con respecto a la seguridad, tiene razón al señalar que el proceso de inicio de FPGA puede ser un punto débil en cuanto a permitir que se capture el flujo de bits. Para ayudar a cerrar esta brecha, muchos FPGA ahora incorporan soporte para el cifrado de flujo de bits, que se basa en una clave segura almacenada en una memoria dedicada dentro del FPGA. Una imagen de flujo de bits se cifra con esta clave, se carga en la memoria de configuración, y luego, cuando el FPGA se inicia, lee el flujo de bits cifrado y lo desencripta a medida que lo carga (algunos microcontroladores que requieren memoria externa tienen capacidades similares). los principios son en gran medida los mismos.)

    
respondido por el ajb
8

Más que nada, depende de tus requerimientos. Si bien el tamaño, el peso y la potencia (SWaP) son los principales impulsores de los circuitos integrados en general, si no está obligado a desarrollar un ASIC debido a esos requisitos, el rendimiento es su próxima consideración, lo que puede hacer que vuelva a un ASIC. pero, es posible que pueda usar un FPGA si puede pagar las compensaciones de SWaP.

  • Los FPGA basados en FLASH no requieren "tiempo" para configurar, ya que están "encendidos instantáneamente". Su diseño puede requerir esto.
  • La tecnología FLASH es menos potente que la SRAM
  • FPGA basado en FLASH no necesita una BOMBA PROMOCIÓN, por lo tanto, un chip contra dos (o más).
  • Es posible que tenga un requisito de encendido en el estado anterior.
  • Las soluciones basadas en FLASH ofrecen más soluciones tolerantes a la radiación. Hay formas de lidiar con los requisitos de radiación, o SEU en general, en los FPGA basados en SRAM, pero Microsemi ofrece "tecnología reforzada"

Los FPGA basados en FLASH (Actel, ahora Microsemi), tradicionalmente, no han tenido la densidad o el rendimiento que uno podría lograr con los FPGA basados en SRAM, por lo tanto, si el rendimiento fuera el factor determinante, elegiría Xilinx o Altera (ahora Intel ), o tal vez Lattice.

Esencialmente, usted está impulsado por los requisitos de su sistema, y su IC específicamente. Al inicio, se abordan estos requisitos y se realiza un estudio comercial de los diferentes FPGA (hoja de cálculo). El SWaP y el rendimiento, seguidos por los costos recurrentes, son las principales consideraciones que desea repetir con su equipo (sistemas, CCA, tal vez incluso SW) que se retroalimenta al ingeniero jefe / gerente de su proyecto. Otros problemas de confiabilidad, capacidad de fabricación, etc., generalmente son proporcionados por otros miembros del equipo de esas respectivas organizaciones, pero generalmente no significan mucho sin su intercambio inicial y, por lo general, no evitarán su elección.

Hay artículos en la web si busca "SRAM vs FLASH FPGAs", pero es probable que obtenga más información de un estudio comercial sobre sus requisitos utilizando las hojas de datos que cualquier otra cosa.

    
respondido por el CapnJJ
2

Para abordar el aspecto de la seguridad, la mayoría de los FPGA SRAM modernos pueden configurarse con un flujo cifrado , generalmente con estándares de cifrado modernos como AES de 256 bits. Podría decirse que es tan seguro como almacenar la configuración internamente: un intruso dedicado que puede extraer la clave privada de un chip descapsulado también podrá leer el flash interno.

Los FPGA basados en flash se usan normalmente cuando la implementación es bastante simple (por lo que no se necesita un FPGA SRAM grande) o cuando se requiere un inicio instantáneo.

    
respondido por el Dmitry Grigoryev

Lea otras preguntas en las etiquetas