Los FPGA basados en SRAM necesitan cargar nuevamente el flujo de bits después del apagado. Mientras tanto, el no volátil no necesita eso.
Me pregunto, por qué se realizan más experimentos e investigaciones de seguridad en el SRAM FPGA que en el basado en 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).
(PD: no tengo estadísticas, es una observación personal)
Respuestas:
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 pequeños trozos de RAM.
Por otro lado, el proceso requerido para construir EEPROM (memoria no volátil) requiere pasos adicionales: crear compuertas flotantes con un grosor 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 un compromiso en ambas áreas.
fuente
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 manejar su estructura. 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 aplicación. 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 realmente se ejecuta desde SRAM en lugar de directamente desde el flash. Entonces, un FPGA "basado en flash" necesita el flash además del SRAM, lo que significa que necesita más área de matriz.
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 términos de 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 la memoria dedicada dentro del FPGA. Una imagen de flujo de bits se encripta con esta clave, se carga en la memoria de configuración y luego, cuando se inicia el FPGA, lee el flujo de bits encriptado y lo descifra a medida que lo carga (algunos microcontroladores que requieren memoria externa tienen capacidades similares, y los principios son en gran medida los mismos)
fuente
Más que nada, depende de sus requisitos. 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 llevarlo de vuelta a un ASIC de todos modos, pero, puede utilizar un FPGA si puede permitirse las compensaciones de SWaP.
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 Quizás enrejado.
Esencialmente, usted es guiado por los requisitos de su sistema y su IC específicamente. Al principio, usted aborda estos requisitos y realiza un estudio comercial de los diferentes FPGA (hoja de cálculo). El SWaP y el rendimiento, seguidos por el costo recurrente son las principales consideraciones que desea iterar con su equipo (sistemas, CCA, tal vez incluso SW) que se retroalimenta al ingeniero / gerente jefe de su proyecto. Otras inquietudes, como la confiabilidad, la capacidad de fabricación, etc., generalmente son proporcionadas por otros miembros del equipo de esas organizaciones respectivas, pero generalmente no significan mucho sin su comercio inicial, y generalmente no impedirán su elección.
Hay artículos en la web si busca "FPAM SRAM vs FLASH", pero es probable que aprenda más de un estudio comercial sobre sus requisitos utilizando las hojas de datos que cualquier otra cosa.
fuente
Para abordar el aspecto de seguridad, la mayoría de los FPGA SRAM modernos se pueden configurar con una secuencia cifrada , 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 atacante dedicado que pueda extraer la clave privada de un chip descabezado también podrá leer el flash interno.
Los FPGA basados en flash se usan generalmente 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.
fuente