• Aucun résultat trouvé

Optimisation des circuits analogiques d’un réseau optique sur puce

Chapitre 3 : Algorithmes hybrides pour l’optimisation des circuits analogiques

3.3 Optimisation des circuits analogiques d’un réseau optique sur puce

Dans cette partie, nous avons deux objectifs principaux. Le premier objectif consiste à comparer les performances d’un algorithme hybride GA-SQP avec un algorithme locale SQP et un algorithme globale GA afin de voir l’impact du couplage entre deux algorithmes sur les résultats obtenus. Le deuxième objectif est de comparer deux algorithmes hybrides GA-SQP et PSO-SQP, soit deux al-gorithmes ayant un même algorithme de recherche locale SQP et des algo-rithmes de recherche globale différents GA et PSO. Pour réaliser cette étude comparative, nous avons optimisé deux circuits analogiques qui composent un réseau optique sur puce: un amplificateur de transimpédance TIA et un circuit de commande pour un laser. Nous présentons dans la suite la méthode d’évaluation des performances utilisée, une brève description du réseau optique sur puce qui sera suivie d’une présentation des spécifications de deux circuits. Ensuite, nous exposons les résultats des comparaisons.

3.3.1 Evaluation des performances automatique

Afin d’évaluer automatiquement les performances des deux circuits analogiques de l’ONoC sous SPECTRE [39], nous avons développé des scripts en langage Skill [88]. Ces scripts reçoivent comme entrée un jeu de paramètres contenant les valeurs des paramètres de conception et fournissent automatiquement en sor-tie les valeurs des performances correspondantes en simulant une ''netlist''.

3.3.2 Réseau optique sur puce

Un réseau optique sur puce ONoC est un système multi-domaine pour la com-munication à vitesse élevée à l'intérieur d'une seule puce (system-on-chip) [89]. Au lieu de transmettre des données à travers des routes métalliques, l'ONoC convertit les signaux électriques en impulsions lumineuses et les transmet via un réseau de guides d‘ondes optiques (λ-routeur). La figure 3.5 représente le schéma de l’ONoC.

Figure 3.5Réseau optique sur puce ONoC

L'ONoC est composé de blocs numériques pour le contrôle de flux des données et de blocs analogiques et optiques pour convertir et moduler les données. En-semble, ces blocs composent les interfaces de transmission et de réception avec lesquels les processeurs, les mémoires et les autres blocs de propriété intellec-tuelle IP (Intellectual Property) peuvent communiquer. Dans ce qui suit, on s'intéresse uniquement à la synthèse de composants analogiques de l'ONoC : l'amplificateur de transimpédance (TIA) utilisé pour la réception et le circuit de commande optique utilisé dans la transmission.

3.3.3 Spécifications du circuit de commande optique

Un circuit de commande est un circuit utilisé pour commander un laser. Ce cir-cuit, représenté dans le schéma de la figure 3.6, est composé par deux sources de courant. Une première polarise le laser et un deuxième module l’information à transmettre. Le laser est connecté à la porte Vph, le signal numérique à trans-mettre est à la porte Vout.

Figure 3.6 Circuit de commande optique (Le laser est connecté à la porte Vph, le signal numérique à transmettre à la porte Vout)

Le problème d’optimisation de ce circuit réside à minimiser la surface S des transistors tout en gardant les deux courants de polarisation Ibias et de modula-tion Imodulation à des niveaux requis par le laser. Les variables d'optimisation qui dictent le comportement électrique du circuit sont respectivement la largeur Wi et la longueur Li de chaque transistor Mi. La surface S est calculée par la somme du produit des largeurs et des longueurs de chaque transistor. Le pro-blème d’optimisation est formulé comme suit :

Minimiser S (X��⃗) Avec :

Ibias (X��⃗)= 100 µA Imodulation (X��⃗)= 1mA

Où X est le vecteur composé des paramètres de conception (W1, L1, W2, L2, W3, L3, W4 et L4). Les intervalles de variation des paramètres du vecteur 𝑋⃗ sont fixées comme le montre le tableau 3.1.

