Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
OPTIMISED VOLTAGE-FREQUENCY CONTROL
Document Type and Number:
WIPO Patent Application WO/2013/093362
Kind Code:
A1
Abstract:
A method for controlling an electronic circuit, characterised in that it comprises a step of feedback control of a current voltage-frequency operating point relative to a reference curve of a voltage-frequency domain of operation associated with the circuit, to bring the circuit from a first operating point to a second operating point, said reference curve linking said first and second operating points in an optimal trajectory relative to a boundary of said domain.

Inventors:
ALBEA SANCHEZ CAROLINA (FR)
LESECQ SUZANNE (FR)
PUSCHINI PASCUAL DIEGO (FR)
Application Number:
PCT/FR2012/053029
Publication Date:
June 27, 2013
Filing Date:
December 20, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
G06F1/32
Foreign References:
US20020002689A12002-01-03
US20040057324A12004-03-25
US20070229054A12007-10-04
US20090158078A12009-06-18
US20100213919A12010-08-26
US7581120B12009-08-25
US20110083221A12011-04-07
Other References:
ZHU ET AL.: "Feedback EDF scheduling exploiting hardware-assisted asynchronous dynamic voltage scaling", ACM SIGPLAN NOTICES, vol. 40, no. 7, 2005, pages 212 - 222, XP058205443, DOI: doi:10.1145/1070891.1065939
WU ET AL.: "Formal online methods for voltage/frequency control in multiple clock domain microprocessors", ACM SIGARCH COMPUTER ARCHITECTURE NEWS, vol. 32, no. 5, 2004, pages 248 - 259
JUANG ET AL.: "Distributed, FormaI Energy Management of Chip Multiprocessors", ISLPED'05, 8 August 2005 (2005-08-08)
CHOI ET AL.: "Fine-grained dynamic voltage and frequency scaling for precise energy and performance tradeoff based on the ratio of off- chip access to on-chip computation times", IEEE TRANS. ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, vol. 24, no. 1, 2005, pages 18 - 28, XP011124148, DOI: doi:10.1109/TCAD.2004.839485
LU ET AL.: "Control-theoretic dynamic frequency and voltage scaling for multimedia workloads", PROC. OF THE INTERNATIONAL CONFERENCE ON COMPILERS, ARCHITECTURE, AND SYNTHESIS FOR EMBEDDED SYSTEMS, pages 156 - 163
HERBERT ET AL.: "Variation-aware dynamic voltage/frequency scaling", IEEE 15TH INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE (HPCA, 2009, pages 301 - 312, XP031435388
BEIGNÉ ET AL.: "An Innovative Local Adaptive Voltage Scaling Architecture for On-chip Variability Compensation", NEWCAS 2011, June 2011 (2011-06-01), pages 26 - 29
LESECQ ET AL.: "Low-Cost and Robust Control of a DFLL for Multi- Processor System-On-Chip", IFAC WORLD CONGRESS, 2011
REBAUD ET AL.: "Timing slack monitoring under process and environmental variations: Application to a DSP performance optimization", MICROELECTRONICS JOURNAL, 2011
OLFATI-SABER ET AL.: "Consensus and Cooperation in Networked Multi-Agent Systems", PROCEEDINGS OF THE IEEE, vol. 95, no. 1, January 2007 (2007-01-01), pages 215 - 233, XP011172479, DOI: doi:10.1109/JPROC.2006.887293
FAX ET AL.: "Information Flow and Cooperative Control of Vehicle Formations", IEEE TRANSACTIONS ON AUTOMATIC CONTROL, vol. 49, 9 September 2004 (2004-09-09), XP011118714, DOI: doi:10.1109/TAC.2004.834433
WANG ET AL.: "Consensus of High Order Linear Multi-agent Systems Using Output Error Feedback", JOINT 48TH IEEE CONFERENCE ON DECISION AND CONTROL AND 28TH CHINESE CONTROL CONFERENCE SHANGHAI, 16 December 2009 (2009-12-16)
WANG ET AL.: "Consensus Of Multi-Agent Linear Dynamic Systems", ASIAN JOURNAL OF CONTROL, vol. 10, no. 2, March 2008 (2008-03-01), pages 144 - 155
H. KHALIL: "Non-linear Systems", 2002, PRENTICE HALL
ALBEA-SANCHEZ ET AL.: "Control and Stability Analysis for the Vdd-hopping Mechanism", IEEE MSC, CONFERENCE ON CONTROL AND APPLICATIONS, 2009
LESECQ ET AL.: "Low-Cost and Robust Control of a DFLL for Multi-Processor System-On-Chip", 18TH IFAC WORLD CONGRESS, 28 August 2011 (2011-08-28)
Attorney, Agent or Firm:
SANTARELLI (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de contrôle d'un circuit électronique, caractérisé en ce qu'il comporte une étape d'asservissement (S174) d'un point de fonctionnement tension-fréquence (V, F) courant par rapport à une courbe de référence (T3, T4, T5) d'un domaine de fonctionnement tension-fréquence associé au circuit, pour amener le circuit d'un premier point de fonctionnement ((V1 , F1), (VV, F1)) à un deuxième point de fonctionnement (V2, F2), ladite courbe de référence reliant lesdits premier et deuxième points de fonctionnement selon une trajectoire optimale par rapport à une frontière dudit domaine.

2. Procédé selon la revendication 1 , dans lequel, pour une tension donnée du domaine de fonctionnement, la courbe de référence maximise la fréquence à l'intérieur dudit domaine.

3. Procédé selon l'une des revendications 1 et 2, comportant les étapes suivantes de :

- mesure d'une valeur courante de tension appliquée au circuit,

- mesure d'une valeur courante de fréquence appliquée au circuit,

- détermination d'une valeur de tension de référence correspondant à ladite valeur courante de fréquence sur ladite courbe de référence, et

- mise à jour de la tension appliquée au circuit à partir de la valeur de fréquence de référence déterminée. 4. Procédé selon l'une des revendications 1 et 2, comportant les étapes suivantes de :

- mesure d'une valeur courante de tension appliquée au circuit,

- mesure d'une valeur courante de fréquence appliquée au circuit,

- détermination d'une valeur de fréquence de référence correspondant à ladite valeur courante de tension sur ladite courbe de référence, et

- mise à jour de la fréquence appliquée au circuit à partir de la valeur de tension de référence déterminée. 5. Procédé selon les revendications 3 et 4, comportant une étape de mise à jour conjointe de la tension et de la fréquence appliquées au circuit. 6. Procédé selon l'une des revendications 3 à 5, comportant en outre une étape de limitation d'au moins l'une des variations de la tension et de la fréquence appliquées au circuit pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit.

7. Procédé selon l'une des revendications 3 à 6, comportant en outre une étape de correction d'au moins l'une des variations de la tension et de la fréquence appliquées au circuit pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit.

8. Procédé selon la revendication 7, dans lequel ladite correction est une correction de type Proportionnel-Intégral-Dérivé. 9. Procédé selon l'une des revendications précédentes, comportant en outre une étape de mise à l'échelle des signaux de mesure de tension et de fréquence afin de compenser une différence de temps de réponse à l'étape d'asservissement. 10. Procédé selon la revendication 9, dans lequel la mise à l'échelle comporte un sous-échantillonnage d'au moins l'un des signaux de mesure de tension et de fréquence.

1 . Procédé selon l'une des revendications précédentes, comportant en outre une étape de réglage final (S175) du point de fonctionnement du circuit pour l'amener du deuxième point de fonctionnement vers un point de fonctionnement final. 12. Procédé selon la revendication 11 , dans lequel ladite étape de réglage final comporte un réglage de la fréquence du circuit pour rapprocher le point de fonctionnement du circuit de ladite frontière.

13. Procédé selon l'une des revendications précédentes, comportant en outre une étape de réglage initial (S173) du point de fonctionnement du circuit pour l'amener d'un point de fonctionnement initial vers le premier point de fonctionnement.

14. Procédé selon la revendication 13, dans lequel ladite étape de réglage initial comporte un réglage de la tension du circuit pour éloigner le point de fonctionnement du circuit de ladite frontière. 15. Procédé selon l'une des revendications 12 à 14, comportant en outre une étape de découplage de l'application de la fréquence de l'application de la tension au circuit préalablement auxdites étapes de réglage.

16. Procédé selon l'une des revendications précédentes, comportant en outre une étape de sélection (S171) de ladite courbe de référence parmi un ensemble de courbes de référence stockées en fonction d'au moins un paramètre de fonctionnement du circuit.

17. Procédé selon l'une des revendications précédentes, comportant en outre une étape de calibrage (S170) pour définir ladite courbe de référence.

18. Procédé selon l'une des revendications précédentes, comportant en outre une étape de calibrage (S 170) pour modifier ladite courbe de référence. 19. Procédé selon la revendication 18, dans lequel la modification est effectuée en temps réel. 20. Procédé selon l'une des revendications 17 à 19 comportant en outre une étape de stockage de ladite courbe de référence.

21. Procédé selon l'une des revendications 17 à 20, dans lequel l'étape de calibrage est déclenchée en fonction d'au moins un paramètre de fonctionnement du circuit.

22. Procédé selon l'une des revendications 16 à 21 , dans lequel ledit au moins un paramètre est une température du circuit.

23. Procédé selon l'une des revendications 16 à 22, dans lequel ledit au moins un paramètre est un taux de fautes temporelles du circuit.

24. Procédé selon l'une des revendications 16 à 23, dans lequel ledit au moins un paramètre reflète un vieillissement du circuit.

25. Procédé selon l'une des revendications précédentes, dans lequel le circuit a une architecture globalement asynchrone et localement synchrone. 26. Programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé selon l'une des revendications 1 à 25, lorsqu'il est exécuté par un processeur d'un dispositif de contrôle d'un circuit électronique.

27. Dispositif de contrôle de circuit électronique comportant une unité de traitement (182) configurée pour mettre en œuvre un procédé selon l'une des revendications 1 à 25.

28. Circuit électronique de contrôle configuré pour mettre en œuvre un procédé selon l'une des revendications 1 à 25.

29. Circuit intégré configuré pour mettre en œuvre un procédé selon l'une des revendications 1 à 25. 30. Circuit selon l'une des revendications 28 et 29, comportant un module de contrôle (52, 609) pour asservir un point de fonctionnement tension-fréquence courant (V, F) d'un circuit contrôlé par rapport à une courbe de référence (T3, T4, T5) d'un domaine de fonctionnement tension-fréquence associé au circuit contrôlé, pour amener le circuit contrôlé d'un premier point de fonctionnement ((V1 , F1 , (V1\ F1)) à un deuxième point de fonctionnement (V2, F2), ladite courbe de référence reliant lesdits premier et deuxième points de fonctionnement selon une trajectoire optimale par rapport à une frontière dudit domaine.

31. Circuit selon la revendication 30, dans lequel, pour une tension donnée du domaine de fonctionnement, la courbe de référence maximise la fréquence à l'intérieur dudit domaine.

32. Circuit selon l'une des revendications 30 et 31 , comportant en outre:

- un premier module de mesure pour mesurer une valeur courante de tension appliquée circuit contrôlé, et

- un deuxième module de mesure pour mesurer une valeur courante de fréquence appliquée au circuit contrôlé,

et dans lequel le module de contrôle est en outre configuré pour déterminer une valeur de tension de référence correspondant à ladite valeur courante de fréquence sur ladite courbe de référence, et pour mettre à jour la tension appliquée au circuit contrôlé à partir de la valeur de fréquence de référence déterminée.

33. Circuit selon l'une des revendications 30 et 31 , comportant en outre:

- un premier module de mesure pour mesurer une valeur courante de la tension appliquée au circuit contrôlé, et

- un deuxième module de mesure pour mesurer une valeur courante de la fréquence appliquée au circuit contrôlé, et dans lequel le module de contrôle est en outre configuré pour déterminer une valeur de fréquence de référence correspondant à ladite valeur courante de tension sur ladite courbe de référence, et pour mettre à jour la fréquence appliquée au circuit à partir de la valeur de tension de référence déterminée.

34. Circuit selon les revendications 32 et 33, dans lequel le module de contrôle est en outre configuré pour mettre à jour conjointement la tension et la fréquence appliquées au circuit contrôlé. 35. Circuit selon l'une des revendications 32 à 34, comportant en outre au moins un module de limitation (604, 606) pour limiter au moins l'une des variations de la tension et de la fréquence appliquées au circuit contrôlé pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit contrôlé.

36. Circuit selon l'une des revendications 32 à 35, comportant en outre un module de correction (160, 161) pour corriger au moins l'une des variations de la tension et de la fréquence appliquées au circuit contrôlé pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit contrôlé.

37. Circuit selon la revendication 36, dans lequel ledit module de correction est de type Proportionnel-Intégral-Dérivé. 38. Circuit selon l'une des revendications 30 à 37, comportant en outre un module de mise à l'échelle (600) des signaux de mesure de tension et de fréquence afin de compenser une différence de temps de réponse à l'asservissement. 39. Circuit selon la revendication 38, dans lequel le module de mise à l'échelle comporte un sous-échantillonneur pour sous-échantillonner au moins l'un des signaux de mesure de tension et de fréquence. 40. Circuit selon l'une des revendications 30 à 39, dans lequel le module de contrôle est en outre configuré pour régler le point de fonctionnement du circuit contrôlé pour l'amener du deuxième point de fonctionnement vers un point de fonctionnement final.

41. Circuit selon la revendication 40, dans lequel le module de contrôle est configuré pour régler la fréquence du circuit contrôlé pour rapprocher le point de fonctionnement de ladite frontière.

42. Circuit selon l'une des revendications 30 à 41 , dans lequel le module de contrôle est en outre configuré pour régler le point de fonctionnement pour amener le circuit contrôlé d'un point de fonctionnement initial vers le premier point de fonctionnement.

43. Circuit selon la revendication 42, dans lequel le module de contrôle est configuré pour régler la tension du circuit contrôlé pour éloigner le point de fonctionnement de ladite frontière. 44. Circuit selon l'une des revendications 40 à 43, comportant en outre un module de déconnexion (608) configuré pour découpler l'application de la fréquence de l'application de la tension au circuit contrôlé préalablement auxdits réglages. 45. Circuit selon l'une des revendications 30 à 44, dans lequel le module de contrôle est en outre configuré pour sélectionner ladite courbe de référence parmi un ensemble de courbes de référence stockées en fonction d'au moins un paramètre de fonctionnement du circuit contrôlé. 46. Circuit selon l'une des revendications 30 à 45, comportant en outre un module de calibrage (607) configuré pour définir ladite courbe de référence lors d'un calibrage. 47. Circuit selon l'une des revendications 30 à 46, comportant en outre un module de calibrage (607) configuré pour modifier ladite courbe de référence lors d'un calibrage.

48. Circuit selon la revendication 47, dans lequel la modification est effectuée en temps réel.

49. Circuit selon l'une des revendications 46 à 48, dans lequel le calibrage est déclenché en fonction d'au moins un paramètre de fonctionnement du circuit contrôlé.

50. Circuit selon l'une des revendications 45 à 49, dans lequel le module de contrôle est en outre configuré pour stocker ladite courbe de référence.

51. Circuit selon l'une des revendications 45 à 50, dans lequel ledit au moins un paramètre est une température du circuit contrôlé.

52. Circuit selon l'une des revendications 45 à 51 , dans lequel ledit au moins un paramètre est un taux de fautes temporelles du circuit contrôlé.

53. Circuit selon l'une des revendications 45 à 52, dans lequel ledit au moins un paramètre reflète un vieillissement du circuit contrôlé.

54. Circuit selon l'une des revendications 30 à 53, dans lequel le circuit contrôlé a une architecture globalement asynchrone et localement synchrone.

Description:
CONTROLE TENSION-FREQUENCE OPTIMISE

La présente invention concerne le contrôle en tension et en fréquence de circuits électroniques (numériques ou mixtes analogiques- numériques) dans leur domaine de fonctionnement. Ce contrôle s'applique par exemple aux systèmes intégrés (SoC acronyme de « System-on-Chip » en anglais). Il peut également s'appliquer aux architectures GALS (acronyme de « Globalement Asynchrones et Localement Synchrones »).

Typiquement, un circuit électronique ou une partie de circuit électronique (communément appelée VFI pour « Voltage Frequency Island » en anglais), tous deux désignés par « circuit dans la suite, sont contrôlés en sorte à leur appliquer à chaque instant une tension et une fréquence dans leur domaine de fonctionnement et de manière à limiter la consommation énergétique tout en satisfaisant les contraintes de performance (nombre d'opérations par unité de temps). Pour ce faire, le circuit électronique contrôlé est associé à un « actionneur de tension » et à un « actionneur de fréquence » permettant d'appliquer la tension et la fréquence choisies. Ces deux actionneurs peuvent eux-mêmes être contrôlés par une boucle d'asservissement interne.

Un couple tension-fréquence du domaine de fonctionnement est communément appelé point de fonctionnement.

En pratique, il convient de garantir que pour la tension appliquée, la fréquence appliquée n'est pas trop grande afin de ne pas induire des « fautes temporelles » (« timing faults » en anglais).

De nombreuses références bibliographiques et brevets font état des approches dites « DVFS » (acronyme de « Dynamic Voltage Frequency Scaling » en anglais) pour contrôler la tension et la fréquence.

Dans le document US 201 1/0083221 la tension est augmentée dans un premier temps puis une demande de changement de fréquence est effectuée dans un second temps. La valeur de la tension a un lien direct avec la valeur de la fréquence changée. Une séquence de changements de tension et une séquence de changements de fréquence peuvent être appliquées. Un indicateur de changement de tension indique la fin de l'étape précédente. La transition pour passer d'une valeur haute à une valeur basse de tension (et vice-versa) et/ou d'une valeur haute à une valeur basse de fréquence (et vice- versa) n'est pas contrôlée.

Dans l'article Zhu et al. "Feedback EDF scheduling exploiting hardware-assisted asynchronous dynamic voltage scaling" ACM SIGPLAN Notices, vol 40:7, pp. 212-222, 2005, la tension est augmentée puis ensuite la fréquence. Le cas de la diminution de ces paramètres n'est pas traité. A l'instant de modification du point de fonctionnement tension-fréquence (V, F), la tension croit en rampe. Le temps nécessaire pour atteindre la tension minimale nécessaire à l'application de la nouvelle fréquence désirée sans faute temporelle est ensuite estimé. Lorsque ce temps est écoulé, la nouvelle fréquence est appliquée. Fréquence et tension sont donc contrôlées séquentiellement.

Dans l'article Wu et al. "Formai online methods for voltage/frequency control in multiple clock domain microprocessors" ACM SIGARCH Computer Architecture News, vol 32:5, pp. 248-259, 2004, le DVFS est abordé sous l'aspect d'un problème de réglage de la fréquence pour s'adapter aux variations de charge. Un schéma « parfait » de DVFS permet d'obtenir les performances souhaitées, sans consommation inutile. Un modèle de type file d'attente est utilisé pour modéliser le domaine de fréquence. Le modèle utilisé est non- linéaire : il est tout d'abord linéarisé puis une loi de contrôle linéaire, implémentée de manière matérielle. Ce document précise que la fréquence et la tension associée ne peuvent être modifiées instantanément. Pour le contrôle, un intervalle de contrôle lui-même constitué de N périodes d'échantillonnage est utilisé. La fréquence est déduite à partir du calcul de la capacité d'exécution, elle-même sortie d'un correcteur PI (Proportionnel-Intégral) numérique standard. En pratique, ce n'est donc pas la dynamique de la fréquence qui est contrôlée mais celle de la capacité d'exécution. Enfin, aucune information n'est donnée quant à la manière de modifier la tension par rapport à la fréquence et quant à la transition entre deux points de fonctionnement.

Le document Juang et al. « Distributed, Formai Energy Management of Chip Multiprocessors », ISLPED'05, 8-10 Août, 2005, San Diego, California, USA étend l'approche du document Wu et al. au cas d'un système multiprocesseurs. Une approche de contrôle distribué est mise en œuvre. Ici encore, aucune information sur les transitoires de fréquence et de tension n'est donnée, pas plus que sur le couplage de ces paramètres.

L'article Choi et al., "Fine-grained dynamic voltage and frequency scaling for précise energy and performance tradeoff based on the ratio of off- chip access to on-chip computation times". IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems, vol 24:1 , 18-28, 2005, présente aussi un DVFS mais sans aborder la question de la transition d'un point de fonctionnement à un autre.

Dans l'article Lu et al., "Control-theoretic dynamic frequency and voltage scaling for multimédia workloads" Proc. of the international conférence on compilers, architecture, and synthesis for embedded Systems, pp. 156-163, 2002, concernant une application multimédia, la tension V et la fréquence F d'un processeur sont adaptées en fonction du taux de débit de trame. En fait, la théorie du contrôle est utilisée pour adapter la fréquence F tout en garantissant le débit désiré (et donc le retard souhaité). En pratique, « un facteur de fréquence » (« frequency factor » dans le document) compris entre 0 et 1 , est adapté mais le contrôle est réalisé sur le retard moyen. Aucune information quant à la dynamique des transitoires de fréquence, n'est donnée. Il est seulement indiqué que le transitoire de fréquence (induit par une modification du facteur de fréquence) est court devant la durée de décodage d'une trame. Rien n'est indiqué sur les modifications de tension ni sur la manière dont la tension et la fréquence doivent être pilotées pour éviter les fautes temporelles.

L'article Herbert et al., "Variation-aware dynamic voltage/frequency scaling" IEEE 15th International Symposium on High Performance Computer Architecture (HPCA), 301-312, 2009 traite de DVFS (Dynamic Voltage and Frequency Scaling) mais il n'aborde pas les problèmes de transitoire qui apparaissent lors des modifications de tension et fréquence.

Les inventeurs ont constaté que dans l'art antérieur, la transition d'un passage d'un point de fonctionnement à un autre n'était pas contrôlée de manière optimale.

En particulier, les inventeurs ont constaté que les systèmes DVFS passent d'un point de fonctionnement à un autre de manière séquentielle en modifiant séparément tension et fréquence afin d'éviter les fautes de timing.

Ce passage séquentiel est illustré par la figure 1.

La figure 1 illustre un domaine de fonctionnement tension-fréquence par deux axes orthogonaux avec la tension V en abscisses et la fréquence F en ordonnées. La zone (ou domaine) fonctionnelle (ou de fonctionnement) du circuit considéré est délimitée par l'axe des abscisses (étant donné que la fréquence est une grandeur positive), une première frontière (Frontière 1) verticale représentant la tension maximale que peut supporter le domaine de fonctionnement tension-fréquence considéré du circuit et une deuxième frontière (Frontière 2) représentant pour chaque valeur de tension admissible par le circuit, la fréquence maximale autorisée (pour éviter les fautes temporelles).

La figure 1 illustre le passage d'un premier point de fonctionnement (V1 , F1) vers un deuxième point de fonctionnement (V2, F2). Selon l'art antérieur, ce passage se fait en deux temps en passant par un point de fonctionnement intermédiaire (V2, F1). Ce passage en deux temps évite de sortir de la zone fonctionnelle.

Néanmoins, durant la durée de transition (i.e. le passage du point (V1 , F1) au point (V2, F2)), la consommation dynamique du circuit n'est pas optimale.

En effet, la puissance dynamique Pdyn est proportionnelle à la fréquence F et est quadratique en tension V (Pdyn ce FV 2 ). Or durant toute la transition schématisée par les flèches T1 et T2, la fréquence pourrait être plus élevée. Certes plus de puissance serait consommée mais le circuit serait plus performant (en termes de nombre d'opérations par unité de temps). Les inventeurs ont donc mis à jour un besoin pour améliorer le contrôle tension-fréquence des circuits électroniques.

L'invention s'inscrit dans ce cadre.

Un premier aspect de l'invention concerne un procédé de contrôle d'un circuit électronique, caractérisé en ce qu'il comporte une étape d'asservissement d'un point de fonctionnement tension-fréquence courant par rapport à une courbe de référence d'un domaine de fonctionnement tension- fréquence associé au circuit, pour amener le circuit d'un premier point de fonctionnement à un deuxième point de fonctionnement, ladite courbe de référence reliant lesdits premier et deuxième points de fonctionnement selon une trajectoire optimale par rapport à une frontière dudit domaine.

Selon la présente invention, le terme « circuit » peut s'entendre comme un circuit dans son ensemble ou une partie de circuit (par exemple un « Voltage Frequency Island », VFI).

L'évolution de la tension d'alimentation et de la fréquence est contrôlée tout au long du changement de point de fonctionnement (V, F) en restant au plus proche d'une courbe de référence dans le domaine de fonctionnement qui permette de garantir une performance maximale pour le point de fonctionnement transitoire considéré (entre les premier et deuxième points) sans faute temporelle.

Il est ainsi possible de réaliser un contrôle des évolutions de la tension et de la fréquence de manière à obtenir un circuit fonctionnel tout au long de la phase de transition entre deux points de fonctionnement tout en se plaçant sur le point optimal de performance/consommation (c'est-à-dire performance optimale pour une consommation associée minimale).

Par exemple, le contrôle est conjoint. Par exemple encore, le circuit contrôlé a une architecture DVFS.

Selon des modes de réalisation il est possible de contrôler le circuit en sorte à ce qu'il suive de manière autonome une trajectoire optimale dans le plan V-F. Il est possible de garder le circuit contrôlé dans un état optimal en termes de performance maximale au point transitoire considéré et de consommation minimale en ce point.

Pour mettre en uvre l'asservissement, un couplage des « actionneurs » génériques de tension et fréquence peut être mis en œuvre.

Selon un exemple de définition de la courbe de référence, pour une tension donnée du domaine de fonctionnement, la courbe de référence maximise la fréquence à l'intérieur dudit domaine.

Ainsi, une « trajectoire optimale » permet en chaque point de maximiser la performance (en termes de nombre d'opérations par unité de temps) du point de fonctionnement transitoire sans violer les frontières du domaine de fonctionnement.

Le procédé peut en outre comporter les étapes suivantes de :

- mesure d'une valeur courante de tension appliquée au circuit, - mesure d'une valeur courante de fréquence appliquée au circuit,

- détermination d'une valeur de tension de référence correspondant à ladite valeur courante de fréquence sur ladite courbe de référence, et

- mise à jour de la tension appliquée au circuit à partir de la valeur de fréquence de référence déterminée.

Alternativement, ou en combinaison, le procédé peut en outre comporter les étapes suivantes de :

- mesure d'une valeur courante de tension appliquée au circuit,

- mesure d'une valeur courante de fréquence appliquée au circuit,

- détermination d'une valeur de fréquence de référence correspondant à ladite valeur courante de tension sur ladite courbe de référence, et

- mise à jour de la fréquence appliquée au circuit à partir de la valeur de tension de référence déterminée.

Ainsi, le circuit est contrôlé de manière à tenir compte simultanément de la fréquence et de la tension courantes.

La mise à jour de la tension et de la fréquence appliquées au circuit est par exemple exécutée de manière conjointe (ou simultanée). Cette mise à jour conjointe est par exemple mise en œuvre lorsque le circuit mettant en œuvre le contrôle agit à la fois sur un actionneur de tension et sur un actionneur de fréquence.

Le procédé peut en outre comporter une étape de limitation d'au moins l'une des variations de la tension et de la fréquence appliquées au circuit pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit.

Alternativement, ou en combinaison, le procédé peut en outre comporter une étape de correction d'au moins l'une des variations de la tension et de la fréquence appliquées au circuit pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit.

Par exemple, ladite correction est une correction de type Proportionnel-Intégral-Dérivé.

Le procédé peut en outre comporter une étape de mise à l'échelle des signaux de mesure de tension et de fréquence afin de compenser une différence de temps de réponse à l'étape d'asservissement.

Par exemple, la mise à l'échelle comporte un sous-échantillonnage d'au moins l'un des signaux de mesure de tension et de fréquence.

Le procédé peut en outre comporter une étape de réglage final du point de fonctionnement du circuit pour l'amener du deuxième point de fonctionnement vers un point de fonctionnement final.

Ainsi, il est possible d'optimiser au maximum le point de fonctionnement d'arrivée en le rapprochant le plus possible de la frontière.

Par exemple, l'étape de réglage final comporte un réglage de la fréquence du circuit pour rapprocher le point de fonctionnement du circuit de ladite frontière.

Alternativement ou en combinaison, le procédé peut en outre comporter une étape de réglage initial du point de fonctionnement du circuit pour l'amener d'un point de fonctionnement initial vers le premier point de fonctionnement. Ainsi, il est possible, par exemple, d'éloigner le point de fonctionnement de la frontière avant d'opérer l'asservissement. Cela peut permettre de mettre en oeuvre l'asservissement de manière plus sûre par rapport à la frontière en limitant les risques de dépassement. Le réglage initial peut également permettre de se placer sur une courbe de référence souhaitée.

Par exemple, l'étape de réglage initial comporte un réglage de la tension du circuit pour éloigner le point de fonctionnement du circuit de ladite frontière.

Le procédé peut en outre comporter une étape de découplage de l'application de la fréquence de l'application de la tension au circuit préalablement auxdites étapes de réglage.

Ainsi, il est possible de faire les réglages de manière indépendante, sans contrainte d'évolution couplée.

Le procédé peut en outre comporter une étape de sélection de ladite courbe de référence parmi un ensemble de courbes de référence stockées en fonction d'au moins un paramètre de fonctionnement du circuit.

Ainsi, il est possible de choisir la courbe de référence par rapport à laquelle l'asservissement est effectué selon divers critères.

Le procédé peut en outre comporter une étape de calibrage pour définir ladite courbe de référence.

Le procédé peut en outre comporter une étape de calibrage pour modifier ladite courbe de référence.

Ainsi, il est possible d'adapter l'asservissement en fonction des conditions courantes de fonctionnement du circuit contrôlé.

Par exemple, la modification est effectuée en temps réel.

Par exemple, le procédé comporte en outre une étape de stockage de ladite courbe.

L'étape de calibrage peut par exemple être déclenchée en fonction d'au moins un paramètre de fonctionnement du circuit tel que :

- la température du circuit,

- un taux de fautes temporelles du circuit,

- un vieillissement du circuit, - ou autre.

Le circuit peut par exemple avoir une architecture globalement asynchrone et localement synchrone.

Un deuxième aspect de l'invention concerne un programme d'ordinateur ainsi qu'un produit programme d'ordinateur et un support de stockage pour de tels programme et produit, permettant la mise en œuvre d'un procédé selon le premier aspect de l'invention, lorsque le programme est stocké dans une mémoire d'un dispositif de contrôle d'un circuit électronique et exécuté par un processeur d'un tel dispositif.

Un tel programme d'ordinateur peut par exemple être mis en œuvre par un calculateur implanté dans un circuit.

Un troisième aspect de l'invention concerne un dispositif de contrôle de circuit électronique comportant une unité de traitement configurée pour mettre en œuvre un procédé selon le premier aspect.

Un quatrième aspect de l'invention concerne un circuit électronique de contrôle configuré pour mettre en œuvre un procédé selon le premier aspect. Par exemple, un tel circuit est contrôlé (ou commandé) par un dispositif selon le troisième aspect.

Par exemple, le circuit est un circuit intégré.

Le circuit peut comporter un module de contrôle pour asservir un point de fonctionnement tension-fréquence courant d'un circuit contrôlé par rapport à une courbe de référence d'un domaine de fonctionnement tension- fréquence associé au circuit contrôlé, pour amener le circuit contrôlé d'un premier point de fonctionnement à un deuxième point de fonctionnement, ladite courbe de référence reliant lesdits premier et deuxième points de fonctionnement selon une trajectoire optimale par rapport à une frontière dudit domaine de fonctionnement.

Par exemple, une « trajectoire optimale » permet en chaque point de maximiser la performance (en termes de nombre d'opérations par unité de temps) du point de fonctionnement transitoire sans violer les frontières du domaine de fonctionnement. Selon une définition de la courbe de référence, pour une tension donnée du domaine de fonctionnement, la courbe de référence maximise la fréquence à l'intérieur dudit domaine de fonctionnement.

Le circuit peut en outre comporter :

- un premier module de mesure pour mesurer une valeur courante de tension appliquée au circuit contrôlé, et

- un deuxième module de mesure pour mesurer une valeur courante de fréquence appliquée au circuit contrôlé,

Le module de contrôle peut en outre être configuré pour déterminer une valeur de tension de référence correspondant à ladite valeur courante de fréquence sur ladite courbe de référence, et pour mettre à jour la tension appliquée au circuit contrôlé à partir de la valeur de fréquence de référence déterminée.

Le circuit peut en outre comporter :

- un premier module de mesure pour mesurer une valeur courante de la tension appliquée au circuit contrôlé, et

- un deuxième module de mesure pour mesurer une valeur courante de la fréquence appliquée au circuit contrôlé,

Le module de contrôle peut en outre être configuré pour déterminer une valeur de fréquence de référence correspondant à ladite valeur courante de tension sur ladite courbe de référence, et pour mettre à jour la fréquence appliquée au circuit contrôlé à partir de la valeur de tension de référence déterminée.

Le module de contrôle peut en outre être configuré pour mettre à jour conjointement la tension et la fréquence appliquées au circuit contrôlé.

Le circuit peut en outre comporter au moins un module de limitation pour limiter au moins l'une des variations de la tension et de la fréquence appliquées au circuit contrôlé pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit contrôlé.

Le circuit peut en outre comporter un module de correction pour corriger au moins l'une des variations de la tension et de la fréquence appliquées au circuit contrôlé pour empêcher d'amener le point de fonctionnement courant hors du domaine de fonctionnement tension-fréquence associé au circuit contrôlé.

Par exemple, ledit module de correction est de type Proportionnel- Intégral-Dérivé.

Le circuit peut en outre comporter un module de mise à l'échelle des signaux de mesure de tension et de fréquence afin de compenser une différence de temps de réponse à l'asservissement.

Par exemple, le module de mise à l'échelle comporte un sous- échantillonneur pour sous-échantillonner au moins l'un des signaux de mesure de tension et de fréquence.

Le module de contrôle peut en outre être configuré pour régler le point de fonctionnement du circuit contrôlé pour l'amener du deuxième point de fonctionnement vers un point de fonctionnement final.

Le module de contrôle peut en outre être configuré pour régler la fréquence du circuit contrôlé pour rapprocher le point de fonctionnement de ladite frontière.

Le module de contrôle peut en outre être configuré pour régler le point de fonctionnement pour amener le circuit contrôlé d'un point de fonctionnement initial vers le premier point de fonctionnement.

Le module de contrôle peut en outre être configuré pour régler la tension du circuit contrôlé pour éloigner le point de fonctionnement de ladite frontière.

Le circuit peut en outre comporter un module de déconnexion configuré pour découpler l'application de la fréquence de l'application de la tension au circuit contrôlé préalablement auxdits réglages.

Le module de contrôle peut en outre être configuré pour sélectionner ladite courbe de référence parmi un ensemble de courbes de référence stockées en fonction d'au moins un paramètre de fonctionnement du circuit contrôlé.

Le module de contrôle peut en outre comporter un module de calibrage configuré pour définir ladite courbe de référence lors d'un calibrage. Le module de contrôle peut en outre comporter un module de calibrage configuré pour modifier ladite courbe de référence lors d'un calibrage.

Par exemple, la modification est effectuée en temps réel.

Le module de contrôle peut en outre être configuré pour stocker ladite courbe.

Par exemple, le calibrage est déclenché en fonction d'au moins un paramètre de fonctionnement du circuit contrôlé.

Par exemple, ledit au moins un paramètre est une température du circuit contrôlé.

Par exemple, ledit au moins un paramètre est un taux de fautes temporelles du circuit contrôlé.

Par exemple, ledit au moins un paramètre reflète un vieillissement du circuit contrôlé.

Le paramètre peut être déterminé à partir de l'évolution de grandeurs caractéristiques du circuit. Par exemple, il peut s'agir d'analyser l'évolution de la fréquence d'oscillation d'un oscillateur intégré dans le circuit. D'autres paramètres peuvent être envisagés.

Par exemple, le circuit contrôlé a une architecture globalement asynchrone et localement synchrone.

Les objets selon les deuxième, troisième et quatrième aspects de l'invention procurent au moins les mêmes avantages que ceux procurés par le procédé selon le premier aspect. Le dispositif selon le troisième aspect peut comporter des moyens pour la mise en œuvre de caractéristiques optionnelles évoquées pour le premier aspect en termes de procédé.

D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la présente description détaillée qui suit, à titre d'exemple non limitatif, et des figures annexées parmi lesquelles, outre la figure 1 :

- La figure 2 illustre une trajectoire optimale ;

- La figure 3 illustre un réglage initial ;

- la figure 4 illustre un réglage final;

- la figure 5 illustre un schéma général de circuit selon des modes de réalisation ; - la figure 6 illustre une architecture de circuit selon le schéma de la figure 5 ;

- les figures 7 à 11 illustrent les calculs effectués lors de l'asservissement ;

- la figure 12 illustre des résultats de simulation ;

- les figures 13 à 16 illustrent des variantes d'architecture ;

- la figure 17 est un organigramme d'étapes mises en œuvre dans un procédé selon un mode de réalisation ; et

- la figure 18 illustre schématiquement un dispositif selon un mode de réalisation de l'invention.

Avant de présenter une architecture de circuit de contrôle pour la mise en oeuvre de modes de réalisation de l'invention, certains principes pouvant être mise en oeuvre sont présentés en référence aux figures 1 à 4.

Selon l'invention, le contrôle d'un circuit électronique est mis en œuvre en sorte à suivre une trajectoire optimale de fonctionnement du circuit pour passer d'un premier point de fonctionnement (V1 , F1) à un deuxième point de fonctionnement (V2, F2). L'invention permet d'utiliser les capacités maximales du circuit, en termes de fréquence, même durant les transitoires.

L'asservissement du point de fonctionnement tension-fréquence (V, F) du circuit par rapport à cette trajectoire optimale est illustré par la figure 2, qui reprend les notations de la figure 1.

La trajectoire suivie est représentée par la flèche T3 et se rapproche au maximum de la frontière (Frontière 2) délimitant les fréquences maximales admises pour un fonctionnement du circuit dans la zone de fonctionnement. Idéalement, la trajectoire optimale est confondue avec cette frontière. Toutefois, afin de tenir compte des erreurs de définition de cette frontière (lors du calibrage du circuit ou pour tenir compte des aléas inhérents à la production des composants du circuit), une marge de sécurité peut être prévue entre cette frontière et la trajectoire optimale.

Le suivi de la trajectoire optimale permet d'obtenir pour la phase transitoire des performances maximales du circuit (en termes de nombre 2012/053029

d'opérations par unité de temps) pour une consommation correspondante minimale, sans risquer de fautes temporelles.

Cette marge de sécurité peut dépendre de plusieurs paramètres, notamment la température du circuit, le vieillissement des composants, les variations lentes de la tension d'alimentation, la variabilité du processus de fabrication des composants ou autre.

Ainsi, il est possible de prévoir plusieurs courbes optimales selon ces paramètres.

Ces différentes courbes optimales peuvent par exemple être définies lors de phases de calibrage ou de recalibrage du circuit de contrôle. Cela peut permettre de s'adapter aux phénomènes évoqués ci-dessus.

Pour éviter de dépasser les frontières du domaine de fonctionnement (ou zone fonctionnelle dans la figure 2) lors de l'asservissement, par exemple lors de phases de fonctionnement critiques du circuit pour lesquelles un dépassement serait fatal, il peut être prévu de réaliser une étape préliminaire consistant à introduire la marge de sécurité comme illustré par la figure 3 qui reprend les notations de la figure 2.

Cette étape préliminaire consiste par exemple à amener le point de fonctionnement du circuit d'un point de fonctionnement courant (ou initial) (V1 , F1) vers un point de fonctionnement (Vf, F1) d'une courbe de référence T4 afin de l'éloigner de la frontière (Frontière 2). Ensuite, le point de fonctionnement du circuit est asservi entre les points (V1 \ F1) et (V2, F2).

Cette étape préliminaire peut servir à prendre une marge de sécurité par rapport à la frontière du domaine de fonctionnement. Elle peut également servir à se positionner sur une courbe de référence choisie en fonction de paramètres de fonctionnement du circuit tels que la température, le vieillissement ou autre.

Afin d'amener le circuit vers un point de fonctionnement le plus optimal possible ou pour écarter ce point de fonctionnement de la frontière, il peut être prévu une étape finale de réglage fin du point de fonctionnement, comme illustré par la figure 4 qui reprend les notations de la figure 2. Cette étape finale est mise en œuvre après l'asservissement du point de fonctionnement entre les points (V1 , F1) et (V2, F2).

Cette étape finale consiste par exemple à amener le circuit d'un point extrémal (V2, F2) d'une courbe de référence T5 vers un point de fonctionnement final en augmentant ou en diminuant finement la fréquence pour arriver vers un point de fonctionnement final qui est, au choix, plus proche de la frontière ou un peu plus éloigné de celle-ci.

D'une manière générale, lors de l'asservissement du point de fonctionnement ou des réglages initial et final, le contrôle de la tension peut être déconnecté du contrôle de la fréquence afin de pouvoir s'écarter quelque peu de la courbe de référence si nécessaire. Dans ce cas, le circuit de contrôle mettant en œuvre l'asservissement découple le contrôle de la tension de celui de la fréquence, jusqu'à arriver au point de fonctionnement voulu. Le contrôle peut alors s'effectuer selon des techniques connues comme par exemple selon le document Beigné et al. « An Innovative Local Adaptive Voltage Scaling Architecture for On-chip Variability Compensation" NEWCAS 201 1 , 26 - 29 Juin, 201 1 , Bordeaux, France.

Après avoir présenté quelques principes généraux pouvant être mis en œuvre pour mettre en œuvre l'invention, une architecture de circuit est présentée dans ce qui suit.

Tout d'abord, un schéma général d'un circuit de contrôle pour mettre en œuvre un asservissement du point de fonctionnement selon l'invention est représenté sur la figure 5.

Le circuit comporte un actionneur de tension 50 et un actionneur de fréquence 51 pour appliquer respectivement une tension VOUT et une fréquence FOUT au circuit électronique contrôlé, ou commandé (non représenté).

Ces actionneurs prennent respectivement en entrée une tension de référence V ref et une fréquence de référence F re t qui peuvent être corrigées par un module de contrôle 52. Ce module de contrôle peut agir sur l'un ou l'autre des actionneurs ou sur les deux à la fois (contrôle conjoint, ou couplage), via par exemple une modification des grandeurs de référence. Ainsi, le module 52 peut avoir deux sorties respectives vers chacun des actionneurs comme 9

représenté sur la figure 5 ou alors n'avoir qu'une seule sortie vers l'un de ces actionneurs (cette variante est présentée en fin de description en référence aux figures 14 et 15)

Le module de contrôle reçoit comme entrées la tension de sortie de l'actionneur de tension et la fréquence de sortie de l'actionneur de fréquence. Il peut également recevoir d'autres paramètres concernant le calibrage (définition des courbes de référence, déclenchement d'un tel calibrage, ou autre), le réglage du point de fonctionnement du circuit, la déconnexion du circuit de contrôle par rapport au circuit contrôlé durant le contrôle et/ou le calibrage ou autre.

Les dynamiques respectives des actionneurs, c'est-à-dire notamment leurs temps de réponse respectifs, peuvent être différentes (on parle alors de système multi-échelles). Ils peuvent être tous les deux régis par des lois de contrôle interne à temps continu ou à temps discret. Dans le cas où un actionneur est « à temps continu » et l'autre « à temps discret », on parle de système hybride.

La figure 6 illustre une architecture de circuit de contrôle qui reprend le schéma de la figure 5.

Ce circuit peut comporter un module de mise à l'échelle 600. Ce bloc peut permettre de compenser les dynamiques différentes des deux actionneurs de tension et de fréquence 601 et 602, lorsqu'un actionneur répond avec un transitoire très court par rapport au transitoire de l'autre actionneur. Dans l'exemple de la figure 6, il est considéré que l'actionneur de tension a une dynamique très rapide par rapport à la dynamique de l'actionneur de fréquence. Ainsi, ce module sous-échantillonne la sortie de l'actionneur de tension. Toutefois, un sous-échantillonnage, ou tout autre mécanisme de compensation, pourrait être appliqué à l'actionneur de fréquence.

Un exemple d'utilisation d'un tel module de mise à l'échelle est un contexte où l'un des actionneurs est continu (par exemple un variateur DC-DC pour l'actionneur de tension) et l'autre est discret, i.e. échantillonné (par exemple une DFLL, sigle de « Digital Frequency Locked-Loop », comme dans le document Lesecq et al., Low-Cost and Robust Control of a DFLL for Multi- Processor System-On-Chip, IFAC World Congress, 201 1 . Le mécanisme de mise à l'échelle sert dans ce cas à échantillonner la sortie de l'actionneur continu pour le rendre discret. L'implémentation du contrôle peut alors être entièrement discrète (c'est-à-dire échantillonnée) grâce au bloc de mise à l'échelle, permettant ainsi une implémentation purement numérique de la commande.

Un bloc de contrôle de tension 603 permet d'asservir la tension selon la courbe de référence. Ce bloc reçoit en entrée la tension de sortie de l'actionneur de tension (éventuellement mise à l'échelle) et la fréquence de sortie de l'actionneur de fréquence (éventuellement mise à l'échelle), et calcule deux sorties.

Une première sortie est un signal qui représente une variation de tension (AV) à appliquer au signal de référence (V re t) pour adapter la consigne donnée à l'actionneur de tension à celle donnée à l'actionneur de fréquence. Ce signal (AV) est généré à partir des sorties courantes des deux actionneurs (VOUT ou FOUT) et de la courbe de référence à suivre. Il s'agit de calculer la valeur AV comme la tension Vi que l'actionneur de tension devrait fournir en sortie selon la courbe de référence pour la fréquence de sortie courante mesurée (FOUT), moins la tension de sortie courante V 0 UT- Le calcul de la tension Vi utilisé pour obtenir AV est décrit ci-après en référence à la figure 7 qui reprend les notations de la figure 2 et à la figure 8.

La figure 7 illustre le choix de la valeur Vi qui correspond à la valeur de la fréquence courante sur la courbe de référence du circuit.

Comme illustré par la figure 7, la courbe de référence peut avoir une allure quelconque, toutefois, dans un souci de clarté de l'exposé, cette courbe est simplifiée dans la figure 8 dans laquelle elle est présentée par une ligne droite.

Dans ce cas, les valeurs Pi et Fo sont deux constantes qui définissent la droite, P, = M P étant l'inverse de la pente P de la droite et F 0 étant la valeur de la fréquence lorsque la droite intersecte l'axe des ordonnées.

Pour une valeur de fréquence de sortie mesurée FOUT, la valeur de tension Vi correspondante selon la courbe de la figure 8, est : 3029

0 )

La valeur de ΔΥ est la différence entre Vi et VQUT comme suit : r ' i ' oui oui (2)

Le signal généré Δ\/ est additionné à la tension de référence V ref afin de modifier cette dernière, qui devient alors la nouvelle référence V ref ' :

V re = V ref + AV (3)

De retour à la figure 6, la deuxième sortie du bloc 603 correspond à la limite inférieure de tension V m j n pour une fréquence de sortie mesuré FOUT (cette limite est désignée par « V min @Fout » dans la figure 6). Cette valeur représente la tension minimale que l'on peut appliquer à l'actionneur de tension sans sortir du domaine de fonctionnement du circuit délimité par les frontières. Elle est calculée comme suit : où Pj.sat et F 0iS at sont deux constantes qui définissent la droite limite, i.e. une courbe VFsat à ne pas dépasser. Dans un cas simple, cette courbe peut être confondue avec la courbe de référence, i.e. :

P = P

1 O.sal 1 0

Dans d'autres cas, la droite (ou courbe) limite se confond avec la frontière du domaine de fonctionnement. Il est également possible d'envisager une courbe limite qui tienne compte de paramètres du circuit pour laisser une marge de sécurité avec la frontière. La valeur de la limite est fournie à un bloc limiteur de tension 604 qui reçoit aussi en entrée la valeur de consigne V re f\ Ce bloc applique des saturations à la tension de référence V re f' pour obtenir V re f*.

L'entrée V re f' est limitée pour rester entre des valeurs V ma x et V min . La valeur de tension maximale (V max ) dépend de la technologie et elle n'est pas représentée dans le schéma de la figure 6. La valeur V m i n correspond à la tension minimale fonctionnelle pour la fréquence mesurée F O UT- Elle assure que la tension de référence (Vref*) appliquée à l'actionneur de tension ne fasse pas entrer le système dans la zone non-fonctionnelle (c'est-à-dire hors du domaine de fonctionnement) comme représenté sur la figure 9.

De retour à la figure 6, un bloc de contrôle de fréquence 605 permet d'asservir la fréquence selon la courbe de référence. Ce bloc reçoit en entrée la tension de sortie de l'actionneur de tension (éventuellement mise à l'échelle) et la fréquence de sortie de l'actionneur de fréquence (éventuellement mise à l'échelle), et calcule deux sorties.

La première sortie correspond à un signal de variation de fréquence (AF) à appliquer au signal de référence (F re f) pour adapter l'allure de l'actionneur de fréquence à celle de l'actionneur de tension. Ce signal (AF) est généré à partir de la sortie courante des deux actionneurs (VOUT, FOUT) et de la courbe de référence à suivre. Il s'agit de calculer la valeur AF comme la fréquence Fi que l'actionneur de fréquence devrait fournir selon la courbe de référence pour la tension de sortie courante mesurée (VOUT), moins la fréquence de sortie F 0 UT- La valeur Fi utilisée pour obtenir AF est illustrée par la figure 10.

En reprenant le modèle décrit en référence à la figure 8, la courbe de référence VFref est une ligne droite décrite par :

F, = F 0 + P - V mt (6)

La valeur AF est calculée comme la différence entre Fi et F c comme suit : 2 053029

AF = F l - F mt = F 0 + P - V oul ~ F oul (7)

La deuxième sortie du bloc de contrôle de fréquence correspond à la limite supérieure de fréquence F max pour une tension de sortie mesurée VOUT (désignée par « F m ax@V 0Ut » dans la figure 6). Cette valeur représente la fréquence maximale que l'on peut appliquer à l'actionneur de fréquence sans sortir du domaine de fonctionnement du circuit (zone fonctionnelle). Elle est calculée comme suit : où Psat et F 0 ,sat sont deux constantes qui définissent la droite (courbe) limite VFsat à ne pas dépasser. Dans un cas simple, cette courbe peut être égale à la courbe de référence VFref, i.e. : Dans d'autres cas, la droite (ou courbe) limite se confond avec la frontière du domaine de fonctionnement. Il est également possible d'envisager une courbe limite qui tienne compte de paramètres du circuit pour laisser une marge de sécurité avec la frontière.

La valeur de la limite est fournie à un bloc limiteur de fréquence 606 qui reçoit aussi en entrée la valeur de consigne F re f' . Ce bloc applique des limites à la fréquence de référence F re f' pour obtenir F re f*-

L'entrée F re f' est limitée pour rester entre F max et F min . La valeur de fréquence minimale (F min ) dépend de l'actionneur présent dans le système. Elle peut être considérée comme égale à zéro (F mi n=0) et elle n'est pas représentée dans la figure 6. La valeur F ma x correspond à la fréquence maximale fonctionnelle pour la tension mesurée V 0 UT- Au-delà de cette limite, le circuit contrôlé (système logique) peut produire des fautes temporelles (ou logiques). Elle assure que la référence de fréquence (F re t*) appliquée à l'actionneur de 9

fréquence n'amènera pas déplacer le système hors du domaine de fonctionnement comme illustré sur la figure 11.

De retour à la figure 6 un bloc de calibrage 607 permet de choisir/modifier la courbe de référence qui doit être suivie dans le plan V-F afin de garantir un point de fonctionnement optimal (i.e. performance maximale, pour une consommation minimale de puissance) tout au long de la transition d'un point de fonctionnement (F1 ,V1) à un autre (F2,V2) et inversement.

Modifier la courbe de référence (par exemple le couple (P, F0) dans le cas d'une droite) permet de s'adapter notamment à la variabilité de processus de fabrication, à des variations lentes de la tension d'alimentation ou à des variations de la température du circuit.

Par exemple, une mesure de la température T du circuit permet de décider d'activer le mécanisme de calibrage. En fonction de la température relevée, la courbe de référence est modifiée. Les différentes courbes de référence sont par exemple mises en mémoire dans une table LUT (sigle de « Look-up table » en anglais).

Le mécanisme de calibrage peut permettre de modifier en cours de fonctionnement la courbe de référence afin d'avoir une marge de sécurité par rapport à la frontière.

Le module de calibrage peut en outre contenir une fonction qui lance de manière automatique l'identification de la courbe de référence et les paramètres de la mise à l'échelle. Ce déclenchement peut être piloté par des informations externes, par exemple la température, le nombre de fautes temporelles du circuit contrôlé ou autre. Un tel pilotage peut être mis en œuvre conformément au document Rebaud et al., « Timing slack monitoring under process and environmental variations: Application to a DSP performance optimization ». Microelectronics Journal 2011).

En ce qui concerne le mécanisme de calibrage à proprement parler, la personne du métier peut se référer à des mécanismes connus qui ne font pas l'objet de la présente description.

Un module 608 de déconnection permet de découpler le contrôle de la tension du contrôle de la fréquence, par exemple pour permettre un réglage de la fréquence et/ou de la tension, quand le système est suffisamment proche du point de fonctionnement désiré (cf. réglage final évoqué ci-avant). Lorsque la déconnection est mise en œuvre, chaque actionneur a un comportement indépendant. On peut alors prendre quelques libertés par rapport à la courbe de référence pour choisir le point de fonctionnement final. La tension et la fréquence sont modifiées dans un ordre adéquat afin d'éviter les fautes temporelles comme dans un système AVFS (sigle anglais pour « Adaptive Voltage and Frequency scaling) classique.

La déconnexion peut également permettre de se ramener à un schéma traditionnel de contrôle DVFS, sous contrainte de garantir un ordre adéquat de modification de la tension et de la fréquence afin d'éviter les fautes temporelles.

On peut noter que l'ensemble 609 formé par les modules 600, 603 et 605 peut former un module de contrôle comme évoqué en référence à la figure 5.

Le contrôle tel qu'évoqué ci-avant peut être implémenté de manière numérique avec un dispositif matériel contrôlé par un programme d'ordinateur.

Toutefois, le contrôle peut être envisagé dans un contexte analogique.

Dans de tels contextes, le contrôle peut être sensible aux variations de température. En effet, les différents composants mis en œuvre pour implémenter le contrôle pourraient être sensibles à la température. Le bloc de calibrage 607 décrit en référence à la figure 6 peut alors être configuré pour recaler la courbe de référence afin que le contrôle appliqué soit celui désiré.

La température peut modifier le comportement des actionneurs en tension et en fréquence, notamment leur dynamique. Le bloc de calibrage peut être utilisé pour compenser cette différence de dynamique en recalant le mécanisme de mise à l'échelle.

Après avoir présenté une architecture de circuit, le contrôle tension fréquence est abordé du point de vue automatique. Des résultats de simulation sont ensuite présentés. D'une manière générale, lorsque la tension et la fréquence sont contrôlées de manière conjointe, il est possible de faire une gestion autonome et stable (au sens de la théorie du contrôle) des deux signaux de tension et fréquence. La gestion est autonome en ce que le système évolue d'un point de fonctionnement à un autre point de fonctionnement, en suivant la courbe de référence désirée, et en changeant les valeurs des références de la tension et la fréquence.

Le contrôle conjoint peut reposer sur la théorie du contrôle par consensus tel que résumé par exemple dans le document Olfati-Saber et al., "Consensus and Coopération in Networked Multi-Agent Systems", Proceedings of the IEEE, Vol. 95:1 , pp. 215-233, Janvier 2007.

Selon cette théorie, les systèmes à contrôler par consensus sont représentés par des agents présentant la dynamique

x, = w, i = \ n

dans un réseau. L'objectif est d'atteindre un consensus via des communications locales avec les voisins sur un graphe. « Atteindre un consensus » signifie qu'asymptotiquement, chaque agent converge vers un point commun, i.e. = * 2 =■·· = « . En pratique la plupart des travaux de la littérature considèrent que le consensus à l'équilibre est une constante ou une moyenne pondérée des conditions initiales.

Selon des travaux de la littérature, les agents peuvent avoir des modèles dynamiques.

En fait, le problème considéré ici est plus général puisque les agents doivent suivre une référence désirée. En outre leur modèle dynamique n'est pas un simple intégrateur. Ainsi, on peut utiliser les résultats fournis par le document Fax et al., « Information Flow and Coopérative Control of Vehicle

Formations », IEEE Transactions on Automatic Control, Vol. 49:9, Septembre

2004.

Dans le cas où les actionneurs ont des dynamiques de nature différentes, il faut réaliser un changement de variable (ce qui en pratique est fait dans les calculs de AV et AF ). Ainsi, chaque système (actionneur de fréquence ou actionneur de tension) peut être modélisé par x, = P A x t + P B u,

y, = Pc * t avec i = 1 ou i = 2. Le consensus est dit asymptotiquement réalisable, selon le document Wang et al., « Consensus of High Order Linear Multi-agent Systems Using Output Error Feedback », Joint 48th IEEE Conférence on Décision and Control and 28th Chinese Control Conférence

Shanghai, P.R. China, 16-18 Décembre 2009, si 0 (définition 3 du document précité, adapté à deux agents).

Une rétroaction, est alors construite, sur l'erreur entre états x , , comme dans le document Wang et al., « Consensus Of Multi-Agent Linear Dynamic Systems », Asian Journal of Control, Vol. 10:2, pp. 144 - 155, Mars 2008 (ce qui revient de facto à faire un contrôle par retour « d'erreur d'état », et non par retour « d'état » comme c'est classiquement le cas) :

w, = κ( χ ί - Xj ) (j C j encore adapté à deux agents).

La matric 'interconnexion des agents est ensuite définie selon

Compte tenu de ses propriétés particulières (valeurs propres égales respectivement à 0 et 2) et du fait que le graphe d'interconnexion est complet (i.e. chaque agent/système est connecté à l'autre), la stabilisation du système global revient en pratique à stabiliser par un retour d'erreur M , = κ { χ ι ~ X K < 0 l'un des systèmes évoqués dans le document Fax et al. précité.

C'est la solution qui s'applique, compte tenu de la correction appliquée (c'est-à-dire le contrôle particulier appliqué), cf. équations (2) ou (7) et la figure 6. Les valeurs de référence et le décalage (offset) F 0 introduits précédemment ne changent pas le raisonnement quant à la stabilité du système avec contrôle par consensus (dans la littérature, l'offset est dénommé « biais »). En outre, il est possible de régler la dynamique (qui a un lien direct avec la rapidité avec laquelle l'erreur entre la référence et la sortie obtenue tend vers zéro) en agissant sur le coefficient K .

L'étude menée ici avec l'approche de contrôle par consensus, compte tenu du système considéré, peut se ramener à une simple étude d'un système multivariable contrôlé « par retour par erreur d'état » (et non par retour d'état comme c'est traditionnellement le cas). Il faut alors régler le contrôleur (par retour d'état) afin de garantir la stabilité (et la robustesse) du système multivariable contrôlé. La stabilité du système multivariable rebouclé est garantie par la position des pôles du système rebouclé

Enfin, l'étude de stabilité peut également être menée à partir de la théorie de Lyapunov présentée dans le document H. Khalil, « Non-linear Systems » Prentice Hall, 2002.

La figure 12 présente des résultats de simulation dans un environnement MATLAB® /Simulink®, d'un système comportant :

- un actionneur de tension réalisé avec un système V dc i-hopping selon le document Albea-Sanchez et al., « Control and Stability Analysis for the Vdd-hopping Mechanism », IEEE MSC, Conférence on Control and Applications, 2009, et

- un actionneur de fréquence réalisé avec une boucle à verrouillage de fréquence selon le document Lesecq et al., « Low-Cost and Robust Control of a DFLL for Multi-Processor System-On-Chip », 8th IFAC World Congress, 28 août - 2 septembre 201 . Le contrôle conjoint tel que présenté ci-avant est implémenté. La courbe de référence est illustrée dans les graphes tension-fréquence (e) et (f). Les autres graphes de la figure 12 montrent de manière générale l'évolution des signaux appliqués aux actionneurs de tension et fréquence et les sorties

Contrairement aux approches classiques de DVFS, la tension V et la fréquence F évoluent conjointement, et non l'une après l'autre, sans dépasser la courbe de référence. Après avoir présentés les résultats de simulation, des variantes de réalisation sont présentées.

La présente invention peut s'appliquer à tout type d'actionneur de tension V et d'actionneur de fréquence F dans un domaine de fonctionnement tension-fréquence dans le contexte de la diminution de la puissance consommée sans perte de performance.

Plusieurs situations impliquant un (re-)calibrage de la courbe de référence ou du mécanisme de mise à l'échelle peuvent être considérés.

Ainsi, comme évoqué plus haut, la décision de recalibrage de la courbe peut être prise à partir d'une mesure de température, de la détection d'un défaut temporel, ou autre.

Une procédure externe peut également lancer la phase de recalibrage, par exemple lorsque le comportement attendu n'est pas constaté, ou que le matériel a vieilli.

Dans une réalisation de l'invention représentée dans la figure 13, les blocs de limitation 604 et 605 de la figure 6 sont omis. Ce type de solution peut être mis en œuvre dans les applications pour lesquels des dépassements (de la courbe de référence) peuvent être tolérés.

Selon d'autres exemples de réalisation, une seule branche de contrôle est mise en œuvre. Il n'y a donc pas de contrôle conjoint.

La figure 14 représente l'exemple d'un contrôle unique sur l'actionneur de fréquence pour asservir le point de fonctionnement du circuit contrôlé sur la courbe de référence.

Du point de vue de la théorie du contrôle par consensus, cela se traduit par un graphe de connexion directionnel.

La figure 15 représente l'exemple d'un contrôle unique sur l'actionneur de tension pour asservir le point de fonctionnement du circuit contrôlé sur la courbe de référence.

Dans une autre variante de l'invention, le signal de sortie des blocs de contrôle de tension et de fréquence 603 et 605 (relatifs au calcul de AV et de AF), peut être connecté à un filtre correcteur (ou contrôleur) de type PID (acronyme de « Proportionnel Intégral Dérivé ») classique. Cette variante est représentée dans la figure 16. Les blocs 160 et 161 sont les filtres correcteurs pour les variations AV et AF respectivement. L'avantage de cette implémentation est une amélioration possible de la dynamique du suivi de la trajectoire par les filtres PID.

Ici encore, le réglage du filtre peut être abordé par le biais du contrôle multivariable et de la matrice de couplage telle que définie ci-avant.

Bien entendu, des combinaisons des variantes évoquées ci-avant sont possibles. Par exemple, le contrôle unique peut se faire sans limiteur et avec un correcteur PID. Un contrôle conjoint peut se faire sans limiteur et avec des correcteurs. On peut n'utiliser qu'un seul limiteur et/ou qu'un seul correcteur. Toutes les autres combinaisons sont possibles.

La figure 17 est un organigramme général d'étapes mises en œuvre dans un procédé de contrôle selon un mode de réalisation.

Lors d'une première étape S170 un calibrage est mise en œuvre pour définir et/ou modifier la courbe de référence du circuit contrôlé.

La courbe de référence à utiliser est ensuite sélectionnée lors de l'étape S171 , par exemple en fonction de paramètres tels que la température, le vieillissement ou autre.

Le point de fonctionnement courant est alors déterminé par mesure de la fréquence et de la tension courante lors de l'étape S172.

Pour amener le circuit du point de fonctionnement courant vers le point de fonctionnement souhaité, une étape de réglage initial S173 est mise en œuvre, comme expliqué ci-avant. L'asservissement est ensuite mis en œuvre lors de l'étape S174 pour garder le point de fonctionnement sur une trajectoire optimale comme déjà expliqué.

Enfin, une étape S175 de réglage final du point de fonctionnement est mise en œuvre pour amener le circuit vers le point de fonctionnement souhaité.

Un programme d'ordinateur pour la mise en œuvre d'un procédé selon un mode de réalisation de l'invention peut-être réalisé à partir de l'organigramme de la figure 17 et de la présente description détaillée. Pour contrôler la mise en œuvre du procédé, notamment pour contrôler les divers modules du circuit de contrôle, un module de commande schématiquement représenté sur la figure 18 peut être utilisé.

Le module de commande 180 de la figure 18 comporte une unité de mémoire 181 (MEM). Cette unité de mémoire comporte une mémoire vive pour stocker de manière non durable des données de calcul utilisées lors de la mise en œuvre d'un procédé conforme à l'invention, selon divers modes de réalisation. L'unité de mémoire comporte par ailleurs une mémoire non volatile (par exemple du type EEPROM) pour stocker par exemple un programme d'ordinateur, selon un mode de réalisation, pour son exécution par un processeur (non représenté) d'une unité de traitement 182 (PROC). Par exemple, l'unité de mémoire stocke les différentes courbes de références dans une table (« Look-up table »). Le module de commande comporte par ailleurs une unité de communication 183 (COM) pour mettre en œuvre des communications, notamment pour envoyer des signaux de commande vers les divers modules du circuit de contrôle.

Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites, d'autres variantes et combinaisons de caractéristiques sont possibles.

La présente invention a été décrite et illustrée dans la présente description détaillée en référence aux figures jointes. Toutefois la présente invention ne se limite pas aux formes de réalisation présentées. D'autres variantes et modes de réalisation peuvent être déduits et mis en œuvre par la personne du métier à la lecture de la présente description et des figures annexées.

Dans les revendications, le terme "comporter" n'exclut pas d'autres éléments ou d'autres étapes. L'article indéfini « un » n'exclut pas le pluriel. Un seul processeur ou plusieurs autres unités peuvent être utilisées pour mettre en œuvre l'invention. Les différentes caractéristiques présentées et/ou revendiquées peuvent être avantageusement combinées. Leur présence dans la description ou dans des revendications dépendantes différentes, n'exclut pas en effet la possibilité de les combiner. Les signes de référence ne sauraient être compris comme limitant la portée de l'invention.