FR2846494A1 - Verification de proximite inter-signaux dans un circuit integre - Google Patents
Verification de proximite inter-signaux dans un circuit integre Download PDFInfo
- Publication number
- FR2846494A1 FR2846494A1 FR0308718A FR0308718A FR2846494A1 FR 2846494 A1 FR2846494 A1 FR 2846494A1 FR 0308718 A FR0308718 A FR 0308718A FR 0308718 A FR0308718 A FR 0308718A FR 2846494 A1 FR2846494 A1 FR 2846494A1
- Authority
- FR
- France
- Prior art keywords
- signal
- encapsulation
- network
- identifying
- signal network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Dans un aspect, des techniques sont décrites pour identifier et notifier (208) à un concepteur de circuit (116) des pistes de signal dans une conception de circuit intégré (201) qui sont plus proches les unes aux autres qu'un seuil de proximité (508). Il est désirable que les pistes de signal soient séparées les unes des autres par au moins le seuil de proximité (508) pour réduire la diaphonie ou interférence inter-signaux à un niveau acceptable. Une telle notification (208) peut se produire, soit dynamiquement (alors que le concepteur de circuit (116) conçoit le circuit), soit par l'intermédiaire d'un compte-rendu généré après que la conception de circuit a été générée. Dans un autre aspect, des techniques sont décrites pour identifier et notifier (208) au concepteur de circuit (116) des pistes de signal qui sont les plus proches d'une piste de signal de référence. Une telle notification (208) peut procurer au concepteur de circuit (106) une contre réaction concernant les régions dans la conception du circuit (201) qui sont passées et qui peut, en conséquence, produire un niveau inacceptable de diaphonie ou d'interférence.
Description
Cette demande est liée aux demandes de brevet déposées simultanément et
propriétés communes suivantes: une demande intitulée "Verifying Proximity of Ground Metal to Signal Traces in an Integrated Circuit", Attorney Docket N0 100100395-1; et une demande intitulée "Verifying Proximity of Ground Vias to Signal Vias in
an Integrated Circuit", Attorney Docket N0 100100396-1.
La présente invention concerne la conception de circuits intégrés et, plus particulièrement, des techniques pour réduire la diaphonie ou l'interférence dans un
circuit intégré.
Les circuits intégrés (CI) sont devenus de plus en plus grands et complexes, incluant typiquement des millions d'éléments de circuit individuels tels que des transistors et des portes logiques. Comme résultat de cette dimension et complexité accrues, les concepteurs de circuits intégrés utilisent de plus en plus des outils logiciels d'automisation de conception électronique (EDA) pour aider à la conception 15 des circuits intégrés. De tels outils aident à gérer la complexité de la tâche de
conception selon une certaine diversité de manières, telles qu'en permettant aux circuits intégrés d'être conçus hiérarchiquement, autorisant, en conséquence, que la conception soit divisée en modules et permettant à la tâche de conception d'être divisée parmi de multiples concepteurs d'une manière qui limite la complexité que 20 doit subir chaque concepteur.
Divers langages de description de circuit (HDL) ont été développés qui
permettent aux conceptions de circuit d'être décrites à divers niveaux d'abstraction.
Une description d'un circuit en conformité avec un HDL (que l'on appellera ici "modèle HDL" du circuit) peut, par exemple, décrire une conception du circuit 25 particulière en termes d'implantation de ses transistors et d'interconnexion sur un
circuit intégré ou en termes de portes logiques dans un système numérique. Les descriptions d'un circuit à différents niveaux d'abstraction peuvent être utilisées à différentes fins à divers étages dans le processus de conception. Les modèles HDL peuvent être utilisés pour tester les circuits et les conceptions de circuit, de même que 30 pour fabriquer les circuits eux-mêmes. Les deux HDL les plus largement utilisés sont
Verilog et VHDL (langage de description de circuit de), circuits intégrés à vitesse très élevée (VHICS) les deux ayant été adoptés comme standard par le Institute of
Electrical and Electronics Engineers (IEEE). VHDL est devenu le Standard IEEE
1076 en 1987 et Verilog est devenu le Standard IEEE 1364 en 1995.
Les outils EDA sont typiquement capables de convertir une description iIDL
fonctionnelle d'une conception de circuit en une implémentation du circuit 5 spécifique. Une implémentation de circuit spécifique peut être représentée par une "liste de réseaux" qui identifie à la fois les éléments du circuit et des interconnexions entre ceux-ci. En général, une liste de réseaux décrit la conception du circuit en termes de noeud et de fronts. Chaque noeud représente un élément de circuit et chaque front représente une interconnexion entre deux éléments de circuit. Les listes 10 de réseaux peuvent décrire des circuits à divers niveaux d'abstraction. Une liste de réseaux peut. par exemple, décrire des éléments de circuit en termes de composants structurels spécifiques (tels que des résistances et des transistors) ou en termes de "cellules" de niveau élevé qui peuvent être décomposées en composants structurels spécifiques et/ou autres cellules. Une liste de réseaux peut, par exemple, décrire les 15 connexions entre les cellules en termes de connexions de broche cellule à cellule spécifiques. Les outils EDA sont typiquement capables de convertir une liste de réseaux en une implémentation physique du circuit. Le processus d'implémentation implique à la fois "le placement" (affectation de coordonnées spécifiques dans les dispositions 20 du circuit à chaque cellule) et "le routage" (câblage ou connexion des cellules
ensemble). L'implémentation produite par celui-ci définit les dimensions spécifiques et coordonnées des portes, interconnexions, contacts et autres éléments du circuit.
L'implémentation peut avoir de multiples couches, correspondant aux couches de circuit. L'implémentation peut être utilisée pour former un masque, qui, à son tour, 25 peut être délivré à une fonderie pour fabriquer le circuit intégré lui-même.
Un étage dans le processus de conception du circuit intégré est la conception de l'encapsulation, qui se réfère à la conception des substrats (encapsulations) pour interconnexion des couches du circuit intégré. Un circuit intégré inclut typiquement de multiples encapsulations interconnectées en couches. Chaque encapsulation, à son 30 tour, peut inclure de multiples couches (que l'on appellera également "plans"). Les encapsulations à l'intérieur d'un seul circuit intégré peuvent être composées de divers matériaux ayant des propriétés électriques variables. Des réseaux de signaux individuels (que l'on appellera également ici simplement "réseaux") dans le circuit intégré peuvent être distribués à travers de multiples encapsulations. Une conception d'encapsulation doit assurer que les signaux dans le circuit intégré ont une énergie suffisante et maintiennent une intégrité de signal suffisante lors du passage d'une 5 couche du circuit intégré à une autre couche. Comme utilisé ici, le terme "réseau de signal" (ou simplement "réseau") se réfère à une collection de conducteurs qui sont connectés pour former un circuit complet connectant au moins une sortie à au moins
une entrée.
Comme avec la conception du circuit intégré, plus généralement, divers outils 10 existent pour automatiser les aspects de la conception de l'encapsulation des circuits intégrés. De tels outils fournissent typiquement une interface utilisateur graphique par l'intermédiaire de laquelle les concepteurs d'encapsulation peuvent concevoir visuellement l'encapsulation du circuit intégré en trois dimensions. A titre d'exemple, en se référant à la figure 1, un système de conception d'encapsulation 100 de la 15 technique antérieure est représentée dans lequel un concepteur d'encapsulation humain 116 crée et modifie un modèle 102 d'une encapsulation de circuit intégré en utilisant un outil de conception d'encapsulation 104. Le concepteur d'encapsulation 116 peut, par exemple, utiliser un clavier 114 ou autre dispositif d'entrée pour fournir une entrée 108 à l'outil de conception d'encapsulation 104, en réponse à laquelle 20 l'outil de conception d'encapsulation 104 peut modifier le modèle d'encapsulation 102 et afficher une représentation graphique 106 du modèle d'encapsulation 102 (ou des couches particulières dans celui-ci) sur un écran d'affichage 112. La représentation graphique 106 affiche typiquement des pistes de signal comme lignes
sur une grille bi-dimensionnelle.
Le modèle d'encapsulation 102 peut inclure, par exemple, des informations spécifiant le nom, l'emplacement et la dimension de chaque piste de signal, le métal de masse, les traversées et autres éléments du modèle d'encapsulation i102. Le modèle d'encapsulation 102 est typiquement mémorisé dans un fichier de base de
données dans un système d'ordinateur.
Un exemple d'un outil de conception d'encapsulation 104 est Advanced Package Designer (ADP) que l'on trouve chez Cadence Design Systems, Inc. de San Jose, Californie. ADP est un programme logiciel qui permet au concepteur d'encapsulation 116 de modéliser les caractéristiques physiques, électriques et thermiques du substrat d'encapsulation. Une base de données de conception d'encapsulation ADP (par exemple, le modèle d'encapsulation 102) peut être fournie à une fonderie qui doit être utilisée directement comme entrée de fabrication pour la fabrication de l'encapsulation conçue. Il est commun pour les conceptions d'encapsulation d'inclure des couches de signaux distinctes et des couches de masse. A titre d'exemple, le modèle d'encapsulation 102 inclut des couches 104a à c, incluant une couche de masse 1 04a, une couche de signal 104b et une couche de masse 104c. Bien que les modèles 10 d'encapsulation contiennent typiquement des couches supplémentaires, seules les
trois couches 104a à c sont représentées à la figure 1 afin de faciliter l'illustration.
Une couche de signal (telle que la couche 104b) n'inclut typiquement que des pistes de signal (que l'on appellera également lignes de signal), tandis qu'une couche de masse (telle que la couche 104a ou 104c) n'inclut typiquement que le métal de masse, 15 disposé typiquement, soit sous forme de grille, soit en un plan plein. Les couches de
signal et les couches de masse sont souvent conçues de sorte que chaque couche de signal est placée entre deux couches de masse. Il est important qu'il existe du métal de masse directement au-dessus ou en dessous de chaque piste de signal dans une couche de signal pour assurer un trajet de retour de masse approprié pour chaque 20 piste de signal.
Il est également important que les pistes de signal dans le modèle d'encapsulation 102 ne soient pas trop proches les unes des autres. Ceci est appelé ici "exigence d'espacement inter-signaux minimale". Des pistes de signal rapprochées introduisent une interférence ou diaphonie dans chaque autre piste de signal, 25 réduisant, en conséquence, l'intégrité du signal. Certains outils de conception d'encapsulation ne vérifient pas automatiquement que les pistes de signal sont suffisamment espacées les unes des autres. Dans de tels cas, le concepteur d'encapsulation humain 116 peut avoir besoin de vérifier manuellement que l'exigence d'espacement inter-signaux minimale est satisfaite pour toutes les pistes de 30 signal dans le modèle d'encapsulation 102. Ceci est un processus lourd, prenant
beaucoup de temps et susceptible d'erreurs.
Pour vérifier que les exigences d'espacement inter-signaux sont satisfaites, le concepteur d'encapsulation 116 peut inspecter visuellement la représentation graphique 106. Les pistes de signal peuvent, par exemple, être représentées graphiquement comme des lignes sur l'écran d'affichage 112. La vérification de 5 l'espacement inter- signaux en inspectant visuellement la représentation d'encapsulation graphique 106 peut être difficile en raison du nombre important et de
l'espacement rapproché des pistes de signal.
De plus ou en variante, l'outil de conception d'encapsulation 104 peut générer des comptes rendus de propriétés d'encapsulation textuels 110 qui listent diverses 10 propriétés du modèle d'encapsulation 102, telles que les emplacements et les longueurs des pistes de signal dans le modèle d'encapsulation 102. Le concepteur d'encapsulation 116 peut essayer de vérifier que les exigences d'espacement intersignaux sont satisfaites en inspectant les comptes rendus 110. Ce procédé, toutefois,
est également lourd, prend beaucoup de temps et est difficile à réaliser précisément.
1 5 Certains outils de conception d'encapsulation classiques déterminent automatiquement si les pistes de signal dans le modèle d'encapsulation satisfont les exigences d'espacement inter-signaux. De tels outils, toutefois, procurent au concepteur d'encapsulation 116 peu d'informations autres que d'avertir le concepteur d'encapsulation 116 du fait que une ou plusieurs pistes de signal sont trop 20 rapprochées les unes des autres. Ces informations ne peuvent pas, par elles-mêmes, procurer au concepteur d'encapsulation 116 beaucoup d'assistance dans la tâche de repositionner les pistes de signal de sorte qu'elles satisfont les exigences d'espacement inter-signaux minimales. A titre d'exemple, après avoir été averti par l'outil de conception d'encapsulation 104 qu'une piste de signal est trop proche d'au 25 moins une autre piste de signal, le concepteur d'encapsulation 116 doit typiquement repositionner la piste de signal courante manuellement dans un essai pour satisfaire l'exigence d'espacement inter-signaux par un procédé empirique. Ceci peut être un
processus lourd, prenant du temps et susceptible d'erreurs.
En outre, le concepteur d'encapsulation 116 peut souhaiter s'assurer que non 30 seulement les pistes de signal dans le modèle d'encapsulation 102 satisfont les exigences d'espacement inter-signaux minimales, mais de plus que les pistes de signal sont suffisamment séparées les unes des autres autant que possible pour
réduire la diaphonie ou une interférence autant que possible. Les outils de conception d'encapsulation classique procurent au concepteur d'encapsulation 116 peu d'assistance pour atteindre ce but, du fait que seule la contre réaction liée à l'espacement que de tels outils de conception d'encapsulation procurent typiquement 5 au concepteur d'encapsulation 116 est d'avertir le concepteur d'encapsulation 116 lorsque les pistes de signal sont trop proches les unes des autres.
Ce qui est nécessaire, en conséquence, ce sont des techniques améliorées pour
réduire la diaphonie ou interférence inter-signaux dans un circuit intégré.
Dans un premier aspect, des techniques sont décrites pour identifier et notifier 10 au concepteur de circuit des pistes de signal dans une conception de circuit intégré qui sont plus proches l'une de l'autre qu'un seuil prédéterminé. Il est désirable que les pistes de signal soit séparées les unes des autres par au moins le seuil de proximité pour réduire la diaphonie ou l'interférence inter-signaux à un niveau acceptable. Une telle notification peut se produire, soit dynamiquement (alors que le concepteur de 15 circuit est en train de construire le circuit), soit par l'intermédiaire d'un compte rendu généré après que la conception de circuit a été générée. Dans un autre aspect, des techmiques sont décrites pour identifier et notifier au concepteur de circuit que les pistes de signal sont les plus rapprochées par rapport à une piste de signal de référence. Une telle notification peut procurer au concepteur de circuit une contre 20 réaction autour des régions dans la conception du circuit qui sont tassées et qui peuvent, en conséquence, produire un niveau inacceptable de diaphonie ou d'interférence. A titre d'exemple, dans un aspect de la présente invention, un procédé mis en oeuvre par ordinateur est procuré qui inclut les étapes de (A) identifier un premier 25 réseau de signaux dans une conception de circuit intégré; (B) identifier un second réseau de signaux dans la conception de circuit intégré; (c) déterminer si au moins une partie du second réseau de signaux est à l'intérieur d'une distance de seuil du premier réseau de signaux; (D) s'il est déterminé qu'au moins une partie du second réseau de signaux est à l'intérieur de la distance de seuil du premier réseau de 30 signaux, mesurer la longueur agrégée le long du premier réseau de signaux qui est à l'intérieur de la distance de seuil du second réseau de signaux; (E) déterminer si la longueur mesurée est au moins aussi grande qu'une longueur de seuil; et (F) notifier l à un utilisateur que le second réseau de signaux est voisin du premier réseau de signal s'il est déterminé que la longueur mesurée est au moins aussi grande que la
longueur de seuil.
Dans un autre aspect de la présente invention, un procédé mis en oeuvre par ordinateur est procuré qui inclut les étapes de: (A) identifier un premier réseau de signaux dans une conception de circuits intégrés; (B) identifier une pluralité de seconds réseaux de signaux dans la conception du circuit intégré; (C) identifier un sous ensemble de la pluralité des seconds réseaux de signaux qui sont les plus proches du premier réseau de signaux; et (D) notifier à un utilisateur du sous-réseau
1 0 de la pluralité des seconds réseaux de signaux.
D'autres caractéristiques et avantages des divers aspects et modes de
réalisation de la présente invention deviendront apparents à partir de la description
qui suit et des revendications.
La figure I est un schéma synoptique sous forme de blocs fonctionnel d'un 1 5 système de la technique antérieure pour créer et éditer un modèle d'une encapsulation de circuit intégré, la figure 2 est un schéma synoptique sous forme de blocs fonctionnel d'un système pour vérifier que les pistes de signal dans un modèle d'une encapsulation de circuit intégré satisfont les exigences d'espacement inter-signaux minimales en conformité avec un mode de réalisation de la présente invention; la figure 3 est une vue en perspective des pistes de signal dans trois couches d'une encapsulation de circuit intégré en conformité avec un mode de réalisation de la présente invention; la figure 4A est un organigramme d'un procédé pour détecter et informer un concepteur d'encapsulation concernant les voisins de chaque piste de signal dans un modèle d'encapsulation en conformité avec un mode de réalisation de la présente invention; la figure 4B est un organigramme d'un procédé pour déterminer si la distance entre deux pistes de signal est inférieure à un seuil de proximité en conformité avec un mode de réalisation de la présente invention; la figure 4C est un organigramme d'un procédé pour informer un concepteur d'encapsulation de toutes parties quelconques d'une piste de signal qui se trouvent à l'intérieur à moins qu'une distance de seuil des autres pistes de signal dans un modèle d'encapsulation en conformité avec un mode de réalisation de la présente invention; la figure 4D est un organigramme d'un procédé pour mesurer la distance la plus courte entre deux pistes de signal en conformité avec un mode de réalisation de la présente invention; la figure 4E est un organigramme d'un procédé pour sortir une liste des pistes de signal qui voisinent une piste de signal de référence en conformité avec un mode de réalisation de la présente invention; et la figure 5 est un schéma synoptique sous forme de blocs de la structure 1 0 logique des informations de configuration qui sont utilisées pour vérifier la proximité du métal de masse avec les pistes de signal dans une encapsulation de circuit intégré
en conformité avec un mode de réalisation de la présente invention.
En se référant à la figure 2, un schéma synoptique sous forme de blocs fonctionnel d'un système 200 est représenté pour vérifier que les pistes de signal dans 1 5 un modèle 201 d'une encapsulation de circuit intégré satisfont les exigences d'espacement inter-signaux minimales en conformité avec un mode de réalisation de la présente invention. Le système 200 inclut un outil de conception d'encapsulation 104 (tel que Advanced Package Designer), qui peut être un outil de conception d'encapsulation classique comme décrit ci-dessus en se référant à la figure 1. Le 20 concepteur d'encapsulation 116 utilise l'outil de conception d'encapsulation 104 pour créer et modifier le modèle d'encapsulation 201 comme cela sera décrit plus loin en se référant à la figure 1. Le système 200 inclut également un vérificateur de proximité 202 pour vérifier que les pistes de signal dans le modèle d'encapsulation 201 satisfont les exigences d'espacement inter-signaux minimales. Le concepteur 25 d'encapsulation 116 ordonne au vérificateur de proximité 202 d'effectuer la vérification sur le modèle d'encapsulation 201. Le concepteur d'encapsulation 116 peut également transmettre des informations de configuration 210, contenant les paramètres du traitement de vérification de proximité, au vérificateur de proximité 202. Le vérificateur de proximité 202 transmet les ordres d'accès au modèle d'encapsulation 204 à l'outil de conception d'encapsulation 104, en réponse auxquels l'outil de conception d'encapsulation 104 transmet les informations de modèle d'encapsulation 206 au vérificateur de proximité 202. Les informations de modèle d'encapsulation 206 contiennent des informations descriptives de modèle d'encapsulation 201, telles que les emplacements et les dimensions des pistes de signal et du métal de masse dans les couches 104a à c du modèle d'encapsulation 5 201. Le vérificateur de proximité 202 vérifie que les pistes de signal dans le modèle d'encapsulation 201 satisfont les exigences d'espacement inter- signaux sur la base des informations du modèle d'encapsulation 206. Le vérificateur de proximité 206 génère les indicateurs de proximité 208, qui indiquent les résultats du traitement de vérification. Dans un mode de réalisation, par exemple, les indicateurs de proximité 208 indiquent quels points dans chaque piste de signal sont les plus proches des autres pistes de signal dans le modèle d'encapsulation 201. Dans un autre mode de réalisation, par exemple, les indicateurs de proximité 208 indiquent les "voisins", s'il y en a, de chaque piste de signal dans le modèle d'encapsulation 201. Une première 15 piste de signal SI peut être "voisine" d'une seconde piste de signal S2 si, par exemple, la distance entre SI et S2 est inférieure à une distance de seuil prédéterminée. En outre, les pistes de signal SI et S2 peuvent seulement être considérées voisines si, par exemple, la distance entre S] et S2 est inférieure à la distance de seuil prédéterminée sur au moins une longueur minimale prédéterminée 20 le long de la piste de signal Sl. Des exemples de diverses techniques pour mesurer la
distance entre les pistes de signal sont procurés ci-dessous. Les indicateurs de proximité 208 peuvent être générés en temps réel (c'est-àdire alors que le concepteur d'encapsulation 116 est en train d'éditer une piste de signal dans le modèle d'encapsulation 201) ou comme posttraitement (à savoir, après que le concepteur 25 d'encapsulation 116 a conçu le modèle d'encapsulation 201).
Le vérificateur de proximité 202 peut transmettre les indicateurs de proximité 208 au concepteur d'encapsulation 116. Le concepteur d'encapsulation 116 peut inspecter les indicateurs de proximité 208 et peut modifier le modèle d'encapsulation 201 en réponse aux informations contenues dans les indicateurs de proximité 208. Le 30 concepteur d'encapsulation 116 peut, par exemple, réacheminer toutes pistes de signal indiquées quelconques de sorte qu'elles sont séparées par des distances
suffisantes des autres pistes de signal dans le modèle d'encapsulation 201.
]o On décrira maintenant de manière plus détaillée le fonctionnement du
système 200 eni conformité avec divers modes de réalisation de la présente invention.
Tout d'abord, on procurera un exemple qui illustre plus clairement le fonctionnement des divers modes de réalisation de la présente invention. En se référant à la figure 3, 5 un exemple d'encapsulation 300 ayant trois couches 302a à c est illustré. Les couches 302a à c peuvent, par exemple, être les couches qui sont modélisées par les couches 104a à c du modèle d'encapsulation 201 (figure 2). Bien que l'encapsulation 300 comporte trois couches 302a à c, dans la pratique, les encapsulations peuvent avoir tout nombre quelconque de couches. L'encapsulation 300 peut être une des 10 multiples encapsulations dans un circuit intégré (non représenté).
Il conviendra d'apprécier que les couches 302a à c ne sont pas destinées à l'échelle et qu'en général seules les caractéristiques pertinentes des couches 302a à c sont représentées à des fins de facilité d'illustration et d'explication. Les trois dimensions de l'encapsulation 300 sont illustrées en utilisant les axes x, y et z. Les 15 valeurs disposées sur les axes x et y de la figure 3 ne correspondent pas à des unités particulières de mesure (tels que des millimètres ou des mils), mais sont plutôt des unités génériques fournies simplement à des fins de facilité d'illustration et d'explication. Les axes x et y définissent ce que l'on appellera ici les dimensions "horizontales" de l'encapsulation 300, tandis que l'axe z définit ce que l'on appellera 20 ici la dimension "verticale" de l'encapsulation 300. Des lignes de grilles x et y dans chacun des plans 302a à c sont illustrées en utilisant des lignes en tirets interrompus
pour clarifier les coordonnées des pistes de signal dans les couches 302a à c.
La distance H entre chaque couche de l'encapsulation 300 sera appelée ici distance "verticale". Des réseaux de signaux traversent les longueurs de trajet vertical 25 par l'intermédiaire de traversées, lesquelles sont des conducteurs verticaux ou des trajets conducteurs formant l'interconnexion entre une couche d'un circuit intégré et une autre couche. La distance H est typiquement de l'ordre de 100 pm. Les distances traversées par les réseaux de signaux à l'intérieur d'une seule couche seront appelées
ici "distances horizontales".
La couche 302b inclut une piste de signal appelée ici par la référence numérique 304 et incluant trois segments 304a à c. Bien que la piste de signal 304 peut être une des nombreuses pistes de signal dans un réseau de signaux qui s'étale Il
sur une plusieurs couches de l'encapsulation 300, la piste de signal 304 est représentée isolée sur la figure 3 à des fins de facilité d'illustration et d'explication.
Un encapsulation typique peut inclure des milliers de réseaux de signaux. Le premier segment 304a de la piste de signal 304 comporte des points d'extrémité (x,y) de (2,7) et (2,5). Le second segment 304b de la piste de signal 304 comporte des points d'extrémité (x y) de (2,5) et (1,4). Le troisième segment 304c de la piste de signal
304 comporte des points d'extrémité (x,y) de (1,4) et (1,1).
La couche 302b inclut également des pistes de signal 306, 308 et 310 (qui incluent des segments 310a et 310b). Bien que les pistes de signal 306, 308 et 310 10 soient illustrées seulement à l'intérieur de la couche 302b à la figure 3 à des fins de facilité d'illustration et d'explication, ces pistes de signal peuvent être connectées par l'intermédiaire de traversées de signal aux pistes de signal dans d'autres couches de
l'encapsulation 300.
La couche 302a inclut la piste de signal 312 (qui inclut les segments 312a et 15 312b) et la couche 302c inclut la piste de signal 314 (qui inclut les segments 314a,
314b et 314c). Bien que les couches 302a et 302c soient des couches de masse, les couches de masse peuvent contenir des pistes de signal en plus du métal de masse.
Dans la description ci-dessous, les diverses pistes de signal illustrées à la figure 3 et leur emplacement relatif dans le modèle d'encapsulation 300 seront utilisés pour 20 illustrer l'application des procédés qui sont exécutés dans divers modes de réalisation
de la présente invention.
En se référant à la figure 4a, il est représenté un organigramme d'un procédé voisin de détection 400 qui est utilisé par le vérificateur de proximité 202 pour détecter et informer le concepteur d'encapsulation 116 concernant les voisins de 25 chaque piste de signal dans le modèle d'encapsulation 201 en conformité avec un
mode de réalisation de la présente invention.
Avant initiation du procédé 400, le concepteur d'encapsulation 116 peut procurer des informations de configuration 210 au vérificateur de proximité 202. Les informations de configuration 210 peuvent, par exemple, prendre la forme d'une 30 ligne d'ordre avec des paramètres, d'un fichier de configuration mémorisé sur une unité de disque dur, ou d'ordres sortis vers le vérificateur de proximité 202 en utilisant une interface utilisateur graphique. La fourniture des informations de configuration 210 au vérificateur de proximité 202 par le concepteur d'encapsulation 11 6 peut, en conséquence, servir à la fois pour initier le procédé voisin de détection 400 et pour délivrer des valeurs de paramètre au vérificateur deproximité 202 pour
utilisation dans le procédé voisin de détection 400.
En se référant à la figure 5. la structure logique des informations de configuration 210 est illustrée en conformité avec un mode de réalisation de la présente invention. Les informations de configuration 210 incluent un seuil de proximité 508, qui spécifie la distance autorisable minimale entre des pistes de signal dans le modèle d'encapsulation 201. Le seuil de proximité 508 (que l'on appellera 10 également ici P7) peut, en conséquence, être utilisé pour renforcer, ce que l'on appellera ici "exigences d'espacement inter-signaux". En outre, deux pistes de signal peuvent être considérées "voisines" si la distance entre celles-ci est inférieure au seuil
de proximité 508.
Le seuil de proximité 508 peut, par exemple, spécifier une distance 15 horizontale autorisable maximale, à savoir, une distance autorisable maximale entre les coordonnées planes (x,y) des deux pistes de signal. En variante, le seuil de proximité 508 peut spécifier une distance en "ligne droite" autorisable maximale ayant à la fois des composantes horizontales et verticales (intercouches) dans un espace tridimmensionnel. Le seuil de proximité 508 peut être de toute valeur 20 quelconque et peut être spécifié en toute unité quelconque, telle que millimètre, mils
ou micromètres.
Les informations de configuration 210 incluent également une liste de noms de réseaux de signaux 504, qui est une liste des noms des réseaux de signaux qui doivent être traités par le procédé voisin de détection 400. Un réseau de signaux peut 25 s'étaler sur de multiples couches dans une encapsulation; une piste de signal peut, en
conséquence, être un sous ensemble d'un réseau de signaux.
Les informations de configuration 210 incluent également une liste de noms de couches 502, laquelle est une liste des noms des couches d'encapsulation qui doivent être traitées par le procédé voisin de détection 400. La liste de noms de 30 réseaux de signaux 504 et la liste de noms de couches 502 peuvent spécifier les noms des réseaux de signaux et des couches, respectivement, en utilisant les mêmes noms
utilisés à l'intérieur du modèle d'encapsulation 201 lui-même.
Bien que non représentées à la figure 5, les informations de configuration 210 peuvent, en outre, spécifier des régions (zones) du modèle d'encapsulation 201 auquel le procédé 400 doit être appliqué. Il peut, par exemple, être acceptable et/ou inévitable pour les pistes de signal d'être plus proches les unes des autres que le seuil 5 de proximité PT dans certains régions du modèle d'encapsulation 201, tel que dans les régions entourant de manière très rapprochée les traversées de signaux. Le concepteur d'encapsulation 116 peut utiliser les informations de configuration 210 pour indiquer que le procédé 400 ne doit pas être appliqué aux pistes de signal à
l'intérieur de telles régions.
En se référant de nouveau à la figure 4A, le procédé voisin de détection 400 entre dans une boucle sur chaque couches de signal L spécifiée par la liste de noms de couches 502 (à l'étape 402). Le procédé 400 entre dans une boucle sur chaque piste de signal SI spécifiée par la liste de noms de réseaux de signaux 504 (étape 404). En d'autres termes, si S est un réseau de signaux spécifié par la liste de noms de 15 réseaux de signaux 504, S] se réfère à cette partie du réseau de signaux S qui se trouve à l'intérieur de la couche L. On suppose à des fins d'exemple que la piste de
signal SI est la piste de signal 304 illustrée à la figure 3.
Le procédé 400 initialise une liste de voisins ANs pour la piste de signal SI (étape 406). Comme cela sera décrit de manière plus détaillée ci-dessous, le procédé 20 400 enregistre les voisins, s'il y en a, de la piste de signal SI dans la liste des voisins
Nsj à mesure qu'ils sont identifiés. La liste des voisins Ns/ est initialement vide.
Le procédé 400 entre dans une boucle sur chaque piste de signal S2 dans le modèle d'encapsulation 201 autre que la piste de signal SI (étape 408). Dans cette boucle, le procédé 400 détermine si chaque piste de signal S2 est voisine de la piste 25 de signal S] et ajoute la piste de signal S2 à la liste des voisins Ns1 si la piste de signal S2 est déterminée être voisine de la piste de signal SI. La piste de signal S2 est déterminée être voisine de la piste de signal SI si la distance entre la piste de signal SI et la piste de signal S2 est inférieure au seuil de proximité PT (étape 410). Le procédé 400 ajoute la piste de signal S2 à la liste des voisins Ns1 si la piste de signal 30 S2 est déterminée être voisine de la piste de signal SI (étape 412). Le procédé 400 peut, par exemple, ajouter le nom ou autre identificateur de la piste de signal S2 à la liste des voisins Ns8. Le procédé répète les étapes 410 et 412 pour les pistes de signal S2 restantes (étape 414), élaborant. en conséquence, la liste des voisins N1s pour la
piste de signal SI.
Après élaboration de la liste des voisins Ns5, le procédé 400 sort la liste des voisins N1S, par exemple, en ajoutant la liste des voisins NS1 aux indicateurs de 5 proximité 208 (étape 416). Si, par exemple, les indicateurs de proximité 208 sont mémorisés dans un fichier, la liste des voisins Ns1 peut être rajoutée au fichier. Il conviendra d'apprécier que sur exécution de l'étape 416, la liste des voisins N51
contient une liste des voisins, s'il y en a, de la piste de signal S].
La boucle sur L se termine à l'étape 418, répétant, en conséquence, les étapes 10 406 à 416 pour chacun des réseaux de signaux spécifiés par la liste de noms des réseaux de signaux 504 dans chacune des couches spécifiées par la liste des noms de
couches 502.
Sur achèvement du procédé 400, les indicateurs de proximité 208 incluent les listes des voisins pour la totalité des pistes de signal spécifiées par la liste de noms de 15 réseaux de signaux 504 dans chacune des couches spécifiées par la liste des noms de
couches 502.
En variante, les indicateurs de proximité 208 peuvent, par exemple, n'inclure des listes des voisins que pour les pistes de signal qui ont au moins un voisin. Les indicateurs de proximité 208 peuvent, par exemple, être mémorisés dans un fichier 20 de texte ou être représentés comme indicateur de violation de règle de conception
214 dans le modèle d'encapsulation 201, comme cela sera décrit de manière plus détaillée ci-dessous. Le concepteur d'encapsulation 116 peut examiner les indicateurs de proximité 208 pour déterminer si toutes pistes de signal quelconques devraient être réacheminées pour les positionner de sorte qu'elles sont séparées par au moins le 25 seuil de proximité PT par rapport à la totalité des autres pistes de signal.
Bien que le procédé 400 illustré à la figure 4 génère une liste des voisins pour chaque piste de signal dans chacun des réseaux de signaux spécifiés dans la liste de noms des réseaux de signaux 504, le procédé 400 peut, en variante, générer une liste des voisins pour chaque réseau de signaux spécifié comme un tout. Dans un tel mode 30 de réalisation, la liste des voisins Ns1 serait remplacée par une liste des voisins Ns] qui identifierait les voisins, s'il y en a, du réseau de signaux S. L'homme de l'art appréciera comment modifier le procédé 400 pour générer des listes des voisins pour des réseaux de signaux entiers au lieu de les générer pour les pistes de signal
individuelles dans les réseaux de signaux.
En se référant à la figure 4B, il est représenté un organigramme d'un procédé qui peut être utilisé pour déterminer si la distance entre les pistes de signal SI et S2 5 est inférieure au seuil de proximité PT (figure 4A, étape 410) en conformité avec un mode de réalisation de la présente invention. Dans le mode de réalisation particulier illustré à la figure 4B, le procédé 410 considère seulement la piste de signal S2 être une voisine de la piste de signal SI si la piste de signal S2 est à l'intérieur du seuil de proximité PT de la piste de signal SI pour au moins un seuil de longueur minimal LT 10 le long de la piste de signal SI. Le concepteur d'encapsulation 116 peut, par exemple, spécifier le seuil de longueur minimal LT dans les informations de configuration 210
(comme illustré par le seuil de longueur 510 à la figure 5).
Le procédé 410 peut, en variante, toutefois, déterminer si la piste de signal S2 est voisine de la piste de signal SI selon d'autres manières. Par exemple, le procédé i5 410 peut, en variante, considérer toute piste de signal S2 être une voisine de la piste de signal S] si tout point quelconque sur la piste de signal S2 est à l'intérieur de la
distance de seuil de proximité PT de chaque point sur la piste de signal SI.
En revenant à la figure 4B, le procédé 410 mesure la longueur agrégée de toutes les parties (s'il y en a) de la piste de signal SI qui sont à l'intérieur du seuil de 20 proximité de la piste de signal S2 et mémorise cette longueur agrégée dans une
variable nommée LEN. Le procédé 410 initialise la valeur de LEN à zéro (étape 430).
Le procédé 410 commence à entrer dans une boucle sur chaque segment Ts8 dans la piste de signal SI (étape 432). A titre d'exemple, comme décrit ci-dessus par rapport à la figure 3, la piste de signal 304 inclut trois segments 304a à c. Le procédé 25 410 entre dans une boucle sur chaque segment TS2 dans la piste de signal S2 (étape 434). Le procédé 410 mesure la longueur de cette partie, s'il y en a, du segment Ts2 qui est à l'intérieur de la distance PT du segment Ts8 et mémorise la longueur mesurée dans une variable nommée SLEN (étape 436). Le procédé 410 ajoute la valeur de SLEN à la valeur de LEN et mémorise la nouvelle longueur agrégée 30 obtenue dans LEN (étape 438). Le procédé 410 répète les étapes 436 à 438 pour chaque segment restant Ts2 de la piste de signal S2 (étape 440) et répète les étapes 434 à 440 pour chaque segment restant Ts1 de la piste de signal SI (étape 442). Sur achèvement de l'étape 442. la valeur de la variable LEN représente la longueur agrégée des parties de la piste de signal SI qui sont à l'intérieur de la distance PT de
toute partie quelconque de la piste de signal S2.
Le procédé 410 détermine si la valeur de LEN est supérieure ou égale au seuil 5 de longueur minimal LT (étape 444). Si LEN est supérieur ou égal à LT, alors le procédé 410 considère la piste de signal S2 être voisine de la piste de signal S] et le déroulement du programme passe à l'étape 412 du procédé 400 (figure 4A), dans lequel la piste de signal S2 est ajoutée à la liste des voisins de la piste de signal S] NS1. Sinon, le procédé 410 considère que la piste de signal S2 n'est pas voisine de la 10 piste de signal SI et le déroulement du programme passe à l'étape 414 du procédé 400 (figure 4A) sans ajouter la piste de signal S2 à la liste des voisins de la piste de
signal SI NsI.
On considère, par exemple, les pistes de signal illustrées à la figure 3. On suppose aux fins de l'exemple que la piste de signal SI est la piste de signal 304, que 15 le seuil de proximité PT est une unité de mesure, que le seuil de longueur LT est de deux unités de mesure et que le procédé illustré à la figure 4B est utilisé pour implémenter l'étape 410 du procédé 400 illustré à la figure 4A. On peut voir par référence à la figure 3 que la piste de signal 306 est séparée de la piste de signal 304 par exactement une unité de mesure (purement le long de l'axe x dans ce cas) pour 20 une longueur de deux unités de mesure le long de la piste de signal 304 (à partir des coordonnées (2,7) aux coordonnées (2,5)). La piste de signal 306 satisfait, en conséquence, l'exigence d'espacement inter-signaux dans cet exemple, qui définit un voisin comme une piste de signal qui est à l'intérieur d'une unité de mesure de la piste de signal de référence S] (à savoir, la piste de signal 304) pour au moins deux unités 25 de mesure. Dans cet exemple, la piste de signal 306 serait, en conséquence, qualifiée comme voisine de la piste de signal 304 dans une étape 410 du procédé 400 et serait ajoutée à la liste des voisins de la piste de signal 304's à l'étape 412 du procédé 400
(figure 4A).
En se tournant maintenant vers la piste de signal 308, on peut voir en se 30 référant à la figure 3 que la piste de signal 308 n'est à aucun point à l'intérieur d'une unité de mesure de toute partie quelconque de la piste de signal 304. La piste de signal 308 n'est, en conséquence, pas une voisine de la piste de signal 304 dans cet exemple et. en conséquence, ne serait pas ajoutée à la liste des voisins de la piste de
signal 304 à l'étape 412 du procédé 400.
En se tournant maintenant vers la piste de signal 31 0, on peut voir en se
référant à la figure 3 que la piste de signal 310 est séparée d'exactement une mesure 5 pour une longueur totale d'une unité de mesure le long de la piste de signal 304 (à partir des coordonnées (1,2) aux coordonnées (h1,)). Bien qu'une certaine partie de la piste de signal 310 est à l'intérieur du seuil de proximité de la piste de signal 304, la longueur de cette partie ne satisfait pas le seuil de longueur LT. La piste de signal 310 ne serait pas, en conséquence, qualifiée comme voisine de la piste de signal 304 10 et ne serait pas ajoutée à la liste des voisins de la piste de signal 304 à l'étape 412.
On considère maintenant la piste de signal 314 (qui inclut les segments 314a, 314b et 314c) dans la couche 302c. A des fins de cet exemple, le segment 314 suit le même chemin dans le plan x-y de la couche 302c que le segment 304 suit dans le plan x-y de la couche 302b. Que la piste de signal 314 soit qualifiée ou non comme 15 voisine de la piste de signal 304 dépend de la distance H entre les couches 302b et 302c. La piste de signal 314 serait, par exemple, qualifiée comme voisine de la piste de signal 304 si la distance H était inférieure ou égale à une unité de mesure. Si. par exemple, la distance H était exactement d'une unité de mesure, la piste de signal 314 serait à l'intérieur du seuil de proximité PT pour une longueur totale 20 d'approximativement 5,4 unités de mesure, la qualifiant. en conséquence, comme
voisine de la piste de signal 304.
On considère maintenant la piste de signal 312 (qui inclut les segments 312a et 312b). Que la piste de signal 312 soit qualifiée comme voisine de la piste de signal 304 dépend de la distance H entre les couches 302a et 302b. Du fait que les segments 25 de la piste de signal 312 sont décalés par rapport aux segments de la piste de signal
304 dans la totalité des trois axes x, y et z, la détermination que la piste de signal 312 soit qualifiée comme voisine de la piste de signal 304 demanderait la mesure des distances entre les parties des pistes de signal 304 et 312 dans les trois dimensions.
Des techniques pour effectuer de tels calculs basés sur les coordonnées des pistes de 30 signal 304 et 312 seront apparentes à l'homme de l'art sur la base de la présente
description.
En se référant à la figure 4C, il est représenté un organigramme d'un procédé
de vérification de proximité 400 qui est utilisé par le vérificateur de proximité 202 pour informer le concepteur d'encapsulation 116 concernant toutes parties quelconques de la piste de signal actuellement éditée qui se trouvent en deçà du seuil 5 de proximité PT des autres pistes de signal dans le modèle d'encapsulation 201 en conformité avec un mode de réalisation de la présente invention.
Le procédé 450 peut, par exemple, être exécuté en temps réel, à savoir, alors que le concepteur d'encapsulation 116 utilise l'outil de conception d'encapsulation 104 pour éditer une piste de signal particulière S] dans le modèle d'encapsulation 10 201. Des techniques pour implémenter le procédé 450 en temps réel seront décrites de manière plus détaillée cidessous. Le procédé 450 identifie la piste de signal S] actuellement éditée par le concepteur d'encapsulation 116 (étape 452). Le procédé 450 initialise une liste de voisins temporaire Ns5 pour la piste de signal S] (étape 454). Comme décrit de manière plus détaillée ci-dessous, le procédé 450 ajoute les 15 voisins, s'il y en a, de la piste de signal SI à la liste des voisins temporaire Ns1 et informe le concepteur d'encapsulation 116 des voisins dans la liste N1s qui sont les
plus près de la piste de signal S].
A titre d'exemple, dans un premier mode de réalisation, le procédé 450 identifie les voisins de la piste de signal S] comme suit. Le procédé 450 entre dans 20 une boucle sur chaque piste de signal S2 autre que la piste de signal S] dans le modèle d'encapsulation 201 (étape 456). Le procédé 450 mesure la distance la plus courte D entre la piste de signal S] et la piste de signal S2 (étape 458). Des exemples des techniques qui peuvent être utilisées pour mesurer la distance D seront décrits cidessous en se référant à la figure 4D. Le procédé 450 ajoute à la liste des voisins Nsi 25 un élément de liste qui identifie à la fois la piste de signal S2 et la distance D entre les pistes de signal S] et S2 (étape 460a). La piste de signal S2 peut, par exemple, être identifiée par son nom ou autre identificateur. Le procédé 450 répète les étapes 458 à 460a pour les pistes de signal restantes S2 (étape 462). Sur achèvement de l'étape 462, la liste des voisins Ns1 identifie les distances les plus courtes entre 30 chacune des pistes de signal S2 et la piste de signal S] qui est actuellement éditée par
le concepteur d'encapsulation 116.
La procédé 450 trie la liste des voisins Ns1 dans l'ordre décroissant de distance D (étape 464). Sur achèvement de l'étape 464, le premier élément dans la liste des voisins Ns3 identifie la piste de signal la plus proche de la piste de signal SI, le second élément identifie la piste de signal la plus près suivante et ainsi de suite. Le 5 procédé 450 enlève tous les éléments sauf les premiers éléments NC de la liste des voisins Ns] (étape 466). La valeur NC, également appelée ici "compte des voisins,"
peut être fournie par le concepteur d'encapsulation dans les informations de configuration (comme indiqué par la référence numérique 512 à la figure 5). Sur achèvement de l'étape 466, la liste des voisins Ns] n'identifie que les pistes de signal 10 les plus proches NC de la piste de signal S].
Le procédé 450 sort la liste des voisins Nsj, par exemple, en ajoutant la liste des voisins Ns3 aux indicateurs de proximité 208 (étape 468). Le procédé 450 peut, par exemple, fournir des indications visuelles dans la représentation d'encapsulation graphique 106 des points sur la piste de signal SI qui sont les plus proches des 15 voisins dans la liste des voisins N31s. De telles indications visuelles peuvent être. par
exemple, des cercles ou des marques rouges sur ou à proximité des points sur la piste de signal SI qui sont les plus proches des voisins dans la liste des voisins NiYs. Par exemple, en se référant de nouveau à la figure 3, les indicateurs visuels 316a et 316b indiquent que les parties indiquées de la piste de signal 304 sont trop proches des 20 autres pistes de signal (dans ce cas, les pistes de signal 306 et 310, respectivement).
En variante, si les indicateurs de proximité 208 sont mémorisés dans un fichier, la
liste des voisins Nsi peut être ajoutée au fichier.
Comme il est décrit ci-dessus en se référant à la figure 4C, le procédé 450 peut mesurer la distance la plus courte D entre les pistes de signal SI et S2 (étape 25 458). En se référant à la figure 4D, il est représenté un exemple des techniques que le procédé 450 peut utiliser pour effectuer cette mesure. Le procédé 450 identifie les points Pi et P2 sur les pistes de signal SI et S2 qui sont les plus proches les uns des autres (étape 470). En d'autres termes, les points Pl et P2 sont au moins aussi proches l'un de l'autre que tous autres deux points sur les pistes de signal SI et S2, 30 respectivement. S'il existe de multiples paires de points les plus proches, sur les pistes de signal SI et S2 (par exemple, si les parties les plus proches des pistes de signal SI et S2 sont des segments de lignes parallèles), le procédé 450 peut
sélectionner l'une quelconque de telle paire de points comme les points Pl et P2.
Le procédé 450 mesure la distance D en mesurant la distance entre les points Pl et P2 (étape 472). Le procédé 450 peut ensuite ajouter à la liste des voisins Ns/ un 5 élément de liste identifiant la piste de signal S2, la distance correspondante D et les points PI et P2 (étape 460b). On notera que dans ce mode de réalisation, l'étape 460b
remplace et effectue une fonction similaire à celle de l'étape 460a (figure 4C).
En se référant à la figure 4E, il est représenté un organigramme d'un mode de réalisation de l'étape 468 (sortant la liste des voisins NSI) lorsque la distance D est 10 mesurée en utilisant les techniques illustrées à la figure 4D. Dans le mode de réalisation illustré à la figure 4E, l'étape 468 entre dans une boucle sur chaque élément E dans la liste des voisins Ns1 (étape 474) et sort les points PI (étape 476) et P2 (étape 478) associés à l'élément E. Les étapes 476 et 478 sont répétées pour chaque élément E (étape 480). De cette manière, l'étape 468 sort les points sur la 15 piste de signal S] et la piste de signal S2 qui sont les plus près l'un de l'autre. En variante, l'étape 468 peut ne sortir que le point Pl ou le point P2 pour chaque
élément dans la liste des voisins Ns1.
Comme on l'a décrit précédemment en se référant à la figure 4C, le procédé 450 peut sortir les points Pl et P2 selon une grande variété de manières, telles qu'en 20 écrivant leurs coordonnées dans un fichier ou en délivrant des indications visuelles de leurs coordonnées sur la représentation d'encapsulation graphique 106. Divers autres aspects du procédé 450 peuvent également être mis en oeuvre selon d'autres manières. Par exemple, le procédé 450 peut identifier les points les plus proches NC
sur une base par segment ou par réseau au lieu d'une base par piste.
Les procédés décrits ci-dessus en se référant aux figures 4A à 4E font usage de diverses données provenant du modèle d'encapsulation 401, telles que les noms et les coordonnées des pistes de signal. Diverses techniques qui peuvent être utilisées dans le vérificateur de proximité 202 pour accéder et traiter de telles données seront
maintenant décrites de manière plus détaillée.
Comme décrit ci-dessus eu égard à la figure 2, le vérificateur de proximité 202 peut accéder aux informations dans le modèle d'encapsulation 201 en transmutant des ordres d'accès au modèle d'encapsulation 204 à l'outil de conception 2] d'encapsulation 104. Les ordres d'accès au modèle d'encapsulation 204 peuvent prendre l'une quelconque d'une grande variété de formes. Par exemple, l'outil de conception d'encapsulation 104 peut fournir une interface de programmes d'application (API) à travers laquelle les programmes logiciels externes peuvent 5 accéder aux informations contenues dans le modèle d'encapsulation 201 en utilisant des ordres définis en conformité avec l'API. Le vérificateur de proximité 202 peut être implémenter comme un tel programme logiciel et les ordres d'accès au modèle d'encapsulation 204 peuvent être implémentés comme ordres définis en conformité avec l'API de l'outil de conception d'encapsulation. L'API peut inclure à la fois des 10 ordres pour lire les informations depuis le modèle d'encapsulation 201 et des ordres pour écrire les informations dans le modèle d'encapsulation 201. Dans une telle implémentation, le vérificateur de proximité 202 transmet les ordres d'accès au modèle d'encapsulation 204 à l'outil de conception d'encapsulation 104, en réponse auquel ordre l'outil de conception d'encapsulation 104, soit modifie les informations dans le modèle d'encapsulation 201, soit transmet les informations requises concernant le modèle d'encapsulation au vérificateur de proximité 202 sous la forme
d'informations de modèle d'encapsulation 206.
Les informations de modèle d'encapsulation 206 peuvent, par exemple, être un compte rendu, tel qu'un des comptes rendus des propriétés d'encapsulation 20 classiques 110 décrits ci-dessus en se référant à la figure 1. Un tel compte rendu peut être un fichier de texte incluant des informations telles que les noms, emplacements et dimensions (par exemple les longueurs ou diamètres) des pistes de signal, du métal de masse, des traversées et autres éléments de modèle d'encapsulation. Le vérificateur de proximité 202 peut traiter les informations dans un tel compte rendu 25 pour exécuter les fonctions décrites ici en utilisant les techniques qui sont bien
connues de l'homme de l'art.
Le vérificateur de proximité 202 peut être implémenté comme un programme logiciel qui s'exécute à l'intérieur de l'environnement de conception fourni par l'outil de conception d'encapsulation 104. Par exemple, l'outil de conception 30 d'encapsulation APD décrit ci-dessus fournit un langage scripte appelé "Skill". Les scripts écrits dans le langage Skill peuvent être exécutés à l'intérieur de l'environnement de conception APD, par exemple, alors que le concepteur d'encapsulation 116 est en train d'utiliser l'outil de conception d'encapsulation 104 pour concevoir le modèle d'encapsulation 201. Le vérificateur de proximité 202 peut être implémenté comme un script Skill, auquel cas les ordres d'accès au modèle d'encapsulation 204 peuvent être des ordres Skill sortis par le vérificateur de 5 proximité 202 vers l'outil de conception d'encapsulation 104. En variante, le vérificateur de proximité 202 peut, par exemple, être implémenté comme un script
Perl pour utilisation avec d'autres outils de conception d'encapsulation.
En se référant de nouveau à la figure 2, le modèle d'encapsulation 201 peut inclure des règles de conception 212 qui spécifient les contraintes que les éléments à 10 l'intérieur du modèle d'encapsulation 201 doivent satisfaire afin d'assurer une fabrication et un fonctionnement corrects de l'encapsulation qui est modélisée. De telles contraintes peuvent inclure, par exemple, des contraintes électriques, géométriques ou de cadencement. Une règle de conception peut, par exemple, spécifier une distance minimale entre les pistes de signal dans une couche, ou spécifier une densité de piste de signal maximale dans une couche. Les outils de conception d'encapsulation classiques, tels que APD, procurent typiquement des règles de conception par défaut et des moyens pour spécifier des règles de conception supplémentaires qui doivent être appliquées à un modèle d'encapsulation. Les outils de conception d'encapsulation classiques incluent également typiquement des 20 vérificateurs de règle de conception automatisés (DRC), qui déterminent automatiquement si les règles de conception actives sont satisfaites et qui utilisent des indicateurs de violation de règle de conception 214 pour avertir le concepteur de l'encapsulation 116 de l'une quelconque des règles de conception qui sont violées par le modèle d'encapsulation 201. Les indicateurs de violation de règle de conception 25 214 peuvent, par exemple, être des indicateurs visuels (telle qu'une marque rouge) affichés à l'emplacement de la violation à l'intérieur de la représentation
d'encapsulation graphique 106 qui est affichée au concepteur d'encapsulation 116. Au lieu de fournir au concepteur d'encapsulation 116 des indicateurs de
proximité externes 208 pour indiquer la présence et/ou l'emplacement des voisins de 30 pistes de signal dans le modèle d'encapsulation 201, le vérificateur de proximité 202 peut utiliser des ordres d'accès au modèle d'encapsulation 204 pour insérer des indicateurs de violation de règle de conception 214 dans le modèle d'encapsulation
201 lorsque le vérificateur de proximité 202 détermine que les pistes de signal ne satisfont pas les exigences d'espacement inter-signaux. Par exemple, le vérificateur de proximité 202 peut sortir la liste des voisins Ns/ (figure 4A, étape 416; figure 4C, étape 468) en ajoutant un ou plusieurs indicateurs de violation de règle de conception 5 indiquant la présence et/ou l'emplacement de l'une quelconque des pistes de signal ou parties de celles-ci qui ne satisfont pas les exigences d'espacement inter-signaux.
L'indicateur de violation de règle de conception ainsi fourni peut indiquer la couche, la piste de signal et les coordonnées auxquelles la violation de règle de conception a été identifiée. Des techniques pour ajouter des indicateurs de violation de règle de 10 conception aux modèles d'encapsulation maintenus par les outils de conception
d'encapsulation classiques sont bien connues de l'homme de l'art.
Dans un mode de réalisation, l'exigence que les pistes de signal dans le modèle d'encapsulation 201 soit séparées l'une de l'autre par au moins le seuil de proximité PT est implémentée en utilisant une règle de conception (que l'on appellera 15 ici "règle de proximité") à l'intérieur des règles de conception 212. Dans un tel mode de réalisation, il peut ne pas être nécessaire que le vérificateur de proximité 202 soit implémenté comme composant externe distinct, puisque l'outil de conception d'encapsulation 104 peut appliquer automatiquement la règle de proximité. Par exemple, le procédé 450 (figure 4C) peut être implémenté comme règle de 20 conception. En outre, le procédé 400 illustré à la figure 400 peut être modifié pour être implémenté comme règle de conception en identifiant les voisins seulement de la piste de signal actuellement éditée à la place des voisins de toutes les pistes de signal spécifiées dans la liste des noms de réseaux de signaux 504. Une telle modification peut être réalisée en supprimant les étapes 402, 404, 414 et 418 et en effectuant le 25 procédé résultant sur la seule piste de signal actuellement éditée. Un tel procédé peut, par exemple, souligner sur l'écran d'affichage 112 les voisins, s'il y en a, de la piste
de signal actuellement indiquée.
Certains outils de conception d'encapsulation, tels que APD, assurent la vérification de règle de conception en "temps réel," en conformité avec laquelle les 30 indicateurs de violation de règle de conception 214 sont fournies (par exemple affichées) au concepteur d'encapsulation 116 à mesure que le concepteur d'encapsulation 116 conçoit le modèle d'encapsulation 201. A titre d'exemple, le concepteur d'encapsulation 116 peut placer une nouvelle piste de signal à l'intérieur d'une couche du modèle d'encapsulation 201 en utilisant une souris pour déplacer une représentation graphique de la piste de signal à un emplacement approprié à l'intérieur de la couche. L'outil de conception d'encapsulation 104 peut visuellement s indiquer au concepteur d'encapsulation 116 en temps réel si la nouvelle piste de signal est trop proche des pistes d(le signal existantes, tel qu'en affichant une marque rouge sur l'écran 112 lorsque le concepteur 116 déplace la nouvelle piste de signal
trop près d'une piste de signal existante.
La règle de proximité peut, par exemple, être implémentée comme règle de 10 conception en temps réel. Dans une telle implémentation, l'outil de conception d'encapsulation 104 peut vérifier en temps réel que la règle de proximité est satisfaite pour la piste de signal éditée par le concepteur d'encapsulation 116 et délivrer les indicateurs de violation de règle de conception appropriés 214 lorsque la règle de
proximité est violée.
Le vérificateur de proximité 202 peut mesurer la distance minimale entre les pistes de signal (figure 4A, étape 410) et identifier les points les plus proches sur deux pistes de signal (figure 4D, étape 470) selon l'une quelconque d'une grande variété de manières. Par exemple, le vérificateur de proximité 202 peut mesurer la distance minimale entre deux pistes de signal comme distance minimale entre les 20 centres des pistes de signal, la distance minimale entre les bords externes des pistes de signal ou la distance minimale entre le centre d'une piste de signal et le bord externe de l'autre piste de signal. Diverses techniques qui peuvent être utilisées pour identifier les coordonnées des pistes de signal et pour mesurer les distances entre ces coordonnées sont décrites de manière plus détaillée dans la demande de brevet 25 auquel on s'est référé précédemment intitulée "Verifying Proximity of Ground Metal
to Signal Traces in an Integrated Circuit".
Un ou plusieurs des avantages de l'invention sont décrits ci-après.
Un avantage des divers modes de réalisation de la présente invention est qu'ils automatisent la vérification des exigences d'espacement intersignaux dans une 30 conception de circuits intégrés, un processus qui est effectué de manière classique manuellement. La vérification de proximité automatisée permet qu'une telle vérification soit effectuée plus rapidement et plus fiablement qu'une vérification manuelle. En outre, les indicateurs de proximité 208 délivrés par le vérificateur de proximité 202 peuvent être des indicateurs visuels inclus dans la représentation 5 graphique 106 du modèle d'encapsulation 201. De tels indicateurs visuels peuvent montrer l'emplacement précis de toutes parties quelconques des pistes de signal qui ne satisfont pas les exigences d'espacement intersignaux, faisant, en conséquence, qu'il est plus facile pour le concepteur d'encapsulation 116 de positionner et de réacheminer de telles pistes de signal. En particulier, dans les modes de réalisation de 1 0 la présente invention dans lesquels la fonction effectuée par le vérificateur de proximité 202 est implémentée dans une règle de conception en temps réel, le vérificateur de proximité peut fournir des indications visuelles au concepteur d'encapsulation 116 des emplacements précis auxquels la piste de signal actuellement éditée est trop proche d'autres pistes de signal. empêchant, en conséquence, 15 potentiellement que des placements de piste de signal problématiques puissent se produire. En outre, les techniques décrites ici peuvent être implémentées en liaison avec la vérification de règle de conception en temps réel pour fournir dynamiquement au concepteur d'encapsulation 116 une contre réaction à mesure qu'il place et achemine les pistes de signal. Le concepteur d'encapsulation 116 peut, en 20 conséquence, assurer que la piste de signal qui est éditée satisfait toutes les exigences d'espacement inter-signaux minimales en réacheminant la piste de signal jusqu'à ce qu'aucune des violations de règle de conception ne soit indiquée. De telles techniques peuvent être employées pour permettre à la conception d'encapsulation de se produire plus rapidement et plus précisément que dans un système dans lequel la vérification 25 de proximité est seulement effectuée après que la conception d'encapsulation est créée. En outre, des systèmes classiques qui sont capables de détecter automatiquement les pistes de signal qui sont trop proches les unes des autres signalent typiquement des erreurs à chaque emplacement o des pistes de signal sont 30 trop proches les unes des autres. De tels systèmes peuvent signaler un nombre important d'erreurs si de nombreux points sur de nombreuses pistes de signal différentes sont trop proches les uns des autres. Le concepteur de circuit qui est confronté à un tel nombre important d'erreurs peut trouver qu'il est difficile de déterminer quelles erreurs sont les plus significatives et d'indiquer les régions de la conception de circuit demandant le plus d'attention. A l'opposé, certains modes de réalisation de la présente invention ne notifient au concepteur de circuit que les 5 points sur les pistes de signal qui sont les plus proches des autres pistes de signal, notifiant, en conséquence, efficacement au concepteur de circuit les zones de la conception de circuit qui demandent le plus d'attention. En éliminant par filtrage les erreurs les moins importantes et en ne notifiant au concepteur de circuit que les points sur les pistes de signal qui sont particulièrement proches les uns des autres, les 10 modes de réalisation de la présente invention peuvent permettre au concepteur de circuit de focaliser ses efforts sur les régions particulièrement problématiques de la
conception de circuit.
En outre, les systèmes classiques qui sont capables de détecter automatiquement les pistes de signal qui sont trop proches les unes des autres 15 signalent typiquement une erreur chaque fois que des points sur deux pistes de signal échouent à satisfaire l'exigence d'espacement intersignaux minimale, même si l'exigence d'espacement est seulement violée le long d'une longueur courte des pistes de signal. A l'opposé, comme décrit ci-dessus en se référant à la figure 4B, dans les modes de réalisation particuliers de la présente invention, deux pistes de signal sont 20 seulement identifiées comme voisines si elles sont à l'intérieur du seuil de proximité PT pour au moins une longueur de seuil LT. Il s'ensuit que le concepteur de circuit n'est pas averti des pistes de signal qui ne violent que l'exigence d'espacement intersignaux minimale sur une distance non significative et qui, en conséquence, ne demandent pas d'attention. Les techniques décrites ici ne notifient, en conséquence, 25 au concepteur de circuit que les pistes de signal qui demanderont le plus vraisemblablement une modification, économisant, en conséquence, du temps et des
efforts dans le processus de conception.
Un autre avantage des divers modes de réalisation de la présente invention est qu'ils procurent la vérification de règle de conception entre couches. Bien que les 30 outils de conception d'encapsulation existants incluent des règles de conception intégrées, de telles règles définissent typiquement des contraintes, telles qu'une distance inter- signaux minimale, qui sont seulement appliquées à l'intérieur d'une seule couche d'encapsulation. De telles règles de conception ne définissent pas, toutefois, des contraintes, telles que l'espacement inter-signaux minimal, qui sont appliquées à travers les multiples couches d'encapsulation. De manière similaire, les outils d'analyse d'interférence ou de diaphonie automatisés analysent typiquement la 5 diaphonie ou l'interférence à l'intérieur d'une seule couche d'encapsulation. Divers modes de réalisation de la présente invention procurent des moyens pour vérifier que les contraintes entre couches, telle que l'espacement inter-signaux minimal, sont satisfaits, libérant, en conséquence, le concepteur de l'encapsulation 116 de la
responsabilité d'effectuer manuellement une telle vérification.
Un autre avantage des techniques décrites ici est qu'elles peuvent être utilisées pour réduire la quantité de couplage entre les signaux dans une conception de circuit intégré. Il est indésirable, par exemple, que les signaux soient très rapprochés en raison du bruit entre couplage qu'une telle disposition introduit dans les signaux. Les techniques décrites ici peuvent être utilisées pour renforcer 15 l'exigence que chaque piste de signal soit suffisamment distante des autres pistes de signal dans le modèle d'encapsulation 201 et, en conséquence, pour réduire le bruit inter-couplage. Il conviendra de comprendre que bien que l'invention est décrite ci-dessus en termes de modes de réalisation particuliers, des modes de réalisation énoncés 20 précédemment sont seulement fournis à titre illustratif et ne limitent pas ou ne définissent pas la portée de l'invention. Divers autres modes de réalisation, incluant, mais pas limités à, ce qui suit sont également à l'intérieur de la portée des
revendications.
Bien que les dessins et la description présentes peuvent se référer à des 25 structures de données (par exemple, les informations de configuration 210 et les
indicateurs de proximité 208) comme ayant des structures logiques particulières, celles-ci sont seulement fournies à titre d'exemple et ne constituent pas des limitations de la présente invention. Au lieu de cela, des structures de données en variante pour représenter des informations équivalentes et pour exécuter des 30 fonctions équivalentes seront apparentes à l'homme de l'art. En outre, bien que diverses structures de données sont décrites comme étant implantables comme fichiers de texte, ceci n'est pas une limitation de la présente invention. Au lieu de cela, de telles structures de données peuvent être implémentées comme fichiers binaires, fichiers de bases de données ou en utilisant tout format lisible par ordinateur approprie. En outre, bien que le vérificateur de proximité 202 et les informations de 5 configuration 210 soient illustrés à la figure 2 comme entités distinctes, il conviendra d'apprécier qu'elles peuvent être combinées ou encore sous divisées. A titre d'exemple, le vérificateur de proximité 202 peut être codé en dur avec des
informations contenues dans les informations de configuration 210.
Les éléments et composants décrits ici peuvent, en outre, être divisés en 10 composants supplémentaires ou raccordés ensemble pour former moins de
composants pour exécuter les mêmes fonctions.
Les techniques décrites ci-dessus peuvent être implémentées, par exemple, en circuit, logiciel, microprogramme ou toute combinaison de ceux-ci. Le vérificateur de proximité 202 peut, par exemple, être implémenté comme programme 15 d'ordinateur. Les techniques décrites ci-dessus peuvent être implémentées dans un ou plusieurs programmes d'ordinateur s'exécutant sur un ordinateur programmable incluant un processeur, un support de mémorisation lisible par le processeur (incluant, par exemple, mémoire non rémanente et une mémoire rémanente et/ou des éléments de mémorisation) , au moins un dispositif d'entrée et au moins un dispositif 20 de sortie. Le code programme peut être appliqué à une entrée en utilisant le dispositif d'entrée pour exécuter les fonctions décrites et pour générer une sortie. La sortie peut
être délivrée à un ou plusieurs dispositifs de sortie.
Chaque programme d'ordinateur à l'intérieur de la portée des revendications
ci-dessous peut être implémenté dans tout langage de programmation quelconque, tel 25 que langage d'assemblage, langage machine, langage de programmation procédural de haut niveau ou langage de programmation orienté objet. Le langage de programmation peut, par exemple, être un langage de programmation compilé ou interprété. Chacun de ces programmes d'ordinateur peut être implémenté dans un produit 30 de programme d'ordinateur incorporé de manière tangible dans un dispositif de
mémorisation lisible par la machine pour exécution par un processeur d'ordinateur.
Les étapes du procédé de l'invention peuvent être exécutées par un processeur d'ordinateur exécutant un programme incorporé de manière tangible sur un support lisible par l'ordinateur pour exécuter les fonctions de l'invention en opérant sur une entrée et en générant une sortie. Les processeurs appropriés incluent, à titre d'exemple, les microprocesseurs à la fois généraux et spécialisés. En général, le 5 processeur reçoit les instructions et les données depuis une mémoire morte et/ou une mémoire vive. Des dispositifs de mémorisation appropriés pour incorporer de manière tangible les instructions de programme d'ordinateur incluent, par exemple, toutes les formes de mémoire rémanente, telles que les dispositifs mémoire semiconducteurs, incluant EPROM, EEPROM, et les dispositifs de mémoire flash; des 10 disques magnétiques tels des disques durs internes et des disques amovibles; des disques magnéto-optiques; et des CD-ROM. L'un quelconque de ce qui précède peut être supplémenté par, ou incorporé dans, des ASIC spécialement conçus (circuits intégrés spécifiques à l'application). Un ordinateur peut généralement également recevoir des programmes et des données depuis un support de mémorisation tel qu'un 15 disque interne (non représenté) ou un disque amovible. Ces éléments se trouveront également dans un ordinateur de bureau classique ou station de travail de même que d'autres ordinateurs appropriés pour exécuter des programmes d'ordinateur implémentant les procédés décrits ici, lesquels peuvent être utilisés en liaison avec toute machine à imprimer numérique quelconque ou machine de marquage, écran 20 d'affichage ou autre dispositif de sortie du type rame capable de produire des pixels couleurs ou échelle de gris sur du papier, film, écran d'affichage ou autre support de soitie. L'invention concerne un procédé mis en oeuvre par ordinateur dans lequel l'étape 416 comprend une étape de génération de compte-rendu identifiant le premier réseau de signaux et le second réseau de signaux, dans lequel le premier réseau de signaux comprend une première pluralité de réseaux de signaux et dans lequel les 5 étapes 404, 408, 410, 436, 444 et 416 sont effectuées pour chacun de la première
pluralité des réseaux de signaux.
L'invention concerne également un procédé mis en oeuvre par ordinateur dans lequel l'étape 404 comprend une étape d'identification du premier réseau de signaux dans une première couche de la conception de circuit intégré 201 et dans lequel 10 l'étape 408 comprend une étape d'identification du second réseau de signaux dans
une seconde couche de la conception de circuit intégré 201.
L'invention concerne en outre un système 200 mis en oeuvre par ordinateur dans lequel le moyen de notification 416 comprend un moyen pour générer un compte-rendu identifiant le premier réseau de signaux et le second réseau de signaux, 15 dans lequel le premier réseau de signaux est constitué d'une première pluralité de
réseaux de signaux, et dans lequel le système 200 comprend, en outre, un moyen 402 pour appliquer le premier moyen d'identification, le second moyen d'identification, le premier moyen de détermination, le moyen de mesure, le second moyen de détermination et le moyen de notification à chacun de la première pluralité d'un 20 réseau de signaux.
L'invention concerne également un système 200 dans lequel le premier moyen d'identification 400 comprend un moyen pour identifier le premier réseau de signaux dans une première couche de la conception du circuit intégré 201 et dans lequel le second moyen d'identification 408 comprend un moyen pour identifier le 25 second réseau de signaux dans une seconde couche de la conception de circuit
intégré 201.
L'invention concerne également un procédé 450 mis en oeuvre par ordinateur dans lequel l'étape 452 comprend une étape consistant à: identifier un premier réseau de signaux étant édité par l'utilisateur en 30 utilisant un outil de conception de circuit intégré (104); et dans lequel l'étape 468 comprend une étape consistant à:
notifier à l'utilisateur la pluralité des seconds réseaux de signaux tandis que l'utilisateur est en train d'éditer le premier réseau de signaux.
L'invention concerne également un système mis en oeuvre par ordinateur 200 comprenant: un premier moyen d'identification 452 pour identifier un premier réseau de signaux dans une conception de circuit intégré 201; un second moyen d'identification 456 pour identifier une pluralité de seconds réseaux de signaux dans une conception de circuit intégré 201; un moyen d'identification de sous-ensemble 466 pour identifier un 10 sous- ensemble de la pluralité des seconds réseaux de signaux qui sont les plus proches du premier réseau de signaux; et un moyen de notification 468 pour notifier à un utilisateur du sous-ensemble
la pluralité des seconds réseaux de signaux.
Claims (10)
1. Procédé mis en oeuvre par ordinateur (400) comprenant les étapes consistant à: (A) identifier (404) un premier réseau de signaux dans une conception de circuit intégré (201); (B) identifier (408) un second réseau de signaux dans la conception de circuit intégré (201); (C) déterminer (410) si au moins une partie du second réseau de signaux 10 est à l'intérieur d'une distance de seuil (508) du premier réseau de signaux; (D) s'il est déterminé qu'au moins une partie du second réseau de signaux est à l'intérieur de la distance de seuil (508) du premier réseau de signaux, mesurer (436) la longueur agrégée le long du premier réseau de signaux qui est à l'intérieur de la distance de seuil du second réseau de signaux; (E) déterminer (444) si la longueur mesurée est au moins aussi grande que la longueur de seuil (510); et (F) notifier (416) à un utilisateur que le second réseau de signaux est voisin du premier réseau de signaux s'il est déterminé que la longueur mesurée est au
moins aussi grande que la longueur de seuil (510).
2. Procédé (400) selon la revendication 1, dans lequel l'étape (F) comprend une étape de génération de compte-rendu identifiant le premier réseau de signaux et le second réseau de signaux, dans lequel le premier réseau de signaux comprend une première pluralité de réseaux de signaux et dans lequel les étapes (A)
à (F) sont effectuées pour chacun de la première pluralité des réseaux de signaux.
3. Procédé (400) selon la revendication 1, dans lequel l'étape (A) comprend une étape d'identification du premier réseau de signaux dans une première couche de la conception de circuit intégré (201) et dans lequel l'étape (B) comprend une étape d'identification du second réseau de signaux dans une seconde couche de la
conception de circuit intégré (201).
4. Système mis en oeuvre par ordinateur (200) comprenant: un premier moyen d'identification (400) pour identifier un premier réseau de signaux dans une conception de circuit intégré (201); un second moyen d'identification (408) pour identifier un second réseau de signaux dans la conception de circuit intégré (201); un premier moyen de détermination (410) pour déterminer si au moins une partie du second réseau de signaux est à l'intérieur d'une distance de seuil (508) du premier réseau de signaux; un moyen de mesure (436) pour mesurer la longueur agrégée le long du premier réseau de signaux qui est à l'intérieur de la distance de seuil (508) du second réseau de signaux s'il est déterminé qu'au moins une partie du second réseau de signaux est à l'intérieur de la distance de seuil du premier réseau de signaux; un second moyen de détermination (444) pour déterminer si la longueur mesurée est au moins aussi grande qu'une longueur de seuil (510); et un moyen de notification (416) pour notifier à un utilisateur que le second réseau de signaux est voisin du premier réseau de signaux s'il est déterminé
que la longueur mesurée est au moins aussi grande que la longueur de seuil (510).
5. Système selon la revendication 4, dans lequel le moyen de notification (416) comprend un moyen pour générer un compte-rendu identifiant le premier réseau de signaux et le second réseau de signaux, dans lequel le premier réseau de signaux est constitué d'une première pluralité de réseaux de signaux, et dans lequel le système (200) comprend, en outre, un moyen (402) pour appliquer le premier moyen 20 d'identification, le second moyen d'identification, le premier moyen de détermination, le moyen de mesure, le second moyen de détermination et le moyen
de notification à chacun de la première pluralité d'un réseau de signaux.
6. Système (200) selon la revendication 4, dans lequel le premier moyen d'identification (400) comprend un moyen pour identifier le premier réseau de 25 signaux dans une première couche de la conception du circuit intégré (201) et dans lequel le second moyen d'identification (408) comprend un moyen pour identifier le second réseau de signaux dans une seconde couche de la conception de circuit
intégré (201).
7. Procédé mis en oeuvre par ordinateur (450) comprenant les étapes 30 consistant à: (A) identifier (452) un premier réseau de signaux dans une conception de circuit intégré (201); (B) identifier (456) une pluralité de seconds réseaux de signaux dans la conception de circuit intégré (201); (C) identifier (466) un sous-ensemble de la pluralité des seconds réseaux de signaux qui sont les plus proches du premier réseau de signaux; et s (D) notifier (468) à un utilisateur du sous-ensemble la pluralité des
seconds réseaux de signaux.
8. Procédé (450) selon la revendication 7, dans lequel l'étape (A) comprend une étape consistant à: (A)(1) identifier un premier réseau de signaux étant édité par l'utilisateur en 1o utilisant un outil de conception de circuit intégré (104); et dans lequel l'étape (D) comprend une étape consistant à: (D) (1) notifier à l'utilisateur la pluralité des seconds réseaux de signaux
tandis que l'utilisateur est en train d'éditer le premier réseau de signaux.
9. Système mis en oeuvre par ordinateur (200) comprenant: un premier moyen d'identification (452) pour identifier un premier réseau de signaux dans une conception de circuit intégré (201); un second moyen d'identification (456) pour identifier une pluralité de seconds réseaux de signaux dans une conception de circuit intégré (201); un moyen d'identification de sous-ensemble (466) pour identifier un 20 sous- ensemble de la pluralité des seconds réseaux de signaux qui sont les plus proches du premier réseau de signaux; et
un moyen de notification (468) pour notifier à un utilisateur du sousensemble la pluralité des seconds réseaux de signaux.
10. Système (200) selon la revendication 9, dans lequel le premier moyen 25 d'identification (452) comprend: un moyen pour identifier un premier réseau de signaux étant édité par l'utilisateur en utilisant un outil de conception de circuit intégré (104); et dans lequel le moyen de notification (468) comprend: un moyen pour notifier à l'utilisateur la pluralité des seconds réseaux 30 de signaux tandis que l'utilisateur édite le premier réseau de signaux.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/199,331 US6807657B2 (en) | 2002-07-19 | 2002-07-19 | Inter-signal proximity verification in an integrated circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
FR2846494A1 true FR2846494A1 (fr) | 2004-04-30 |
Family
ID=30443278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0308718A Pending FR2846494A1 (fr) | 2002-07-19 | 2003-07-17 | Verification de proximite inter-signaux dans un circuit integre |
Country Status (2)
Country | Link |
---|---|
US (1) | US6807657B2 (fr) |
FR (1) | FR2846494A1 (fr) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938230B2 (en) * | 2003-02-19 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | System and method for evaluating signal trace discontinuities in a package design |
US9002497B2 (en) * | 2003-07-03 | 2015-04-07 | Kla-Tencor Technologies Corp. | Methods and systems for inspection of wafers and reticles using designer intent data |
US7100135B2 (en) * | 2004-06-18 | 2006-08-29 | Intel Corporation | Method and system to evaluate signal line spacing |
JP2006155120A (ja) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | 配線方法、プログラム及び装置 |
US7472368B2 (en) * | 2005-03-24 | 2008-12-30 | International Business Machines Corporation | Method for implementing vertically coupled noise control through a mesh plane in an electronic package design |
US20110061898A1 (en) * | 2009-09-15 | 2011-03-17 | International Business Machines Corporation | Reducing cross-talk in high speed ceramic packages using selectively-widened mesh |
US8566059B2 (en) * | 2009-12-08 | 2013-10-22 | International Business Machines Corporation | Insertion of faults in logic model used in simulation |
JP5974560B2 (ja) * | 2012-03-14 | 2016-08-23 | 富士通株式会社 | シールド検証装置、シールド検証プログラムおよびシールド検証方法 |
US10783311B2 (en) * | 2016-10-31 | 2020-09-22 | Synopsys, Inc. | DRC processing tool for early stage IC layout designs |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247455A (en) * | 1990-05-30 | 1993-09-21 | Sharp Kabushiki Kaisha | Method of verifying wiring layout |
JPH11272736A (ja) * | 1998-03-25 | 1999-10-08 | Toshiba Corp | 電源基板のレイアウト設計システムならびに同システムに適用されるデザインルールチェック方法およびパターン配線方法 |
EP1160696A2 (fr) * | 2000-06-02 | 2001-12-05 | Sony Corporation | Système pour vérifier la configuration de câblage de cartes à circuits imprimés |
US20020073390A1 (en) * | 2000-12-06 | 2002-06-13 | Steven Teig | Method and apparatus for using a diagonal line to measure an attribute of a bounding box of a net |
US20030084412A1 (en) * | 2001-10-31 | 2003-05-01 | Eisenberg Alan S. | Automated crosstalk identification system |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05120373A (ja) | 1991-10-30 | 1993-05-18 | Mitsubishi Electric Corp | 設計検証装置 |
US5481695A (en) | 1993-10-26 | 1996-01-02 | Cadence Design Systems, Inc. | System and method for estimating crosstalk between signal lines in a circuit |
US5559718A (en) | 1994-04-28 | 1996-09-24 | Cadence Design Systems, Inc. | System and method for model-based verification of local design rules |
US5510998A (en) | 1994-06-13 | 1996-04-23 | Cadence Design Systems, Inc. | System and method for generating component models |
US5590049A (en) | 1994-09-07 | 1996-12-31 | Cadence Design Systems, Inc. | Method and system for user programmable design verification for printed circuit boards and multichip modules |
US5729466A (en) | 1996-04-03 | 1998-03-17 | Cadence Design Systems, Inc. | Optimization multiple performance criteria by simulating the behavior of a constraint graph expanded by subgraphs derived from PWL convex cost functions |
US5663891A (en) | 1996-04-03 | 1997-09-02 | Cadence Design Systems, Inc. | Optimization of multiple performance criteria of integrated circuits by expanding a constraint graph with subgraphs derived from multiple PWL convex cost functions |
US5896300A (en) | 1996-08-30 | 1999-04-20 | Avant| Corporation | Methods, apparatus and computer program products for performing post-layout verification of microelectronic circuits by filtering timing error bounds for layout critical nets |
US5953518A (en) | 1997-03-14 | 1999-09-14 | Lsi Logic Corporation | Yield improvement techniques through layout optimization |
US6182258B1 (en) | 1997-06-03 | 2001-01-30 | Verisity Ltd. | Method and apparatus for test generation during circuit design |
US6286128B1 (en) | 1998-02-11 | 2001-09-04 | Monterey Design Systems, Inc. | Method for design optimization using logical and physical information |
US6363520B1 (en) * | 1998-06-16 | 2002-03-26 | Logicvision, Inc. | Method for testability analysis and test point insertion at the RT-level of a hardware development language (HDL) specification |
US6499129B1 (en) * | 1998-07-22 | 2002-12-24 | Circuit Semantics, Inc. | Method of estimating performance of integrated circuit designs |
HUP0301274A2 (en) | 1998-09-30 | 2003-08-28 | Cadence Design Systems | Block based design methodology |
US6366108B2 (en) * | 1998-12-01 | 2002-04-02 | Agilent Technologies, Inc. | System and method for detecting defects within an electrical circuit by analyzing quiescent current |
US6282693B1 (en) | 1998-12-16 | 2001-08-28 | Synopsys, Inc. | Non-linear optimization system and method for wire length and density within an automatic electronic circuit placer |
US6301693B1 (en) | 1998-12-16 | 2001-10-09 | Synopsys, Inc. | Non-linear optimization system and method for wire length and delay optimization for an automatic electric circuit placer |
US6324675B1 (en) | 1998-12-18 | 2001-11-27 | Synopsys, Inc. | Efficient iterative, gridless, cost-based fine router for computer controlled integrated circuit design |
US6311318B1 (en) | 1999-07-13 | 2001-10-30 | Vlsi Technology, Inc. | Design for test area optimization algorithm |
US6336206B1 (en) | 1999-09-27 | 2002-01-01 | Synopsys, Inc. | Method and apparatus for structural input/output matching for design verification |
US6629294B2 (en) | 2000-03-10 | 2003-09-30 | General Electric Company | Tool and method for improving the quality of board design and modeling |
US6425113B1 (en) | 2000-06-13 | 2002-07-23 | Leigh C. Anderson | Integrated verification and manufacturability tool |
-
2002
- 2002-07-19 US US10/199,331 patent/US6807657B2/en not_active Expired - Fee Related
-
2003
- 2003-07-17 FR FR0308718A patent/FR2846494A1/fr active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5247455A (en) * | 1990-05-30 | 1993-09-21 | Sharp Kabushiki Kaisha | Method of verifying wiring layout |
JPH11272736A (ja) * | 1998-03-25 | 1999-10-08 | Toshiba Corp | 電源基板のレイアウト設計システムならびに同システムに適用されるデザインルールチェック方法およびパターン配線方法 |
EP1160696A2 (fr) * | 2000-06-02 | 2001-12-05 | Sony Corporation | Système pour vérifier la configuration de câblage de cartes à circuits imprimés |
US20020073390A1 (en) * | 2000-12-06 | 2002-06-13 | Steven Teig | Method and apparatus for using a diagonal line to measure an attribute of a bounding box of a net |
US20030084412A1 (en) * | 2001-10-31 | 2003-05-01 | Eisenberg Alan S. | Automated crosstalk identification system |
Non-Patent Citations (1)
Title |
---|
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 01 31 January 2000 (2000-01-31) * |
Also Published As
Publication number | Publication date |
---|---|
US6807657B2 (en) | 2004-10-19 |
US20040015806A1 (en) | 2004-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8918753B2 (en) | Correlation of device manufacturing defect data with device electrical test data | |
US20030115563A1 (en) | Method for estimating peak crosstalk noise | |
US20140310670A1 (en) | Failure analysis and inline defect characterization | |
CN113410154B (zh) | 一种用于芯片的智能检测方法 | |
Liu et al. | Empirical study of driver responses during the yellow signal phase at six Maryland intersections | |
CN108919083A (zh) | 一种提高Serdes IP晶圆测试效率的方法 | |
FR2846494A1 (fr) | Verification de proximite inter-signaux dans un circuit integre | |
JP2003514475A (ja) | 論理特徴付けビヒクルを使用した製品歩留り予測のためのシステムおよび方法 | |
JP2004220447A (ja) | 故障検出率算出装置及び故障検出率算出方法 | |
TW200919246A (en) | Enhancing speed of simulation of an IC design while testing scan circuitry | |
US8826209B2 (en) | Automated inline defect characterization | |
EP2044542B1 (fr) | Procede d'analyse d'un assemblage de pieces par rapport a un critere de conception predetermine | |
US6922822B2 (en) | Verifying proximity of ground vias to signal vias in an integrated circuit | |
US20070283308A1 (en) | Enhanced OP3 algorithms for net cuts, net joins, and probe points for a digital design | |
Hapke et al. | Defect-oriented test: Effectiveness in high volume manufacturing | |
US20090254875A1 (en) | Proactive routing system and method | |
US10579774B2 (en) | Integrated circuit (IC) design systems and methods using single-pin imaginary devices | |
CN108073674B (zh) | 集成电路芯片中的***缺陷的故障标识数据库的早期开发 | |
US20030115526A1 (en) | Method of optimizing test development for digital circuits | |
EP1531409A2 (fr) | Procédé de vérification d'un circuit intégré | |
Kapur et al. | Fundamentals of timing information for test: How simple can we get? | |
FR3009092A1 (fr) | Procede automatise d'analyse d'une carte portant plusieurs composants de type fpga | |
JP4480947B2 (ja) | 製品検査内容設定方法、製品検査内容変更方法、製品検査内容設定システム及び製品検査内容変更システム | |
Agrawal et al. | Reuse-based optimization for prebond and post-bond testing of 3-D-stacked ICs | |
Jone et al. | An adaptive path selection method for delay testing |