Les FPGA basés sur SRAM doivent recharger le train de bits après la mise hors tension. Pendant ce temps, la base non volatile n'a pas besoin de cela.
Je me demande, pourquoi fait-on plus d'expériences et de recherches sur la sécurité sur le FPGA SRAM que sur le NVM, il semble que la technologie volatile soit plus utilisée indépendamment de ses limites de sécurité (quand il s'agit d'assurer un démarrage sécurisé).
(PS: je n'ai pas de statistiques, c'est une observation personnelle)
Réponses:
Le pilote principal est le fait que SRAM est hautement compatible avec le même processus physique qui est utilisé pour implémenter la logique réelle. En effet, la plupart des FPGA de nos jours sont basés sur des LUT (tables de recherche), qui ne sont en réalité que de minuscules morceaux de RAM eux-mêmes.
D'autre part, le processus requis pour construire l'EEPROM (mémoire non volatile) nécessite des étapes supplémentaires - pour créer des portes flottantes avec une épaisseur d'oxyde spéciale, etc. Ce processus n'est PAS directement compatible avec le processus logique / SRAM. Cela signifie que les FPGA non volatils sont en quelque sorte un compromis dans les deux domaines.
la source
En plus de la réponse de Dave Tweed concernant les processus de fabrication impliqués, la plupart des FPGA basés sur flash utilisent encore SRAM pour piloter leur structure. Le bitstream est chargé dans la SRAM à partir du flash comme dans un FPGA plus conventionnel, la seule différence est que le flash est interne. Cette architecture est évidente lorsque vous regardez leurs fiches techniques et leurs annexes. En particulier, certains appareils comme le Lattice MachXO2 / 3 prennent en charge la reprogrammation de leur flash pendant que l'appareil est en cours d'exécution, ce qui n'est possible que parce que l'appareil fonctionne réellement à partir de SRAM au lieu de directement à partir du flash. Ainsi, un FPGA "basé sur flash" a besoin du flash en plus de la SRAM, ce qui signifie qu'il a besoin de plus de zone de matrice.
En ce qui concerne la sécurité, vous avez raison de souligner que le processus de démarrage FPGA peut être un point faible en termes de capture du flux binaire. Pour aider à combler cet écart, de nombreux FPGA intègrent désormais la prise en charge du cryptage bitstream, qui est basé sur une clé sécurisée stockée dans la mémoire dédiée du FPGA. Une image de flux binaire est chiffrée avec cette clé, chargée dans la mémoire de configuration, puis au démarrage du FPGA, elle lit le flux binaire chiffré et la décrypte lorsqu'elle la charge dans son (certains microcontrôleurs qui nécessitent une mémoire externe ont des capacités similaires, et les principes sont largement les mêmes.)
la source
Plus que tout, cela dépend de vos besoins. Bien que la taille, le poids et la puissance (SWaP) soient les principaux moteurs des circuits intégrés en général, si vous n'êtes pas obligé de développer un ASIC en raison de ces exigences, les performances sont votre prochaine considération, ce qui peut vous ramener à un ASIC de toute façon, mais vous pouvez peut-être utiliser un FPGA si vous pouvez vous permettre les compromis SWaP.
Les FPGA basés sur FLASH (Actel, maintenant Microsemi), n'ont traditionnellement pas eu la densité ou les performances que l'on pouvait obtenir avec des FPGA basés sur SRAM, donc, si les performances étaient le facteur déterminant, vous choisiriez Xilinx ou Altera (maintenant Intel), ou peut-être Lattice.
Essentiellement, vous êtes motivé par les exigences de votre système et de votre CI en particulier. Au début, vous répondez à ces exigences et effectuez une étude commerciale des différents FPGA (feuille de calcul). Le SWaP et les performances, suivis des coûts récurrents sont les principales considérations sur lesquelles vous souhaitez répéter avec votre équipe (systèmes, CCA, peut-être même SW) qui sont renvoyées à votre ingénieur / gestionnaire en chef de projet. D'autres préoccupations telles que la fiabilité, la fabricabilité, etc. sont généralement fournies par d'autres membres de l'équipe de ces organisations respectives, mais ne signifient généralement pas grand-chose sans votre échange initial et n'empêchent généralement pas votre choix.
Il y a des articles sur le Web si vous recherchez "SRAM vs FLASH FPGAs", mais vous en apprendrez probablement plus d'une étude commerciale par rapport à vos besoins en utilisant les fiches techniques que vous ne le feriez de toute autre chose.
la source
Pour résoudre le problème de la sécurité, la plupart des FPGA SRAM modernes peuvent être configurés avec un flux chiffré , généralement avec des normes de chiffrement modernes telles que l'AES 256 bits. On peut dire que c'est aussi sûr que de stocker la configuration en interne: un attacheur dédié qui est capable d'extraire la clé privée d'une puce décapée pourra également lire le flash interne.
Les FPGA basés sur Flash sont généralement utilisés lorsque l'implémentation est plutôt simple (donc un grand FPGA SRAM n'est pas nécessaire) ou lorsqu'un démarrage instantané est requis.
la source