Tableau 3.1 Intervalles des paramètres du circuit de commande optique

Paramètres de conception Intervalles W1(µm) L1 (µm) W2 (µm) L2 (µm) W3 (µm) L3 (µm) W4 (µm) L 4 (µm) [0.45, 50] [0.35, 30] [0.45, 50] [0.35, 30] [0.45, 50] [0.35, 30] [0.45, 50] [0.35, 30]

3.3.4 Spécification du circuit TIA

L’amplificateur de transimpédance TIA est utilisé dans la chaine de réception de l'ONoC. La structure du circuit TIA avec l’architecture de son amplificateur interne est illustrée dans la figure 3.7.

Figure 3.7 Schéma électrique du circuit TIA

Ce circuit permet de convertir un photocourant généré par une photodiode en une tension. La photodiode est modélisée par une capacité Cd. Les performances du circuit TIA sont: le gain de transimpédance Zg, la bande passante BW, le facteur qualité Q, la puissance de consommation pwr et la surface des transis-tors S. La surface S est calculée par la somme du produit des largeurs Wi et des longueurs Li de chaque transistor Mi. Les expressions 3.1 et 3.2 représente res-pectivement les équations de S et de Q.

S = L1 × W1 + L2 × W2 + L3 × W3 (3.1)

Q = �RoutRf CdCl∗(1+Av)

1+CdCl∗(1+RoutRf ) [62] (3.2)

Où Rout et Av représentent respectivement la résistance de sortie et le gain de l'amplificateur interne. Le facteur qualité Q détermine la limite entre les ré-ponses fréquentielles sur et sous amorties, ce qui correspond à une bande pas-sante maximale sans résonance propre [62]. Le problème d’optimisation du cir-cuit consiste à maximiser Zg et BW. De plus, il existe trois contraintes à respecter. Deux contraintes d'inégalité limitant les budgets de consommation et de surface et une contrainte d'égalité sur le facteur de qualité Q. Le problème d’optimisation peut être défini comme suit:

Maximiser Zg (X��⃗) et BW (X��⃗) Q (X��⃗) = 0. 707

pwr (X��⃗) =< 4mW S (X��⃗) =< 17 µm2

Où 𝑋⃗ est le vecteur composé de paramètres de conception variables (W1, W2, W3, Rf, Cl, Cd). Les intervalles de variation des paramètres du vecteur 𝑋⃗ et les paramètres constants du circuit sont illustrés dans le tableau 3.2.

Tableau 3.2 Paramètres variables et constants du circuit TIA

Paramètres de conception variables Intervalles W1 (µm) W2(µm) W3(µm) Rf (kΩ) Cd (pF) Cl (pF) [1, 100] [1, 100] [1, 100] [1, 3] [0.1, 5] [0.1, 5] Paramètres de conception constants Valeurs

Li{i=1, 2, 3}(µm)

Vdd (V) 0.35 3.3

Il s’agit d’un problème d’optimisation multi-objectif. Pour l’écriture de la fonc-tion objectif, dite aussi la foncfonc-tion coût, nous transformons un problème multi-objectif en un problème mono-multi-objectif en utilisant la méthode d’agrégation li-néaire [90,91]. Elle réside à combiner, généralement d’une manière lili-néaire, les différentes fonctions objectives fi en une fonction unique f :

f = ∑𝑁 ai

𝑖=1 fi(x�⃗) (3.3)

Où les paramètres ai représentent les poids affectés à chaque objectif fi, x�⃗ est le vecteur de paramètres de la fonction fi et N désigne le nombre des objectives.

Cette méthode produit une seule solution. Sa mise en œuvre est simple et effi-cace.

3.5.5 Comparaison des algorithmes GA-SQP, GA et SQP

