INPI-France/Brevets-Francais-2024-Chunked huggingface dataset:
Le terme "substrat" englobe tous les dispositifs susceptibles d'être soumis à un faisceau de particules en vue d'un tel traitement. Il s'agit en particulier des circuits intégrés (après leur fabrication ou au cours de leur fabrication), des microsystèmes (après leur fabrication ou au cours de leur fabrication), de tous autres dispositifs réalisés sur plaquettes de matériau semi- conducteur (tel que le silicium) et/ou conducteur et/ou isolant ou d'échantillons de produits artificiels ou d'origine naturelle.
On sait qu'un circuit intégré peut être observé par microscopie, dite SEM, à l'aide d'un faisceau d'électrons et par détection des électrons secondaires en contraste de potentiel. Cette technique fournit des images de bonne qualité, mais est limitée dans ses applications, et ne permet pas en particulier de réaliser des micro-usinages.
Pour les opérations de micro-usinage, on utilise en général un faisceau d'ions positif d'énergie élevée focalisé sur une zone submicrométrique (systèmes dits FIB). Il en va de même dans le cas de la technique de spectroscopie de masse par détection des ions secondaires (SIMS), bien que dans cette application le faisceau d'ions est en général focalisé sur une portion de surface plus large que dans le cas d'un micro-usinage sous FIB.
L'inconvénient d'un tel faisceau d'ions est d'entraîner une accumulation importante de charges électriques à la surface du circuit intégré sur les portions en matériau non conducteur, qui provoque de nombreux problèmes pratiques parmi lesquels on peut citer : risque de détérioration de la couche de passivation ; décharges électrostatiques dites ESD établissant des puits conducteurs dans l'épaisseur du circuit ; dérives des paramètres fonctionnels du circuit ; décalage latéral du faisceau repoussé par la charge de surface empêchant l'automatisation des opérations successives et grêvant la durée nécessaire à la réalisation de micro-sections transversales ou de lamelles en vue de réaliser une analyse des caractéristiques cristallographiques par imagerie TEM ("transmission électrons microscopy") ; impossibilité de réaliser des images de qualité en imagerie par contraste de potentiel, notamment pour réaliser des tests en appliquant des signaux électriques au circuit intégré, et en particulier sur les circuits passivés tels que les circuits dits "planar" comprenant une couche supérieure d'oxyde de passivation planéifiant le circuit et supprimant les informations topographiques ...
Pour résoudre ce problème, on utilise parfois un faisceau d'électrons de faible énergie dirigé vers la zone d'impact du faisceau d'ions pour neutraliser la charge électrique sur la surface du circuit intégré (technique dite du "FLOODGUN") comme décrit par exemple par US-4639301 ou par la publication "Electrical Biasing Voltage Contrast Imaging in a Foursed Ion Beam System", A.N. CANWBELL et al, ISTFA'95, 21 st International Symposium for Testing and Failure Analysis, 6-10 Nov. 1995, SANTA CLARA, CALIFORNIA. US-4874947 propose aussi, dans un système SIMS, un canon à électrons orienté perpendiculairement au faisceau et dont le flux d'électrons est dévié vers le circuit par une électrode placée en sortie du canon, de sorte que les électrons bombardent la surface du circuit intégré au niveau de la zone d'impact du faisceau d'ions. Ces canons à électrons sont des équipements relativement lourds, encombrants et coûteux, ne pallient que partiellement au problème de l'accumulation des charges superficielles (lénergie et la densité de courant du faisceau d'électrons ne pouvant pas correspondre exactement à la charge superficielle à neutraliser qui varie selon le site d'impact des ions et la nature du matériau correspondant, de sorte que des ajustements manuels sont nécessaires à chaque nouvelle étape d'application du faisceau, ou même en cours d'usinage si la nature du matériau change), et empêchent l'utilisation d'un détecteur d'électrons secondaires et donc notamment la réalisation d'images par détection des électrons secondaires (ce qui impose une imagerie par détection des ions secondaires, beaucoup moins précise).
Une autre technique connue consiste à faire préalablement un dépôt de couche antistatique sur la couche isolante de passivation du circuit intégré (comme décrit par exemple FR-2.755.703), ce qui nécessite une opération supplémentaire.
Une autre solution connue a été proposée pour pallier le problème du décalage latéral du faisceau. Cette solution consiste à graver un motif (par exemple une croix) à la surface du circuit intégré, et à analyser l'image de ce motif et son évolution dans le temps par un procédé de reconnaissance d'image. Lorsque l'image du motif est modifiée ou perdue, on corrige manuellement la déviation du faisceau afin de retrouver l'image du motif. Cette solution nécessite l'usage d'un dispositif et d'un logiciel de reconnaissance d'image, et est lourde, complexe, coûteuse, et ne permet pas de pallier les autres problèmes sus-mentionnés résultant d'une accumulation des charges à la surface du circuit intégré. Elle nécessite en outre une intervention de modification du circuit intégré pour la réalisation du motif, ce qui peut avoir des conséquences sur ses caractéristiques fonctionnelles.
L'invention vise donc à pallier ces inconvénients en proposant un procédé et une installation de traitement à l'aide d'un faisceau de particules ayant les propriétés d'un faisceau d'ions (notamment permettant la réalisation de micro-usinages) sans présenter les inconvénients liés à l'accumulation de charges superficielle, et tout en évitant l'application d'un faisceau d'électrons sur la surface du substrat et la mise en #uvre d'opérations de préparation préalable du substrat. L'invention vise ainsi à résoudre de façon simple les problèmes pratiques sus-mentionnés liés à l'accumulation de charges superficielle sur le substrat.
L'invention vise en particulier à autoriser une automatisation complète du traitement sans nécessiter d'intervention humaine pour chaque nouveau site du substrat sur lequel le faisceau est appliqué, ou à chaque changement de la nature du matériau recevant le faisceau.
L'invention vise plus particulièrement à permettre la réalisation d'images en contraste de potentiel de bonne qualité - notamment par détection des électrons secondaires et en appliquant des signaux électriques aux bornes d'entrée du circuit intégré -, y compris sur des circuits passivés tels que les circuits "planar".
L'invention vise aussi en particulier à éviter les phénomènes de décalages intempestifs d'un faisceau focalisé nuisant à la précision du traitement et empêchant son automatisation.
l'invention, s'applique notamment à une carte à microprocesseur munie d'une mémoire réinscriptible. Le fragment de programme est constitué par un code objet et comporte au moins un sous-programme, suite d'instructions, exécutable par le microprocesseur du système embarqué par l'intermédiaire d'une machine virtuelle munie d'une pile d'exécution et de registres d'opérandes manipulés par ces instructions et permettant d'interpréter ce code objet. Le système embarqué est interconnecté à un lecteur.
Il est remarquable en ce que, suite à la détection d'une commande de téléchargement et à la mémorisation du code objet constitutif du fragment de programme dans la mémoire réinscriptible, il consiste, pour chaque sous-programme, à effectuer une étape d'initialisation de la pile des types et du tableau des types de registres par des données représentant l'état de la machine virtuelle au début de l'exécution du code objet mémorisé temporairement, à effectuer une vérification du code objet mémorisé temporairement instruction par instruction, par discrimination de l'existence, pour chaque instruction courante, d'une cible d'instruction de branchement, d'une cible d'un appel d'un gestionnaire d'exceptions ou d'une cible d'un appel de sous-routine et à effectuer une vérification et une actualisation de l'effet de l'instruction courante sur les types de données de la pile des types et du tableau des types de registres, en fonction de l'existence d'une cible d'instruction de branchement, d'une cible d'un appel de sous-routine ou d'une cible d'un appel de gestionnaire d'exceptions. La vérification est réussie lorsque le tableau des types de registres n'est pas modifié au cours d'une vérification de
toutes les instructions, le processus de vérification étant poursuivi instruction par instruction jusqu'à ce que le tableau des types de registres soit stable, en l'absence de modification. Le processus de vérification est interrompu sinon.
Le procédé de transformation d'un code objet d'un fragment de programme en un code objet normalisé pour ce même fragment de programme, objet de la présente invention, s'applique à un code objet d'un fragment de programme dans lequel les opérandes de chaque instruction appartiennent aux types de données manipulées par cette instruction, la pile d'exécution ne présente pas de phénomène de débordement et pour chaque instruction de branchement le type des variables de la pile au niveau de ce branchement est le même qu'au niveau des cibles de ce branchement. Le code objet normalisé obtenu est tel que les opérandes de chaque instruction appartiennent aux types de données manipulées par cette instruction, la pile d'exécution ne présente pas de phénomène de débordement et la pile d'exécution est vide à chaque instruction de cible de branchement.
Il est remarquable en ce qu'il consiste, pour l'ensemble des instructions du code objet, à annoter chaque instruction courante par le type de données de la pile d'exécution avant et après l'exécution de cette instruction, les données d'annotation étant calculées au moyen d'une analyse du flot des données relatif à cette instruction, à détecter au sein des instructions, et de chaque instruction courante, l'existence de branchements pour lesquels la pile d'exécution n'est pas vide, l'opération de détection étant conduite à partir des
données d'annotation du type de variables de pile allouées à chaque instruction courante. En présence d'une détection d'une pile d'exécution non vide, il consiste en outre à insérer des instructions de transfert des variables de pile de part et d'autre de ces branchements ou de ces cibles de branchement afin de vider le contenu de la pile d'exécution dans des registres temporaires avant ce branchement et de rétablir la pile d'exécution à partir des registres temporaires après ce branchement et à n'insérer aucune instruction de transfert sinon.
Ce procédé permet ainsi d'obtenir un code objet normalisé pour ce même fragment de programme, dans lequel la pile d'exécution est vide à chaque instruction de branchement et de cible de branchement, en l'absence de toute modification de l'exécution du fragment de programme.
Le procédé de transformation d'un code objet d'un fragment de programme en un code objet normalisé pour ce même fragment de programme, objet de la présente invention, s'applique, en outre, à un code objet d'un fragment de programme dans lequel les opérandes de chaque instruction appartiennent aux types de données manipulées par cette instruction, et un opérande de type déterminé écrit dans un registre par une instruction de ce code objet est relu depuis ce même registre par une autre instruction de ce code objet avec le même type de donnée déterminé. Le code objet normalisé obtenu est tel que les opérandes appartiennent aux types de données manipulées par cette instruction, un seul et même type de donnée étant alloué à un même registre dans tout le code objet normalisé.
Il est remarquable en ce qu'il consiste, pour l'ensemble des instructions du code objet, à annoter chaque instruction courante par le type de donnée des registres avant et après l'exécution de cette instruction, les données d'annotation étant calculées au moyen d'une analyse du flot des données relatif à cette instruction, et à effectuer une réallocation des registres d'origine employés avec des types différents, par division de ces registres d'origine en registres normalisés distincts. Un registre normalisé est alloué à chaque type de donnée utilisé. Une réactualisation des instructions qui manipulent les opérandes qui font appel aux registres normalisés est effectuée.
Le protocole de gestion d'un fragment de programme, le procédé de vérification d'un fragment de programme, les procédés de transformation de code objet de fragments de programmes en code objet normalisé et les systèmes correspondants, objets de la présente invention, trouvent application au développement des systèmes embarqués reprogrammables, tels que les cartes à microprocesseur, notamment dans l'environnement Java.
Il seront mieux compris à la lecture de la description et à l'observation des dessins ci-après, dans lesquels, outre les figures la et lb relatives à l'art antérieur : - la figure 2 représente un organigramme illustratif du protocole de gestion d'un fragment de programme téléchargé sur un système embarqué reprogrammable, - la figure 3a représente, à titre illustratif, un organigramme d'un procédé de vérification d'un fragment
de programme téléchargé conformément à l'objet de la présente invention, la figure 3b représente un diagramme illustratif des types de données et des relations de sous-typage mis en #uvre par le procédé de gestion et le procédé de vérification d'un fragment de programme téléchargé, objet de la présente invention, la figure 3c représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une instruction de branchement, la figure 3d représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une instruction d'appel de sous-routine, la figure 3e représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une cible d'un gestionnaire d'exceptions, la figure 3f représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une cible de branchements incompatibles, la figure 3g représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une absence de cible de branchement, la figure 3h représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion de l'effet de l'instruction courante sur la pile des types, - la figure 3i représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une instruction de lecture d'un registre,
la figure 3j représente un détail du procédé de vérification selon la figure 3a, relatif à la gestion d'une instruction d'écriture d'un registre, la figure 4a représente un organigramme illustratif d'un procédé de transformation d'un code objet d'un fragment de programme en un code objet normalisé pour ce même fragment de programme à instruction de branchement respectivement de cible de branchement à pile vide, la figure 4b représente un organigramme illustratif d'un procédé de transformation d'un code objet d'un fragment de programme en un code objet normalisé pour ce même fragment de programme faisant appel à des registres typés, à chaque registre étant attribué un seul type de donnée spécifique, la figure 5a représente un détail de mise en #uvre du procédé de transformation illustré en figure 4a, la figure 5b représente un détail de mise en #uvre du procédé de transformation illustré en figure 4b, la figure 6 représente un schéma fonctionnel de l'architecture complète d'un système de développement d'un fragment de programme normalisé, et d'une carte à microprocesseur reprogrammable permettant la mise en #uvre du protocole de gestion et du procédé de vérification d'un fragment de programme conformément à l'objet de la présente invention.
D'une manière générale, on indique que le protocole de gestion, le procédé de vérification et de transformation d'un fragment de programme téléchargé, objet de la présente invention, ainsi que les systèmes correspondants, sont mis en #uvre grâce à une architecture
logicielle pour le téléchargement et l'exécution sûrs d'appliquettes sur un système informatique embarqué disposant de faibles ressources, tel que notamment les cartes à microprocesseur.
D'une manière générale, on indique que la description ci-après concerne 1.' application de l'invention dans le contexte des cartes à microprocesseur reprogrammables de type JavaCard, confer documentation disponible électroniquement auprès de la société SUN MICROSYSTEMS INC. rubrique JavaCard Technology précédemment mentionnée dans la description.
cette figure, les signaux VSH et VSL sont des signaux de détection d'une tension appliquée à chaque lampe à décharge et un signal obtenu par traitement arithmétique d'apres les informations de temps d'éclairage (temps écoulé depuis le début de l'éclairage), qui est un signal de commande destiné à déterminer une valeur de mise a une puissance maximale et qui est créé comme signal de limi- tation du courant de la lampe à décharge de manière la puissance à fournir augmente lorsque la tension de la lampe à décharge est faible dans le domaine de transition que la puissance à fournir diminue lorsque la tension de lampe à décharge augmente. Le signal VSH désigne un signal lié à la lampe à décharge du faisceau principal et le signal VSL indique un signal lié à la lampe à décharge du faisceau de croisement.
Le signal VSH est transmis à un circuit tampon de tension 17 comprenant un amplificateur opérationnel. Ainsi, le signal VSH est transmis à la borne d'entrée de non- inversion de l'amplificateur opérationnel 18, et une borne d'entrée d'inversion est connectée à la borne de sortie de l'amplificateur opérationnel 18.
borne de sortie du circuit tampon de tension 17 est connectée à la cathode d'une diode idéale 20 (circuit ayant une caractéristique équivalant à la caractéristique idéale d'une diode et constitué par utilisation d'une diode réelle et d' amplificateur opérationnel, simplement représenté par le symbole de diode sur le dessin) par l'intermédiaire d'une résistance 19, et l'anode de la diode est connectée à la borne d'entrée du côté négatif d'un amplificateur d'erreur non représenté (lié au réglage de puissance de la lampe ' décharge du faisceau principal) . En d'autres termes, un courant de réglage utilisé pour la régulation de puis- sance dans le domaine de transition circule dans sens indique par la flèche AH4 de la figure 10.
Le trajet du signal VSL a la même structure que celui du signal VSH. Le signal VSL est transmis à la borne d'entrée de non-inversion d'un amplificateur opérationnel constituant le circuit tampon de tension 21, et une borne d'entrée d'inversion est connectée à la borne de sortie l'amplificateur opérationnel 22. La borne de sortie l'amplificateur opérationnel 22 est connectée à la cathode d'une diode idéale 24 (voir le point de connexion b avec résistance 23) par l'intermédiaire d'une résistance 23, et l'anode de la diode est connectée à la borne d'entrée du côté négatif d'un amplificateur d'erreur qui n'est pas représenté (lié au réglage de puissance de la lampe à décharge du faisceau de croisement). En d'autres termes, un courant de réglage utilisé pour la régulation de puissance circule dans le domaine de transition dans le sens de la flèche AL4 de la figure 10.
Dans cet état, la puissance maximale destinée à être appliquée à chaque lampe à décharge dans le domaine de transition est définie séparément d'après les valeurs des résistances 19 et 23. En conséquence, le signal VSH a une influence sur l'étage de sortie du circuit tampon de tension 21 par l'intermédiaire d'un amplificateur différentiel d'inversion 25 comme représenté.
Ainsi, le signal VSH est transmis par l'intermédiaire d'une résistance 27 à la borne d'entrée d'inversion de l'amplificateur opérationnel 26 constituant l'amplificateur différentiel d'inversion 25, et une tension prédéterminée de référence Er (représentée par le symbole d'une source de tension constante sur le dessin) est transmise à la borne d'entrée de non-inversion de l'amplificateur opérationnel 26. La borne de sortie de l'amplificateur opérationnel 26 est connectée par une résistance 28 au point de connexion b de la diode idéale 24 et de la résistance 23. Une résistance 29 constitue une résistance de réaction connectée à la borne de sortie et à la borne d'entrée d'inversion de l'ampli ficateur opérationnel 26. De plus, une tension appliquée a un point de détection (voir le point a sur la figure), transmise par la borne de sortie de l'amplificateur opéra- tionnel 26, parvient à un circuit de détection d'état d'éclairage qui est décrit dans la suite. Dans ce circuit, l'intensité du courant de réglage indiqué par la flèche AL4 change suivant que le potentiel électrique de la borne d'entrée de non-inversion de l'ampli- ficateur 26 est inférieur ou supérieur à une tension de reférence Er. De manière correspondante, la puissance fournie à la lampe à décharge du faisceau de croisement est reglée. Par exemple, si le courant circule de l'ampli- ficateur différentiel d'inversion 25 à l'étage de sortie du circuit tampon de tension 21 (point de connexion b) comme indiqué par la flèche B sur la figure, le courant de réglage indiqué par la flèche AL4 est réduit ou mis à zéro. En conséquence, la puissance fournie à la lampe à décharge du faisceau de croisement est réglée afin qu'elle soit réduite.
Le réglage des valeurs et du rapport des trois résis- tances 27 à 29 permet la régulation de la valeur totale du courant de réglage. Dans une variante, lorsque le moment auquel la puissance maximale est transmise à la lampe à decharge du faisceau de croisement est postérieur au moment de la transmission de la puissance maximale à lampe à décharge du faisceau principal, un temps de retard peut être regulé.
On décrit maintenant la structure du circuit de commande décrit sur la figure 5 en référence aux figures 11 à 13.
La figure 11 représente un exemple de structure fonda- mentale d'un circuit 30 de détection d'état d'eclairage destiné à détecter l'état d'éclairage d'une lampe à decharge.
Un signal de détection (appelé dans la suite signal SV) lié à l'état d'éclairage de la lampe à décharge est transmis à la borne d'entrée du côté positif d'un comparateur 31, et une tension prédéterminée de référence Vr (représentée par le symbole d'une source de tension constante sur figure) est transmise à la borne d'entrée du côté négatif. Le résultat de la comparaison est transmis comme signal binaire (appelé dans la suite signal SC) de niveau élevé H ou de faible niveau L. Le circuit selon l'invention est utilise pour détecter si la lampe à décharge est en fonctionnement dans le domaine de régime permanent ou non. Des exemples procédés de détection sont les suivants (1) un procédé de décision reposant le signal de détection de tension appliqué à la lampe à décharge, et (2) un procédé de décision reposant sur un courant de réglage (indiqué par la flèche A4) créé à partir du circuit de détermination de la mise à la puissance maximale.
Dans le procédé (1), la tension appliquée à la lampe à décharge augmente plus lorsque la lampe à décharge est plus proche de l'état de régime permanent et, lorsque la valeur de détection de la tension dépasse un seuil préréglé (correspondant à la tension de référence Vr), une décision indique qu'un changement à l'état de régime permanent doit être réalisée. En conséquence, un signal élevé H repré sentatif de la décision est émis. Dans ce cas, le signal de détection SV est donc un signal de détection de tension destiné à la lampe à décharge.