• Aucun résultat trouvé

2.v métal-poly /(c poly - c métal ) (4.2)

4.5.3. Algorithme de Routage

4.5.3.5. Attribution de noeud Ambigu

Quand un noeud est routé, une attention particulière doit être portée à ce que l’ambiguïté soit bien résolue: dans certains transistors repliés “folded transistors”, une des zones du drain et de la source peut être plus difficile à connecter que d’autres. L’algorithme simple décrit ci-dessus peut conduire à un résultat non-optimal (Fig. 4.16).

Le problème peut être résolu en ajoutant un “coût d’accès” à la zone externe au drain et à la source. Ce coût permet au routeur de favoriser la zone interne. Le coût d’accès est posé comme le produit du coût linéaire du métal1 avec la hauteur du transistor. Une fois l’ambiguïté résolue, le coût d’accès est remis à zéro.

net a net a or b

net b or c

4.16a. Placement initial 4.16b 4.16c

Fig. 4.16 : La longueur minimum du noeud (a) conduit à un routage non-optimal du noeud (b) (4.16b). Si nous prenons en compte le coût d’accès, cela conduit à un

4 . 5 . 3 . 6 . N o n - r e c o u v r e m e n t

Avant le routage du noeud, des tuiles virtuelles sont temporairement insérées dans chaque couche de métal, au-dessus ou au-dessous de toutes les tuiles appartenant à un noeud ayant des contraintes de non-recouvrement avec le noeud routé. Les obstacles sont alors enlevés avant le routage du prochain noeud.

D’autre part, les noeuds ayant des contraintes de non-recouvrement sont routés en premier, dans le but de limiter les congestions.

4 . 5 . 3 . 7 . S y m é t r i e s

Le routeur peut manipuler des symétries, même imparfaites (Fig. 4.17). Si l’axe de symétrie est spécifié, une liste des correspondances (noeud 1, noeud 2) est extraite de la netlist et du placement du composant; c’est une liste de noeuds quasi-symétriques, c’est à dire partiellement symétriques (sur une partie du circuit). Dans ce cas, le routage se déroule en deux phases:

Dans la première phase, des obstacles virtuels symétriques aux obstacles réels (composant, fil de routage...) sont créés durant la description de la surface de routage. Chaque noeud est routé comme décrit ci-dessus dans la surface de routage réduite. Cependant, quand un fil est dessiné, un fil symétrique est dessiné si nécessaire et, dans tous les cas, un obstacle symétrique virtuel est créé, pour permettre à l’espace de routage de rester symétrique durant le routage. Lorsque les noeuds symétriques sont dessinés, des valeurs de propriétés spéciales sont attachées à des paires de segments symétriques dans le but d’informer en détails le compacteur sur les symétries qui doivent être maintenues. Si tous les noeuds n’ont pas été routés lors de la première phase, les objets virtuels sont enlevés, et le routage de tous les noeuds est complété, ignorant les symétries.

Notons que la description de l’occupation de la surface en termes d’attributs de tuiles facilite le placement et l’enlèvement des masques: l’enlèvement d’un masque consiste en la suppression de l’attribut correspondant de toutes les tuiles qui le possèdent.

(c) Routage avec obstacle virtuel.

Fig. 4.17 : Routage de géométrie quasi-symétrique. Dans la situation initiale (a), un obstacle non-symétrique sépare les composants de gauche. Le routage minimum amène à un résultat asymétrique (b); la présence de l’obstacle virtuel permet un routage symétrique (c).

4.6. C

OMPACTION

4.6.1. But

Le but du compacteur est de minimiser la taille du circuit (silicium) et de minimiser la longueur des pistes métalliques, en produisant un layout le plus compact possible et en prenant en compte les contraintes analogiques. En ce qui concerne la prise en compte des contraintes, nous supposons que les effets parasites inacceptables sur les performances du circuit sont évités.

Minimiser la taille du circuit aussi bien que la longueur des fils est clairement un problème d’optimisation qui peut être résolu par des algorithmes classiques tant qu’ils peuvent être traduit en une minimisation d’une fonction de coût significative. Une telle fonction de coût est généralement la somme pondérée de la taille du circuit et des longueurs des différentes branches de fils, c’est à dire:

minimiser (α.taille du circuit +β

.∑Θ

i

. (

longueur des segments)i )

sous contrainte de l’ensemble des règles de dessin et des contraintes analogiques

α et β étant les poids utilisés pour la taille et les longueurs, respectivement.

Θ

iétant la résistivité linéaire du segment de fil i .

Les contraintes du problème de minimisation résultent de la traduction des règles de dessin et des contraintes géométriques décrites ci-dessus. Ces contraintes sont d’égalités et d’inégalités linéaires entre les coordonnées des objets.

4.6.2. Méthodologie

a. Compaction mono-dimensionnelle

Pour maintenir la complexité du problème à un niveau acceptable, la compaction est accomplie en alternant les étapes de compaction à une seule dimension. A chaque étape qui compacte le circuit le long de la direction X ou Y, le graphe de contrainte est construit, à partir des relations de voisinage entre les couples d’objets qui peuvent être déplacés. La fonction de coût associée est alors minimisée amenant à de nouvelles positions des objets. Cette étape se répète alors le long de la direction orthogonale (Fig. 4.18).

point de départ

après compaction en X

après compaction en Y après compaction en X

après compaction en Y

Fig. 4.18 : Différents résultats des compactions XY et YX.

Etant donné que le problème de compaction tend à être très contraint, les règles diagonales peuvent être ignorées temporairement pour permettre plus de flexibilité dans une direction de compaction. Dans un tel cas, les règles de diagonales sont prises en compte dans l’autre direction (Fig. 4.19).

métal1 métal1 visibilité en X métal1-métal1 à mi-distance normallement utilisé en compaction X après compaction en Y métal1 métal1 après compaction en X sans règle de diagonale méal1 métal1

Fig. 4.19 : Relaxation des règles de diagonales.

b. Compaction Partielle

Comme le souhaitent souvent les concepteurs, le compacteur permet une compaction partielle de deux façons: il est possible soit de demander au compacteur de travailler sur une surface prédéfinie du circuit, soit de prendre en compte seulement les fils de routage pour la compaction. Dans le premier cas, tous les objets à l’intérieur de la surface choisie peuvent se déplacer en maintenant leurs connections avec les objets traversant la limite de la surface. Dans le second cas, les composants sont maintenus à des positions fixées et seule la minimisation des longueurs de fils est réalisée.

Documents relatifs