CIRCUIT INTEGRE COMPRENANT UN SYSTEME DE PROTECTION CONTRE LA REPRODUCTION, ET METHODE DE CONCEPTION ASSOCIEE La présente invention est relative au domaine de la micro-électronique, 5 et concerne plus particulièrement la protection des circuits intégrés contre la reproduction non autorisée. On s'intéresse dans la suite plus précisément, bien que non exclusivement, aux circuits intégrés ou puces qui ont été conçus de façon informatique. Dans ce cas, la méthodologie utilisée pour la conception d'un 10 ASIC, connue sous la terminologie de « flot de conception », comprend les étapes successives illustrées sur la figure 1 : L'étape initiale consiste à décrire formellement le système électronique que l'on souhaite réaliser. Pour cela, on utilise un langage de description de matériel ou fichier HDL (initiales anglo-saxonnes mises pour Hardware 15 Description Language) qui va permettre de décrire les fonctions réalisées (description comportementale) ou les portes logiques utilisées par le circuit (description structurelle). À la différence d'un langage de programmation logiciel, la syntaxe et la sémantique d'un fichier HDL incluent des notations explicites pour exprimer le temps et le parallélisme qui sont les attributs 20 principaux du matériel. Les langages HDL les plus connus sont le Verilog HDL, utilisé pour la conception d'ASICs et de FPGAs (initiales anglo-saxonnes mises pour Application Specific Integrated Circuit et Field-Programmable Gate Array), ou encore le VHDL (initiales anglo-saxonnes mises pour Very high speed 25 integrated circuit Hardware Description Language), destiné à représenter le comportement ainsi que l'architecture d'un système électronique numérique. L'intérêt d'une telle description réside dans son caractère exécutable: une spécification décrite en VHDL peut être vérifiée par simulation, avant que la conception détaillée ne soit terminée. En outre, les outils de conception 30 assistée par ordinateur permettant de passer directement d'une description fonctionnelle en VHDL à un schéma en portes logiques ont révolutionné les méthodes de conception des circuits numériques, ASIC ou FPGA. Une fois le fichier HDL obtenu, ce dernier est soumis à une étape de synthèse logique qui consiste à compiler la description fonctionnelle d'un circuit à l'aide d'un outil de synthèse et d'une bibliothèque de cellules logiques. Au cours de la synthèse, on effectue une compilation logique associée à des contraintes de temps définies dans la spécification d'un circuit logique numérique. Suivant les contraintes imposées à l'outil de synthèse, on obtiendra un résultat optimisé spécifiquement en surface de semi-conducteur et/ou en vitesse et/ou en complexité. A l'issue de l'étape de synthèse logique, on obtient une Netlist qui donne une description des cellules du circuit imprimé et de leurs interconnexions.
L'étape suivante consiste au placement et routage des cellules décrites dans la Netlist. Le placement consiste à répartir géographiquement sur l'empreinte donnée les cellules de base qui font la fonction du circuit. Le routage permet quant à lui à décider de la meilleure façon d'interconnecter physiquement les cellules entre elles. Les opérations permettant d'optimiser le placement et le routage sont bien entendu étroitement liées et interdépendantes. Cette étape est généralement réalisée de façon automatique par des logiciels APR (initiales anglo-saxonnes mises pour Automatic Place and Route) et permet l'obtention du dessin physique (ou layout) de ce que sera le circuit, sous la forme d'un fichier au format GDS (initiales anglo-saxonnes mises pour Graphic Database System), GDS II ou similaire. A partir de ce fichier, on peut générer pour chaque niveau physique du circuit intégré un masque qui sera utilisé pour la gravure dans le substrat de silicium dans une étape finale de fonderie qui permet de fabriquer le circuit intégré.
L'une des problématiques qui se pose dans la conception des circuits intégrés assistée par ordinateur est que les logiciels APR sont généralement utilisés dans un mode par défaut qui va optimiser la position relative des cellules d'un circuit ainsi que leur connexion. Aussi, si une personne malveillante arrive à se procurer le fichier HDL de départ, elle pourra produire un circuit intégré rigoureusement identique en utilisant les mêmes logiciels de synthèse et de placement et routage. Le but de la présente invention est d'empêcher une telle duplication illicite de circuit intégré.
Pour ce faire, la présente invention a pour objet un circuit intégré comprenant un système de protection contre la reproduction comportant au moins un moyen de mesure d'une grandeur physique générée par au moins une source d'émission du circuit intégré et dont la valeur de mesure dépend de la position relative entre ladite au moins une source d'émission et ledit moyen de mesure, et un module de contrôle apte, lors d'une procédure d'auto contrôle du circuit intégré, à: - commander ladite au moins une source pour qu'elle génère ladite grandeur physique pendant une ou plusieurs durées prédéfinies, - commander ledit moyen de mesure pour qu'il délivre une mesure représentative de la grandeur physique pendant une ou plusieurs durées prédéfinies; et - bloquer le fonctionnement du circuit intégré si la mesure représentative de la grandeur physique ne correspond pas à une valeur de 15 référence pré mémorisée. Selon certains aspects possibles : - ladite au moins une source d'émission est une source de chaleur, et ledit moyen de mesure comporte un capteur de température ; 20 - le capteur de température est par exemple composé d'un oscillateur à anneau, et le moyen de mesure est apte à recevoir la sortie du capteur de température et à délivrer une mesure de la fréquence d'oscillation du capteur ; - en variante, ladite au moins une source d'émission est une source de lumière, et ledit moyen de mesure comporte un capteur de lumière. 25 - ladite au moins une source d'émission est un composant dédié du système de protection, non utilisé par le circuit intégré en dehors de ladite procédure d'auto contrôle ; - en variante, ladite au moins une source d'émission est un composant non dédié au système de protection, et utilisé par le circuit intégré en dehors 30 de ladite procédure d'auto contrôle ; - le système de protection comporte des moyens de mémorisation pour stocker ladite valeur de référence ; - le système de protection peut comporter des moyens de comparaison aptes à recevoir en entrées d'une part, la mesure représentative de la grandeur physique, et d'autre part, la valeur de référence, et à délivrer le résultat de la comparaison au module de contrôle ; - le système de protection peut comporter une pluralité de sources 5 d'émission réparties de façon aléatoire ou régulière sur tout ou partie du circuit intégré, une pluralité de moyens de mesure, chacune des sources ou certaines d'entre elles seulement étant appairées à l'un des moyens de mesure ; les moyens de mémorisation stockent une valeur de référence pour chaque paire ainsi constituée, et le module de contrôle est apte, pendant la 10 procédure d'auto contrôle à : - commander la source d'émission de chaque paire pour qu'elle génère ladite grandeur physique pendant une ou plusieurs durées prédéfinies, - commander le moyen de mesure de chaque paire pour qu'il délivre une mesure représentative de la grandeur physique pendant une ou 15 plusieurs durées prédéfinies; et - bloquer le fonctionnement du circuit intégré si la mesure représentative de la grandeur physique ne correspond pas à la valeur de référence associée à la paire. L'invention a également pour objet une méthode de conception d'un 20 circuit intégré, du type comportant successivement une étape de description de matériel dans un fichier HDL, une étape de synthèse logique à partir du fichier HDL et une étape de placement et routage, caractérisée en ce que ledit fichier HDL comprend la description du système de protection contre la reproduction, et en ce que la méthode comprend en outre une étape d'ajout 25 d'une contrainte de placement relatif entre ladite au moins une source d'émission et ledit moyen de mesure, cette étape d'ajout étant postérieure à l'étape de description de matériel. La présente invention, ainsi que les avantages qu'elle procure, seront mieux compris au vu de la description suivante d'exemples de réalisation non 30 limitatifs, faite en référence aux figures annexées, dans lesquelles: - la figure 1, déjà décrite, illustre les étapes classiques d'une conception de circuit intégré jusqu'à la production des masques; - la figure 2 représente schématiquement le principe d'un système de protection d'un circuit intégré contre la reproduction, selon un mode de réalisation possible de l'invention; - la figure 3, illustre des étapes d'une conception de circuit intégré jusqu'à la production des masques, conformément à l'invention; - la figure 4a illustre schématiquement un exemple de circuit intégré muni d'un système de protection contre la reproduction; - la figure 4b illustre schématiquement le circuit intégré de la figure 4a lorsqu'il provient d'une reproduction illicite.
Dans la suite de l'exposé, les éléments communs aux différentes figures portent les mêmes références. Sur la figure 2, un système 1 de protection d'un circuit intégré contre la reproduction comporte, selon un premier mode de réalisation possible, une source 10 de chaleur et un capteur 11 de température, par exemple du type oscillateur à anneau dont la fréquence d'oscillation est inversement proportionnelle à la température. Le système comporte en outre un compteur 12 par exemple de type asynchrone, dont l'entrée est connectée à la sortie du capteur 11 de température de façon à pouvoir mesurer sa fréquence d'oscillation. Le système 1 de protection comporte enfin des moyens 13 de mémorisation, des moyens 14 de comparaison aptes à comparer la valeur de sortie du compteur 12 avec une valeur de référence mémorisée dans les moyens 13 de mémorisation, et un module 15 de contrôle apte à piloter le fonctionnement des différents composants du système 1 et à recevoir la sortie des moyens 14 de comparaison.
Lors de la conception du circuit intégré, tous les composants ci-dessus du système 1 de protection sont décrits de façon classique dans le fichier HDL. En revanche, de manière différente à ce qui a été expliqué précédemment, au moment de l'étape de placement et de routage, on ne laisse pas le logiciel APR choisir par défaut le placement relatif des composants, en particulier de la source 10 de chaleur et du capteur 11 de température. Au contraire, leur placement relatif est imposé comme indiqué sur la figure 3 par une contrainte reçue par exemple au niveau de l'APR. Il convient de noter que cette contrainte de placement peut intervenir également au niveau de la synthèse, comme indiqué par la flèche en traits interrompus sur la figure 3, ou après l'APR, ou plus généralement au niveau de toute étape postérieure à l'étape de description de matériel. Une fois la fabrication d'un prototype du circuit intégré réalisée, par exemple lors d'étapes d'évaluation des performances du circuit 5 intégré (encore appelées « benchmark » en terminologie anglo-saxonne), on mesure une valeur représentative de la température qui doit être captée par le capteur, compte tenu de sa position relative par rapport à la source de chaleur, et on la mémorise dans les moyens 13 de mémorisation. Sur la figure 3 du processus de conception correspondant, cela revient à compléter la 10 valeur de tables au niveau du fichier au format GDS ou similaire, ces tables ayant été laissées vides au niveau du fichier HDL. Lors de chaque fonctionnement ultérieur du circuit intégré, ce dernier est capable de vérifier son intégrité grâce à une procédure d'auto contrôle lors de laquelle le module 15 de contrôle: 15 - commande la source 10 de chaleur pour qu'elle produise de la chaleur pendant une ou plusieurs durées prédéfinies, selon un premier séquencement prédéterminé ; - commande le capteur 11 de température et le compteur 12 de fréquence associé pour qu'il délivre une mesure représentative de la 20 température pendant une ou plusieurs durées prédéfinies, selon un second séquencement prédéterminé ; - autorise, respectivement bloque, le fonctionnement du circuit intégré selon que la valeur de température mesurée correspond à, respectivement diffère de, la valeur de référence. 25 Ainsi, quand bien même une personne malveillante disposerait du fichier HDL décrivant tous les composants présents sur le circuit intégré, y compris les composants constituant le système 1 de protection, il lui manquerait l'information essentielle concernant la contrainte de placement relatif de la source de chaleur et du capteur de température associé, et ce, 30 même dans les cas où elle utiliserait les mêmes logiciels de synthèse et d'APR que le véritable concepteur. Ainsi, le circuit intégré fabriqué de façon illicite n'aura aucune chance de fonctionner car, sans placement relatif de la paire source de chaleur/capteur de température identique à celui prévu par le concepteur, la valeur de température mesurée par le capteur 11 du circuit intégré indûment reproduit ne correspondra jamais à la valeur de référence. Pour rendre le système 1 de protection plus complexe à identifier, on peut prévoir de répartir de façon aléatoire ou régulière plusieurs sources 10 de 5 chaleur, sur tout ou partie du circuit intégré, chacune des sources 10 de chaleur ou certaines d'entre elles seulement étant appairée à un capteur 11 de température. Chaque capteur 11 de température peut être appairé à une ou plusieurs des sources de chaleur. Les mêmes moyens de mémorisation 13 peuvent servir pour stocker les différentes valeurs de référence associées à 10 chaque paire. Pour bien comprendre le principe de l'invention, on a représenté sur la figure 4a un exemple de circuit intégré obtenu de façon licite, et sur la figure 4b, ce même circuit intégré dupliqué illicitement à partir d'un même fichier HDL. Sur les deux figures, les composants relatifs aux fonctionnalités 15 principales du circuit intégré, c'est-à-dire ce pour quoi le circuit intégré a été conçu, n'ont pas été représentés. Seuls les composants relatifs à la protection contre la reproduction apparaissent. Dans le circuit intégré licite de la figure 4a, on suppose dans cet exemple que le système de protection comporte six paires, chacune étant 20 composée d'une source de chaleur 10 et d'un capteur 11 de température associé à son compteur 12 de fréquence. Ainsi, la source de chaleur représentée par le point A est appairée au capteur de température 1. De même, les sources de chaleur représentées par les points B à F sont respectivement appairées aux capteurs de température 2 à 6. Pour ne pas 25 surcharger la figure 4a, seul le fonctionnement de la paire constituée par la source de chaleur B et le capteur de température 2 associé à son compteur de fréquence 12 a été représenté. Dans les moyens de mémorisation 13, est stockée la valeur de référence représentative de la température censée être mesurée par le capteur 2. Ici, comme le capteur de température est choisi du 30 type oscillateur à anneau, cette valeur de référence est une valeur de fréquence F2. Lors de chaque mise sous tension du circuit intégré, le module 15 de contrôleur lance la procédure d'auto contrôle décrite ci-avant. En particulier, la source de chaleur B est mise sous tension, par exemple pendant une certaine durée ti, et le capteur de température 2 et son compteur de fréquence associé sont également mis en route pendant une certaine durée t2. A noter que les durées t1 et t2 ne sont pas forcément égales, ni même concomitantes. Comme il s'agit d'un circuit intégré licite, la fréquence f2 mesurée par le compteur 12 sera forcément égale ou très proche de la valeur de référence F2 stockée au préalable. Dans ce cas, le système de protection pourra autoriser le circuit intégré à fonctionner. Si par contre le circuit intégré a été produit de façon illicite, en particulier à partir d'un fichier HDL récupéré frauduleusement, comme dans l'exemple de la figure 4b, les positions relatives des sources de chaleur et des capteurs de température d'une même paire ne sont plus respectées puisque la personne malveillante ne connaît pas les contraintes de placement utilisées par le concepteur. Il en résulte en particulier que, même en utilisant les mêmes séquences de démarrage de la source de chaleur B et du capteur 2, la fréquence f'2 mesurée par le compteur 12 associé au capteur de température 2 sera différente, en particulier beaucoup plus faible que la valeur de référence F2, compte tenu du fait que le capteur de température 2 est beaucoup plus éloigné de la source de chaleur B que dans le cas du circuit licite. Ici, la procédure d'auto contrôle conduira à un blocage du fonctionnement du circuit intégré. D'autres modes de réalisation que ceux décrits en référence aux figures annexées peuvent être implémentés sans départir du cadre de l'invention : En particulier, la ou les sources de chaleur sont de nature quelconque, 25 et peuvent même être composées d'un ou plusieurs composants relatifs aux fonctionnalités principales du circuit intégré, c'est-à-dire ce pour quoi le circuit intégré a été conçu. En outre, le principe de l'invention n'est pas limité à l'utilisation de paires d'émetteur/récepteur thermiques. On peut généraliser le principe à 30 toute grandeur physique produite par le circuit intégré, mesurable par un capteur approprié, et dont la mesure dépend de la position relative entre la source d'émission de la grandeur physique et le capteur ou récepteur associé : ainsi, la source de chaleur décrite précédemment peut être remplacée, à titre d'exemples non limitatifs: - par une source de lumière, par exemple une LED. Dans ce cas, on utilise un capteur de type à transfert de charge ou CCD ; - par une source de courant. Dans ce cas, on utilise un capteur de courant ; - par une source d'émission d'un signal électromagnétique ; - par une source d'émission d'un signal radiofréquence.
Enfin, si l'invention répond principalement au problème de la reproduction malveillante d'un circuit intégré conçu à partir d'un fichier HDL obtenu frauduleusement, elle est tout aussi applicable aux circuits intégrés conçus manuellement.