• Aucun résultat trouvé

CHAPITRE 2 Circuits SET-CMOS

2.3 Applications possibles

2.3.3 Circuit FPGA

Il existe différentes architectures potentielles pour la création de circuits. Chacune possède ses propres forces et faiblesses. Elles se répartissent généralement entre des architectures très performantes et peu consommatrices en énergie, et des architectures flexibles et d’un faible coût de conception.

Figure 2-25 Forces et faiblesses de différents types d'architecture (Zhu et al., 2009).

Les considérations suivantes seront utilisées pour les SETs dans la définition de l’architecture circuit la plus adaptée :

• Faible courant d’attaque : cette caractéristique empêche la communication entre SETs sur des distances trop importantes, et implique des temps de chargement non négligeables pour les connexions SET-CMOS. C’est pourquoi nous choisirons en particulier une architecture de type cellulaire.

• Applications possibles des SETs : circuits logiques reprogrammables. Nous rechercherons donc une architecture reprogrammable.

Le choix d’une architecture FPGA (Field Programmable Gate Array) semble être la plus intéressante dans le cas où des SETs sont employés. Ses caractéristiques principales sont une très grande modularité, et donc un très faible coût de conception non récurrente (Non

Recurring Engineering Cost) par rapport aux architectures ASICs (Application Specific Integrated Circuits) (Bsoul, 2009). Par contre, l’architecture FPGA est plus lente que l’ASIC.

Mais des recherches au niveau de l’architecture et du design CAD devraient permettre de diminuer la distance les séparant (Kuon & Rose, 2007). L’architecture présentée ici est une adaptation d’un circuit FPGA classique au cas d’une utilisation pour des SETs. Elle a été proposée par C. Zhu (Zhu et al., 2009). Elle repose sur un principe différent de celui énoncé en 2.2.2. Le signal n’est cette fois pas amplifié par un amplificateur CMOS entre les différents étages. L’amplification est réalisée périodiquement à l’aide d’inverseur SET. La faisabilité d’un tel système reste encore à démontrer, le gain des inverseurs SETs réalisés expérimentalement demeurant faible, et le design devra donc peut-être être révisé afin d’inclure des amplificateurs MOS.

L’architecture FPGA est une architecture cellulaire interconnectée par des liens locaux et globaux (Figure 2-26). Une cellule est elle-même composée :

• de tables de correspondances (Look Up Table, LUT), qui sont des circuits réalisant des fonctions booléennes à n-entrées

• d’une unité de calcul arithmétique réalisant les opérations non-linéairement séparables

• d’une mémoire interne regroupant les différentes configurations, et permettant ainsi un changement d’état rapide de la cellule (i.e. il n’est pas nécessaire d’établir une communication coûteuse en temps avec une mémoire centrale)

• de registres conservant les informations essentielles

• de routeur (Switch Fabric, SF) qui permet le choix des connexions avec les autres cellules.

Les délais dans les circuits SET-MOS sont principalement introduits lors du chargement d’interconnexions à forte capacité (i.e. interconnexion de longueur importante), ou lors du chargement des grilles des MOSFETs. On cherchera donc à limiter l’utilisation des MOSFETs et des interconnexions longues distances en utilisant une architecture cellulaire, chaque cellule étant réalisées majoritairement à base de SETs. Les CMOS seront majoritairement utilisés pour amplifier le signal sur les communications longues distances.

Figure 2-26 Schématisation à gauche de la structure globale d’une architecture FPGA, et à droite de celle d’une cellule. Architecture tirée de (Zhu et al., 2009).

Chaque cellule est équipée d’un nombre k de tables de correspondance reconfigurables à n entrées. Chacune de ces tables peut donc servir à la réalisation d’une fonction booléenne à

n-bits définie par avance, et servant à sélectionner une voie parmi m=2n. L’utilisation des SETs permettra une réduction du nombre d’étages nécessaire à l’établissement de la structure grâce à l’utilisation de SETs à multiple grille. Typiquement, si un SET à q grilles est réalisable

(i.e. le facteur de qualité des oscillations de Coulomb est suffisamment élevé pour que q pics périodiquement espacés puissent être correctement distingués entre eux), le nombre d’étapes logiques nécessaire à la création du multiplexeur devient �𝑙𝑜𝑔2𝑞(𝑚)�. Toutefois, il semble peu réaliste à température ambiante de dépasser q=3, la température diminuant le facteur de qualité des oscillations (Figure 2-7).

L’unité de calcul arithmétique a pour objectif la prise en charge des opérations non linéairement séparables. De nombreuses publications traitent des différents types de fonctions réalisables à base de SET (Laegeweg, 2004). Généralement, on recherchera à tirer parti du caractère périodique des oscillations de Coulomb pour réaliser des circuits avec une économie de dispositifs, fournissant un gain en place, en consommation, et en vitesse de fonctionnement.

