Los FPGA basados en SRAM necesitan cargar el flujo de bits nuevamente después de apagarse. Mientras tanto, el basado en no volátiles no necesita eso.
Me pregunto, ¿por qué se realizan más experimentos e investigaciones de seguridad en SRAM FPGA que 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)
El principal impulsor 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 bits de RAM.
Por otro lado, el proceso requerido para construir EEPROM (memoria no volátil) requiere pasos adicionales: 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.
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 estructura. El flujo de bits se carga en la SRAM desde la memoria flash como en una FPGA más convencional, la única diferencia es que la memoria flash es interna. Esta arquitectura es evidente cuando observa sus hojas de datos y notas. En particular, algunos dispositivos como Lattice MachXO2/3 admiten la reprogramación de su flash mientras el dispositivo está funcionando, lo que solo es posible porque el dispositivo en realidad se ejecuta desde SRAM en lugar de hacerlo directamente desde el flash. Entonces, un FPGA "basado en flash" necesita el flash además de la 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 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 se inicia la FPGA, lee el flujo de bits cifrado y lo descifra a medida que lo carga en su (Algunos microcontroladores que requieren memoria externa tienen capacidades similares, y los principios son en gran medida los mismos.)
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 siguiente consideración, lo que puede llevarlo de nuevo a un ASIC de todos modos. pero es posible que pueda usar un FPGA si puede pagar 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 que, si el rendimiento fuera el factor determinante, elegiría Xilinx o Altera (ahora Intel), o tal vez Lattice.
Esencialmente, lo impulsan los requisitos de su sistema y su IC específicamente. Desde el principio, aborda estos requisitos y realiza un estudio comercial de los diferentes FPGA (hoja de cálculo). 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 retroalimentan a su ingeniero jefe/gerente de proyecto. Otras inquietudes, como la confiabilidad, la capacidad de fabricación, etc., generalmente las brindan otros miembros del equipo de esas organizaciones respectivas, pero generalmente no significan mucho sin su intercambio inicial y, por lo general, no impedirán su elección.
Hay artículos en la web si busca "SRAM vs FLASH FPGA", pero es probable que aprenda más de un estudio comercial en comparación con sus requisitos utilizando las hojas de datos que cualquier otra cosa.
Para abordar el aspecto de la seguridad, la mayoría de los FPGA SRAM modernos se pueden configurar 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 adjunto dedicado que pueda extraer la clave privada de un chip destapado también podrá leer la memoria flash interna.
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.
Otro aspecto aún no mencionado: SRAM no se degrada con el uso. Flash lo hace y limitará la vida útil de su FPGA si no se usa con cuidado. Además, los chips flash dedicados pueden optimizarse mucho más para su propósito y tener un ciclo de desarrollo más rápido, por lo que es probable que se mejoren con respecto al flash integrado.
Eugenio Sh.
Hogar
Lavanda
PlasmaHH