Une cellule de SRAM garde un bit avec deux inverseurs qui s'alimentent l'un l'autre. Plus ils s'« accrochent » l'un à l'autre, plus ils encaissent de bruit sans basculer — et cela se mesure en traçant la courbe de chaque inverseur contre celle de l'autre : on obtient un papillon, et le côté du plus grand carré qui tient dedans est la marge de bruit statique (SNM). Bouge les commandes et regarde-le rétrécir.
La cellule, transistor par transistor
M1/M2 et M3/M4 sont les deux inverseurs ; M5 et M6 sont les transistors d'accès, qui ne conduisent que tant que la ligne de mot est active. Passe la souris sur chacun pour voir son rôle.
Le papillon et le carré
Ouvrir la ligne de mot mange 39 % de la marge : de 398 mV en rétention à 244 mV en lecture. C'est le « read disturb ».
D’une marge à une mémoire qui fonctionne
Une marge de 200 mV ne dit pas grand-chose à elle seule : ce qui décide, c'est combien d'écarts-types tiennent dedans. Chaque cellule de la puce sort un peu différente, et il suffit qu'UNE échoue pour gâcher le mot. C'est pourquoi en mémoire on parle de 6σ et pas de « assez ».
Ceci est une illustration, pas une analyse. On suppose que la marge se répartit en cloche et que les cellules échouent indépendamment. Une vraie étude utilise Monte-Carlo avec les modèles de variabilité de la fonderie, et la queue réelle n'est pas une cloche. Ça sert à comprendre pourquoi la taille du réseau commande ; pas à décider quoi que ce soit.
Les trois panneaux utilisent des modèles du premier ordre et le disent sur place. Il n'y a ici ni vérification des règles de dessin, ni extraction de parasites, ni placement-routage automatique : c'est du logiciel professionnel et ça ne tient pas — et ne doit pas tenir — dans un onglet de navigateur. Pour du vrai layout : Magic, OpenROAD ou KLayout. Et si ce que tu veux est dessiner le silicium couche par couche et le voir en coupe, SiliWiz fait exactement ça, et le fait bien.