La mémoire interne permet une reconfiguration rapide de la cellule. Lors du fonctionnement de la cellule, une des configurations gardées en mémoire est déployée afin de paramétrer les différents éléments. Plus le nombre de configurations stockées est important, et moins l’accès à la mémoire globale sera nécessaire, impliquant un gain important en termes de performances. Cette mémoire est composée de deux parties : une matrice de stockage conservant les différentes configurations, et mémoire SRAM à base de SET. Cette dernière a pour rôle la conservation, et la transmission aux différents composants concernés de la configuration utilisée à l’instant t. La cellule SRAM présentée en 2.2.3 est particulièrement adaptée pour cela. La placer au plus près des composants à contrôler permettrait de diminuer la consommation de cette cellule. La technique de fabrication développée dans ce projet autorisant la mise en place d’architectures 3D, il devient envisageable de placer cette cellule mémoire au dessus des composants à commander. Les mémoires à un électron, présentées en 2.3.1 pourrait être employées dans la conception de la matrice de stockage. Ce design a en effet pour avantage une consommation nulle en stockage, et un temps de rétention qui peut être supérieur à 10 ans.

Les interconnexions peuvent être séparées en deux catégories : les interconnexions locales concernant les courtes distances, et pouvant être réalisées à l’aide de SETs, et les

interconnexions globales, mettant en jeu des communications entre des cellules distantes, et nécessitant à cause de leur capacité de charge élevée, l’introduction d’amplificateurs CMOS.

Afin de minimiser les délais, la transmission d’information dans les interconnexions courtes distances est effectuée par des dispositifs SETs en parallèle. Typiquement, pour limiter le phénomène d’embouteillage, on cherchera à ce que l’information soit transmise à la même vitesse pour une cellule située à une distance L et pour une cellule située à une distance nL. Cela revient à dire que si 1 SET est utilisé pour communiquer sur une distance L, nL SETs en parallèles serviront à communiquer sur une distance nL, compensant par l’augmentation de l’intensité fournie, le délai supplémentaire introduit par l’allongement de l’interconnexion. L’idée ici est équivalente à l’emploi d’une largeur de grille supérieure pour un FET, augmentant le courant d’attaque résultant du dispositif, mais aussi sa capacité de charge.

Dans le cas des interconnexions globales, le nombre de SETs à mettre en parallèle devient bien trop important. Il est alors plus intéressant de passer à l’utilisation d’amplificateurs CMOS. Afin de minimiser les délais introduits par la communication entre SETs et CMOS, le signal est tout d’abord amplifié par un inverseur SET (SINV1). Le signal arrive ensuite dans le premier inverseur CMOS (CINV1). Cet inverseur n’a pas un courant d’attaque aussi important que le second, mais sa faible capacité de charge permet une communication plus rapide avec SINV1. Enfin, le signal arrive au second inverseur CMOS (CINV2) qui permettra au signal d’avoir un courant suffisant pour être transmis dans l’interconnexion globale sans introduire de délai trop élevé. Mais l’amplitude des tensions manipulées par l’inverseur CINV2 est trop élevée pour être lue directement par les SETs de la cellule ciblée. Il faudra l’atténuer à l’aide d’un inverseur SET (SINV2) aux capacités de grille adaptée pour lire ce signal et pour le rendre lisible par les SETs de la cellule cible.

La sélection des voies d’entrée et de sortie est faite grâce au routeur, dont l’architecture est similaire à celle de la table de correspondance décrite ci-dessus.

Figure 2-27 Transmission du signal dans une interconnexion locale de longueur L à l'aide d'un SET (a), et d'une longueur nL à l'aide de n SETs en parallèle (b). Schématisation de la transmission du signal dans une interconnexion globale (c). Architecture tirée de (Zhu et al., 2009).

Un des problèmes récurrents avec les SETs est celui des charges parasites. L’estimation faite par Likharev de la densité de piège (Likharev, 1999) donne statistiquement 1/10000 SET fautif. Des recherches sont en cours pour en diminuer la densité. Mais il est déjà possible de s’affranchir de cet effet, soit en identifiant les dispositifs fautifs à l’aide d’une batterie de tests, et en configurant le circuit pour ne pas avoir à les utiliser, soit en employant des circuits de vote majoritaire, placés entre les cellules du circuit FPGA. Ces circuits de votes majoritaires permettront de s’affranchir du bruit causé par les pièges en comparant les résultats de différentes cellules. L’avantage de cette méthode est sa facilité de mise en œuvre. Toutefois, elle implique aussi une perte des performances globales du système, diminuant fortement le nombre de cellules efficaces, utilisées dans un calcul.