Dans cette partie, nous présentons les résultats de comparaison de l’algorithme hybride GA-SQP à l’algorithme de recherche locale SQP et l’algorithme de re-cherche globale GA dans le cadre de l’optimisation du circuit TIA. Afin d’effectuer une comparaison statistique, les algorithmes GA-SQP, SQP et GA ont été exécutés 52 fois. Les algorithmes GA-SQP et GA ne dépendent pas d'un point de départ, contrairement à l’algorithme SQP, qui nécessite à chaque fois un point initial (dimensionnement initial). Dans nos tests, chaque exécution de SQP est lancée avec un point de départ généré aléatoirement dans tout l’espace de recherche. Les paramètres principaux des GA-SQP, SQP et GA sont indi-qués dans le tableau 3.3.

Tableau 3.3 Valeurs des paramètres algorithmiques principaux

Algorithmes Paramètres Valeurs

GA-SQP Générations Population 10 5 Nombre d’itérations maximales SQP 50 SQP Nombre d’itérations maximales SQP 50 GA Générations Population 10 5

Toutes les comparaisons sont faites d’un point de vu algorithmique suivant la valeur de la fonction coût trouvé et non pas d’un point de vu électrique. La technologie utilisée pour la conception des circuits analogiques de l’ONoC est CMOS 0.35µm. Toutes les expériences ont été menées dans un environnement Linux sur une machine Intel Xeon (2.6 GHz, 8GB of RAM, 4 CPU).

Le tableau 3.4 présente les résultats de comparaison suivant le taux des solu-tions réussies. Il précise la fréquence d’obtention des résultats qui répondent aux spécifications sur 52 tests effectués. L'algorithme GA-SQP permet d'obtenir une solution réussie à 80 % alors que l'algorithme SQP permet de l'obtenir à 23 % uniquement. L’algorithme GA ne trouve pas de solution qui répond aux spé-cifications avec cinq générations. La présence d’une contrainte d’égalité Q=0.707 empêche l’algorithme GA à converger avec seulement cinq génération. Pour trouver une solution réussie avec GA, il faut augmenter le nombre des gé-nérations à une centaine. Cette opération présente l’inconvénient de nécessiter

une durée de temps assez importante. Nous rappelons que notre objectif est de trouver des dimensionnements optimaux dans un temps réduit. Dans la suite, nous avons écarté l’algorithme GA de la comparaison puisqu’il ne trouve pas de solutions réussies.

Tableau 3.4 Nombres et pourcentage des solutions réussies

Algorithmes Nombre

de tests solutions réussies Nombre de de réussite (%) Pourcentage

GA-SQP 52 42 80 %

SQP 52 12 23 %

GA 52 0 0

Le tableau 3.5 présente le temps de calcul minimum et le coût minimum des so-lutions réussies obtenues durant les tests d’optimisation. Le coût représente la valeur de la fonction objective minimale après l’optimisation puisqu’il s’agit d’un problème de minimisation. On observe que GA-SQP surpasse SQP en termes du coût minimum. Cela montre clairement que le GA offre un bon point de départ pour le GA-SQP au bout de 5 générations. De plus, le faible pourcen-tage de réussite de SQP montre qu’un point de départ généré aléatoirement mène souvent à une solution infaisable. Les résultats obtenus sont pertinents étant donné que la combinaison des deux algorithmes consomme moins de temps qu'un algorithme de recherche local seul. Ceci explique qu’avec cinq gé-nérations, l'algorithme génétique converge rapidement vers une zone promet-teuse proche de l’optimal permettant à l'algorithme SQP de trouver un résultat optimum avec moins d'effort. Ces résultats confirme que le couplage des algo-rithmes GA et SQP permet d’accélérer le temps d’optimisation et de converger vers des solutions optimales.

Tableau 3.5 Comparaison du coût minimum et du temps de calcul SQP GA-SQP

Coût minimum 1.94 1.68 Temps de calcul minimum 1866 1742

3.5.6 Comparaison des algorithmes hybrides GA-SQP et PSO-SQP

