• Aucun résultat trouvé

Chapitre 3 Développement et mise en œuvre

3.3 Génération/contrôle masque

3.3.6 Vérification

Nous avons vu comment réaliser des masques paramétrés à l'aide des pCell de Cadence et comment affecter leurs paramètres à partir des valeurs que l'utilisateur utilisera dans ses modèles pour réaliser ses simulations. De plus, nous avons mis en place une connectique afin d'aider le concepteur lors du placement/routage de son système. Cependant, nous avons vu dans le chapitre précédant que la structure du composant et les appareils utilisés lors de la fabrication en salle blanche peuvent entraîner des contraintes. Ces dernières devront non seulement être prises en compte lors de la réalisation des masques, mais aussi être vérifiées avant la mise en fabrication des masques. Ceci permettra de ne pas avoir de problèmes avec des prototypes qui ne fonctionneraient pas à cause d'une erreur prévisible. Toutefois, le nombre de contraintes peut devenir rapidement important et les dessins à vérifier complexes et nombreux. Nous proposons donc de trouver une solution pour automatiser ce travail. Ainsi, nous allons maintenant expliquer ce que fournit Cadence à la micro-électronique pour réaliser ce travail.

Cadence propose dans son environnement un outil nommé « Diva », qui est destiné à la vérification complète du composant. Diva aide le concepteur à trouver les erreurs de conception et effectue une visualisation interactive de ses erreurs pour faciliter leur diagnostic et leur correction. Cet outil comprend un ensemble de produits de vérifications physique et électrique illustrés sur la figure 3-38.

Figure 3-38: module de DIVA

Nous allons nous intéresser dans cette partie au module : Design Rule Checker (DRC). Ce dernier, comme son nom l'indique, permet de vérifier le design d'après des règles définies dans le design-kit.

3.3.6.1 Fonctionnement du DRC

Le DRC de Diva permet la vérification des dimensions des masques. Ceci est effectué à l'aide d'un fichier décrivant chacune des règles à vérifier. Ces règles peuvent être de différents types : aire d'une surface,

distance entre deux éléments, chevauchement,... (voir annexe D.1)

Pour chacun de ces types, il faudra indiquer le niveau et la valeur de la cote à vérifier. Nous remarquons que certains types permettent soit la vérification sur un niveau, soit entre deux niveaux. Le concepteur du fichier du DRC devra indiquer une règle par type à vérifier et ceci pour chacun des niveaux qu'il voudra tester. Ainsi, si l'aire d'un élément doit être vérifiée sur dix niveaux, il faudra créer dix règles distinctes.

3.3.6.2 Contraintes de notre technologie

Afin d'élaborer le fichier utilisé par Diva pour réaliser le DRC, nous devons dans un premier temps définir toutes les règles correspondant aux contraintes de notre structure et de la salle blanche que nous utiliserons. En général, la structure impose les contraintes qu'il faudra respecter mais leurs valeurs seront fournies suivant les moyens de la salle blanche. Pour illustrer ceci, considérons la figure suivante.

:

Figure 3-39: contraintes appliquées à la cellule du VD-MOSFET

Nous trouverons en annexe D.2, le détail, les explications et les côtes choisies des contraintes structurelles et de la salle blanche appliquée à notre VD-MOSFET

3.3.6.3 Définition des règles

Connaissant maintenant toutes les contraintes de notre structure et de notre technologie de fabrication, nous devons déterminer pour chacune d'elles le masque sur lequel elle s'applique. Ce travail est présenté dans l'annexe D.3. Puis nous devons déterminer le type de règles à appliquer, la distance entre éléments, les dimensions minimales ou maximales de l'élément,... que nous trouverons également détaillé en annexe D.3.

3.3.6.4 Fichier Diva

Nous avons maintenant toutes les informations pour réaliser le fichier Diva servant pour le DRC. Le fichier de vérification commence avec une instruction permettant d'identifier l'outil DIVA à utiliser, dans notre cas le DRC.

Puis, nous trouvons des niveaux dérivés. Ces derniers sont réalisés par des opérations logiques entre plusieurs masques. Ceci permet d'obtenir seulement certains éléments des masques. Ce sont sur ces masques que les règles seront appliquées.

Enfin, nous passons à la description des règles géométriques à vérifier et définies précédemment. Chaque type de règles à vérifier (distance entre éléments, taille d'un élément) est donné par une instruction spécifique qui est effectuée sur un ou plusieurs niveaux dérivés. Une chaîne de caractères à afficher en cas d'erreur est aussi ajoutée pour informer l'utilisateur sur le type d'erreur qui vient d'être détecté.

Une description plus complète de chacun des éléments utilisés pour la création de notre fichier de vérification se trouve dans l'annexe D.4.

3.3.7 Conclusion

Nous avons vu dans ce chapitre divers concepts indispensables à la mise en place de la plateforme CAPsis. Nous avons fait le choix d'en étudier certains, ces derniers permettant la mise en place de la base de CAPsis. Nous avons donc vu dans ce chapitre l'étude de la mise en place de notre méthode de modélisation et la génération des masques que nous proposions dans le chapitre précédent.

Nous avons commencé par une partie modélisation qui débute par la définition de notre modèle de VD-MOSFET. Par la suite, nous avons vu la mise en place de méthodes de modélisation par un assemblage combinatoire de modèles permettant une capitalisation des modèles. De plus, nous avons vu comment mettre en place une configuration du niveau de finesse de nos modèles, paramétrable par l'utilisateur de ces modèles. Toutefois, ces concepts ont fait apparaître un problème de redondance de calcul que nous avons solutionné par la mise en place d'un modèle générique du comportement électrique de certaines parties de la structure du composant et des fonctions intégrées. Celui-ci mutualise tous les calculs très sensibles à la technologie et redistribue les résultats à tous les modèles. Toutefois, le calcul de la totalité des valeurs à chaque itération reste lourd. Nous pouvons imaginer une solution basée sur l'interpolation d'un tableau pré calculé. Nous commencerions par une simulation à éléments finis de notre structure (NPN dans le cas d'un VD-MOSFET) pour déterminer toutes les caractéristiques structurelles pour une sollicitation électrique. Ces valeurs mises sous forme de tableau alimenteraient le modèle CPS, qui lirait directement ou par interpolation les valeurs utiles à une sollicitation donnée.

La seconde étude que nous avons réalisée traite de l'automatisation du dessin des masques. Nous avons commencé par la définition de notre filière technologique sur la base du logiciel Cadence. Après quoi, nous avons cherché une solution permettant la réalisation de masques paramétrés. Pour cela, nous nous sommes appuyés sur les fonctions disponibles dans le logiciel Cadence, les pCell, qui nous ont permis de réaliser les

éléments de nos composants et de les assembler. Puis nous avons réalisé le lien entre les masques et la partie schématique. De ce fait, nous avons la possibilité de transférer les valeurs des paramètres de la simulation au jeu de masques, et donc d'instancier tous les éléments de notre schématique sur notre jeu de masques et ceci avec les bonnes valeurs de paramètres. Nous avons porté une attention particulière à la gestion des connexions entre les divers éléments tout en prenant en compte les contraintes technologiques. Ces dernières ont fait l'objet de notre dernier point d'étude, en effet nous avons cherché les solutions de détection d'erreurs pouvant exister sur un jeu de masques.