Après avoir comparé un algorithme hybride avec un algorithme de recherche lo-cale et globale, nous procédons à la comparaison entre deux algorithmes hy-brides GA-SQP et PSO-SQP. On note que l’algorithme PSO n’est pas implé-menté dans la bibliothèque des algorithmes d’optimisation de Matlab, nous l’avons donc transposé de Mathworks [92] vers Matlab. Nous avons réalisé 20 tests différents pour l’optimisation du circuit TIA et du circuit de commande optique. Les paramètres principaux des algorithmes sont les mêmes utilisés pré-cédemment. Le tableau 3.11, compare les résultats obtenus avec ces deux algo-rithmes hybrides. Cette comparaison statistique basée sur 20 essais met en avant la dispersion de valeurs de la fonction coût (minimale, moyenne et maximale) et le temps de calcul moyen. Elle a été inspirée de la comparaison de différents al-gorithmes d’optimisation dans le cadre de l’optimisation d’un problème de con-trôle de systèmes non linéaires effectuée dans [93,94].

Tableau 3.11Comparaison des résultats des algorithmes hybrides PSO-SQP et GA-SQP

Circuits TIA commande

op-tique Algorithmes

PSO-SQP SQP GA- PSO-SQP GA-SQP Coût Maximal 2.826 2.578 0.194 Moyen 2.815 2.554 0.174 0.148 0.147

Minimal 2.799 2.548 0.165 0.145 Temps de

cal-cul moyen

(se-condes) 1323 1963 3850 4613

Le tableau 3.12 représente un résultat d’optimisation du circuit de commande obtenu avec GA-SQP. Les dimensions des transistors de cette solution sont ré-pertoriées dans le tableau 3.13.

Tableau 3.12 Spécifications et résultat d’optimisation du circuit de commande optique

Performance S (µm²) IBias (µA) I modulation (mA) Spécifications Minimiser = 100 = 1 Résultats du GA-SQP 4.3559 100 1

Tableau 3.13 Valeurs des paramètres optimisés du circuit de commande

Paramètres Intervalles Valeurs optimisés W1 (µm) [0.45, 50] 9.37 L1 (µm) [0.35, 30] 0.35 W2 (µm) [0.45, 50] 1.9 L2 (µm) [0.35, 30] 0.35 W3 (µm) [0.45, 50] 0.45 L3 (µm) [0.35, 30] 0.523 W4 (µm) [0.45, 50] 0.5 L4 (µm) [0.35, 30] 0.35

Le tableau 3.14 représente un exemple de résultat d’optimisation du circuit TIA obtenu avec GA-SQP. Les dimensions des paramètres du circuit sont réperto-riées dans le tableau 3.15.

Tableau 3.14 Spécifications et résultats du circuit TIA

Performance Zg(Ω) BW(GHz) S (µm2) pwr (mW) Q Spécifications Maximiser Maximiser <17 < 4 = 0.707 Résultats du GA-SQP 966 0.713 15.78 3.79 0.707

Tableau 3.15 Valeurs des paramètres optimisés du circuit TIA

Paramètres Intervalles Valeurs optimisés

W1 (µm) [1, 100] 11.3 W2 (µm) [1, 100] 33.3 W3 (µm) [1, 100] 0.5 Rf (kΩ) [1, 3] 1.5 Cd (pF) [0.1, 5] 0.1 Cl (pF) [0.1, 5] 0.4

Ces résultats montrent que le temps moyen d’optimisation, dans le cas des deux circuits ainsi que des deux algorithmes hybrides, est raisonnable. S’agissant du coût minimal et du coût moyen, les résultats prouvent que la qualité de la solu-tion obtenue avec GA-SQP au niveau des deux circuits est meilleure que celle trouvée avec PSO-SQP. Cela permet de déduire qu’avec cinq générations, l’algorithme GA arrive à converger vers un bon point de départ pour l’algorithme SQP, ce qui est n’est pas le cas pour l’algorithme PSO. Ces résul-tats mettent en évidence l’importance du choix du type de l’algorithme de re-cherche globale dans l’établissement d’un algorithme hybride. Dans la partie

qui suit l’algorithme GA-SQP sera comparé avec un autre algorithme hybride GA-PS dans le cadre de l’optimisation des amplificateurs audio.