WO2015033078A2 - Procédé de commande d'un circuit électronique - Google Patents

Procédé de commande d'un circuit électronique Download PDF

Info

Publication number
WO2015033078A2
WO2015033078A2 PCT/FR2014/052205 FR2014052205W WO2015033078A2 WO 2015033078 A2 WO2015033078 A2 WO 2015033078A2 FR 2014052205 W FR2014052205 W FR 2014052205W WO 2015033078 A2 WO2015033078 A2 WO 2015033078A2
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
value
electronic circuit
ranges
values
Prior art date
Application number
PCT/FR2014/052205
Other languages
English (en)
Other versions
WO2015033078A3 (fr
Inventor
Yeter AKGUL
Edith Beigne
Pascal Benoit
Suzanne Lesecq
Diego Puschini Pascual
Original Assignee
Commissariat A L'energie Atomique Et Aux Energies Alternatives
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Commissariat A L'energie Atomique Et Aux Energies Alternatives filed Critical Commissariat A L'energie Atomique Et Aux Energies Alternatives
Priority to US14/916,233 priority Critical patent/US9698673B2/en
Priority to EP14777721.3A priority patent/EP3042262A2/fr
Publication of WO2015033078A2 publication Critical patent/WO2015033078A2/fr
Publication of WO2015033078A3 publication Critical patent/WO2015033078A3/fr

Links

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02MAPPARATUS FOR CONVERSION BETWEEN AC AND AC, BETWEEN AC AND DC, OR BETWEEN DC AND DC, AND FOR USE WITH MAINS OR SIMILAR POWER SUPPLY SYSTEMS; CONVERSION OF DC OR AC INPUT POWER INTO SURGE OUTPUT POWER; CONTROL OR REGULATION THEREOF
    • H02M3/00Conversion of dc power input into dc power output
    • H02M3/02Conversion of dc power input into dc power output without intermediate conversion into ac
    • H02M3/04Conversion of dc power input into dc power output without intermediate conversion into ac by static converters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K7/00Modulating pulses with a continuously-variable modulating signal
    • H03K7/06Frequency or rate modulation, i.e. PFM or PRM
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present application relates to a method of controlling an electronic circuit and a control system of an electronic circuit.
  • Such methods generally involve modifying an operating parameter of the electronic circuit, for example the supply voltage of the electronic circuit and / or the clock frequency at which the electronic circuit is clocked.
  • a third operating parameter of the electronic circuit is the bulk bias voltage of metal-oxide gate field effect transistors, also called MOS transistors, of the electronic circuit.
  • control methods are not suitable for controlling more than two operating parameters of the electronic circuit to reduce the electrical power consumed by the electronic circuit while obtaining the desired operating performance.
  • these control methods generally do not make it possible to ensure that the power consumption which results from the determined values of the three operating parameters is substantially as low as possible.
  • an object of an embodiment is to overcome at least in part the disadvantages of the control methods described above.
  • Another object of an embodiment is that the control method ensures that the power consumed by the electronic circuit is substantially as low as possible.
  • Another object of an embodiment is that the control method operates in real time.
  • an embodiment provides a method of controlling an electronic circuit by first, second and third operating parameter, comprising the following steps:
  • the first parameter takes first discrete values
  • the second and third parameters vary continuously, with each pair of one of the first values of the first parameter and a second value of the second parameter being associated with a third value of the third parameter.
  • the method comprises the following steps:
  • the target value is determined for the execution of a task by the electronic circuit in a given duration.
  • step (c) the first parameter is brought to the first value corresponding to the range in which the target value and the second parameter are located. is brought to the second value of the pair associated with the target value.
  • the method comprises, in step (d), the determination of at least a fourth value of the third parameter belonging to one of the ranges and strictly less than the target value and the determination of a fifth value of the third parameter belonging to one of the ranges and strictly greater than the target value, and the operation of the electronic circuit during a first duration by bringing the third parameter to said fourth value, bringing the first parameter to the first corresponding value to the range in which the fourth value is located and bringing the second parameter to the second value of the pair associated with the fourth value and the operation of the electronic circuit for a second duration by bringing the third parameter to said fifth value, by bringing the first parameter to the first value corresponding to the range in which is located equate value and bringing the second parameter to the second value of the pair associated with the fifth value.
  • the first parameter is the supply voltage of the electronic circuit.
  • the second parameter is the bias voltage of metal-oxide gate field effect transistors of the electronic circuit.
  • the third parameter is the clock frequency at which the electronic circuit is clocked.
  • the method is implemented for controlling a plurality of electronic circuits, comprising the following steps:
  • the target value is located in one of the ranges of one of the electronic circuits, operating said electronic circuit by bringing the third parameter to the target value; and in the opposite case, select one of the electronic circuits and, for said electronic circuit, select the two ranges surrounding the target value and operate said electronic circuit by successively bringing the third parameter in each of the two selected ranges.
  • the electronic circuit comprises at least two electronic circuit sections, one rank being assigned to each electronic circuit section, and the first parameter is said rank.
  • Another embodiment provides a control system of an electronic circuit by first, second and third operating parameters, the electronic circuit comprising a first module adapted to determine a range of variation of the third parameter for each value of the first parameter. varying the second parameter, said ranges being distinct, the system comprising a second module adapted to determine a target value of the third parameter, the electronic circuit comprising a third module adapted to bring the third parameter to the target value if the target value is located in one of the ranges, and, in the opposite case, to select the two ranges bordering the target value and have the third parameter successively brought into each of the two selected ranges.
  • Another embodiment provides a method of analyzing an electronic circuit for determining optimal operating configurations of the electronic circuit according to a given performance criterion, each operating configuration of the electronic circuit being defined by values taken by first , second and third operating parameters, the first parameter being able to take first discrete values, the second and third parameters being able to vary continuously or discretely, the second parameter being able to vary between a minimum value and a maximum value, with each pair of a first value of the first parameter and a second value of the second parameter being associated with a third limit value of the third parameter beyond which the circuit is likely to fail, the method comprising the following steps:
  • the method further comprises an additional step c) between steps a) and b), step c) of determining a curve of variation of a datum representative of said performance criterion according to the third parameter, defining, for each first value of the first parameter, a curve arc corresponding to the values of said representative data obtained on the limit variation range of the third parameter associated with the first parameter considered and the corresponding variation range of the second parameter and, during step b), for each value of the first parameter, an optimum variation range of the third parameter corresponding to all or part of said limit variation range of the third parameter previously established for the value of the first parameter is determined.
  • step c) comprises the following steps:
  • Another embodiment provides a method of controlling an electronic circuit for determining an optimum operating configuration of the electronic circuit according to a given performance criterion, each operating configuration of the electronic circuit being defined by given values of first, second and third operating parameters, the first parameter being able to take first discrete values, the second and third parameters being able to vary in a continuous or discrete manner, the electronic circuit comprising means for storing information previously obtained by the analysis method such as defined above and comprising, for each value of the first parameter, an optimum variation range of the third parameter associated with a corresponding range of values of the second parameter, the optimum variation ranges being all distinct, the electronic circuit comprises nt analysis means allowing, at each pair of one of the first values of the first parameter and a second value of the second parameter, to associate a third value of the third parameter, the method comprising the following steps:
  • the first parameter is brought to the first value corresponding to the range in which the third value applied is located and the second parameter is brought to the second value of the pair associated with the third value applied.
  • said given performance criterion is an energetic criterion, such as power or energy
  • the third parameter is representative of a temporal performance criterion, such as the operating frequency of the electronic circuit.
  • the target value is determined for the execution of a task by the electronic circuit in a given duration.
  • the method comprises, in step f), a first operation of the electronic circuit during a first duration by bringing the third parameter to said lower value, and a second operation of the electronic circuit for a second duration by bringing the third parameter at said higher value, the first and second operations being repeated alternately.
  • the first parameter is the supply voltage of the electronic circuit
  • the second parameter is the bias voltage of the metal-oxide gate field effect transistors of the electronic circuit
  • the third parameter is the frequency of clock at which is clocked the electronic circuit.
  • Another embodiment provides a method for controlling a plurality of electronic circuits, comprising the following steps: if the target value is located in one of the ranges of one of the electronic circuits, operating said electronic circuit by bringing the third parameter to the target value; and
  • the electronic circuit comprises at least two electronic circuit sections, one rank being assigned to each electronic circuit section, and the first parameter is said rank.
  • actuators for controlling the values of first, second and third parameters defining an operating configuration of the electronic circuit, the first parameter being able to take first discrete values, the second and third parameters being able to vary continuously or discretely;
  • a first module comprising information storage means previously obtained according to the method of claim 1 and comprising, for each value of the first parameter, an optimum variation range of the third parameter associated with a corresponding range of values of the second parameter, the ranges of optimal variation being all distinct, and comprising analysis means connected to the storage means and for associating a third value of the third parameter with each pair of one of the first values of the first parameter and a second value the second parameter;
  • a second module adapted to determine a target value of the third parameter
  • a third analysis module adapted to determine if the target value is located in one of the optimal variation ranges, and to select this range in the affirmative and, if not, to select the two ranges framing the target value
  • the analysis module defining, as the case may be, one or two operating configurations with a third parameter respectively presenting the target value or two values respectively lower and higher than said target value and belonging respectively to the two selected ranges, for each configuration the first parameter taking a first value corresponding to the range in which the value of the third parameter is located and the second parameter taking the second value of the pair associated with the third value selected;
  • a fourth control module adapted to apply, via said actuators, an operating configuration or alternatively each of the two operating configurations defined by the third analysis module.
  • the first module comprises means for implementing the analysis method as defined above making it possible to define said information saved by said storage means.
  • FIG. 1 represents, partially and schematically, an embodiment of an electronic circuit
  • FIG. 2 represents an example of maximum accessible clock frequencies as a function of the supply voltage and the polarization voltage of MOS transistor housings of the electronic circuit of FIG. 1;
  • FIG. 3 represents, in the form of a block diagram, an embodiment of a method for determining the minimum power operation configurations of the electronic circuit of Figure 1;
  • FIG. 4 represents an example of a curve of evolution of the power consumed by the electronic circuit of FIG. 1 as a function of the clock frequency during variations of the supply voltage and the polarization voltage of transistor housings.
  • MOS electronic circuit
  • FIG. 5 represents an example of a convex envelope of the evolution curve of FIG. 4;
  • FIG. 6 represents curves of variation, as a function of the clock frequency, of the supply voltage and the polarization voltage of MOS transistor housings of the electronic circuit of FIG. 1;
  • FIG. 7 represents, in the form of a block diagram, an embodiment of a method for controlling the clock frequency, the supply voltage and the bias voltage of MOS transistor housings. electronic circuit of Figure 1;
  • Figure 8 is a figure similar to Figure 5 and illustrates an exemplary implementation of the embodiment of the control method of Figure 7;
  • Figure 9 is a figure similar to Figure 6 and illustrates another example of implementation of the embodiment of the control method of Figure 7;
  • FIG. 10 is a partial and diagrammatic representation of another embodiment of an electronic circuit.
  • FIG. 11 represents, in the form of a block diagram, an embodiment of a control method of the electronic circuit of FIG.
  • control method comprises the modification of three operating parameters of an electronic circuit making it possible to achieve the desired operating performance of the electronic circuit with a power consumption that is as low as possible, in which at least the one of the operating parameters can only take discrete values while the other operating parameters can vary continuously, or discrete with a fine pitch, or discrete.
  • At least one of the operating parameters of the electronic circuit is representative of the operating speed of the electronic circuit. It can be the clock frequency at which the electronic circuit is clocked.
  • the three operating parameters of the electronic circuit are the supply voltage of the electronic circuit, the clock frequency and the bias voltage of MOS transistors housings of the electronic circuit.
  • the operation parameter evolving in a discrete manner is the supply voltage.
  • FIG. 1 represents an embodiment of an electronic circuit 10.
  • the electronic circuit 10 comprises several unitary electronic circuits 12, for example from 1 to 64 circuits 12.
  • the circuits 12 are adapted to operate in parallel.
  • Each unitary electronic circuit 12 is connected to a global control module 14 adapted, in particular, to distribute the tasks to be performed between the different circuits 12.
  • the global control module 14 can be made centrally or distributed in the electronic circuit 10.
  • the global control module 14 may comprise a processor adapted to execute the instructions of a computer program stored in a memory.
  • the global control module 14 can be realized by a dedicated circuit, for example in the form of a state machine.
  • At least one of the circuits is configured to:
  • each circuit 12 can be fed to a supply voltage V ⁇ y which can be different from the supply voltages of the other electronic circuits unit 12.
  • V ⁇ y which can be different from the supply voltages of the other electronic circuits unit 12.
  • each circuit 12 can be supplied with a supply voltage which can be different from the voltages supply of other electronic unitary circuits.
  • At least one of the circuits 12 is a synchronous electronic circuit, or a locally synchronous electronic circuit, which can be clocked by a clock frequency F which can be different from the clock frequencies setting the others.
  • each circuit 12 may be clocked at a clock frequency F which may be different from the clock frequencies setting the other electronic electronic circuits 12.
  • At least one of the circuits 12 comprises MOS transistors and the bias voltage of the boxes of the MOS transistors of the circuit 12 can be modified.
  • all the circuits 12 comprise MOS transistors and the polarization voltage of the boxes of the transistors
  • MOS of each circuit 12 may be different from the bias voltages of the other single electronic circuits 12.
  • unitary electronic circuits 12 The structure of one of the unitary electronic circuits 12 will now be described. Several unitary electronic circuits 12 may have a similar structure.
  • At least one of the electronic circuits 12 comprises a processing module 20 adapted, in particular, to perform calculations. It may be a dedicated electronic circuit or a processor adapted to execute the instructions of a computer program stored in a memory.
  • the treatment module 20 is powered by the supply voltage V ⁇ y.
  • the boxes of at least some MOS transistors of the processing module 20 are biased to the bias voltage ⁇ .
  • the processing module 20 is clocked at the clock frequency F.
  • the processing module 20 is adapted to perform the tasks assigned to the circuit 12 by the global control module 14.
  • the unitary electronic circuit 12 comprises a local control module 22 adapted to control at least three actuators 24, 26, 28.
  • the first actuator 24 is adapted to modify the frequency F.
  • the second actuator 26 is adapted to modify the supply voltage V ⁇ .
  • the actuator 26 may comprise a DC-DC converter controlled by the module 22.
  • the actuator 26 corresponds to a voltage jump circuit V ⁇ y (in English "Vdd hopping").
  • the third actuator 28 is adapted to modify the polarization voltage.
  • the third actuator 28 may comprise a charge pump circuit.
  • the unitary electronic circuit 12 may comprise sensors 30, for example arranged in the processing module 20.
  • One of the sensors 30 may correspond to a sensor providing a signal representative of the temperature T in the processing module 20.
  • sensors 30 may correspond to a sensor providing a signal representative of the activity A of the processing module 20.
  • the activity A of the circuit 12 is, for example, a data representative of the number of logic gates that switch over a period of time. defined or the number of transitions of the MOS transistors of the processing module 20 for the task being executed.
  • One of the sensors 30 may correspond to a sensor providing a signal representative of the power P consumed by the processing module 20.
  • the unitary electronic circuit 12 may comprise an analysis module 32 receiving the signals supplied by the sensors 30.
  • the analysis module 32 is adapted to supply data representative of operating configurations that can be applied by the control module 22 These configurations in the following are called optimal configurations. These are the operating configurations of the circuit 12 in which a parameter representative of the electrical consumption of the circuit 12 is minimal or substantially minimal. This parameter corresponds, for example, to the electrical power consumed by the circuit 12 or to the electrical energy used by the circuit 12 for the execution of a task.
  • the temperature T may not be measured directly.
  • the temperature T can then be determined by the analysis module 32 from signals supplied by the adjacent circuits 12 of the circuit in question.
  • the activity A may not be measured directly and may be estimated by the analysis module 32.
  • the power consumption P may not be measured directly.
  • the power P can then be estimated by the analysis module 32.
  • the power consumption P can be estimated from the measurement of the temperature T, of the activity A, of the supply voltage v dd e wt a bias voltage.
  • the power consumption P can be divided into a dynamic power P ⁇ yn and a leakage power P] _ ea k.
  • the dynamic power P ⁇ yn is ⁇ a power consumed due to the energy dissipated during the changes of states of the logic gates or the passages between the on state and the off state of the MOS transistors.
  • the leakage power P] _ ea k is the power consumption due to the various losses of the transistors other than the dynamic power P ⁇ yn-
  • the analysis module 32 can determine an estimate of the dynamic power P ⁇ yn P ar a mathematical function frequency F, activity A and supply voltage V ⁇ y.
  • the analysis module 32 can determine an estimate of the leakage power P] _eak P ar a mathematical function of the frequency F, the supply voltage V ⁇ , the temperature T and the bias voltage ⁇ .
  • the supply voltage 1 ⁇ 4id can take N discrete values ⁇ j_, N being an integer varying for example from 2 to 5 and i being an integer varying from 1 to N.
  • the bias voltage V bb may vary continuously or discretely fine pitch between a minimum value V bb, min, i e t a maximum value V bb / max / i 'these two values can depend on V ⁇ y j_.
  • the parameters ⁇ , Vbb and F depend on each other. Indeed, for a given pair of voltages and V bb , there is a maximum value F max of the clock frequency beyond which time errors can occur. A time error occurs for example when the input signal of at least one flip-flop is not established in a clock period.
  • the circuit 12 is clocked at the maximum frequency F max , possibly by applying a safety margin, which is allowed by the values of the voltages,, v bb applied to the circuit 12.
  • the electronic circuit 12 is made to perform a succession of tasks.
  • a performance constraint is associated with the execution of each task. This means that the completion of the task must be completed by the end of a specified period of time.
  • One possibility is to operate the circuit 12 at a target target clock frequency F constant which is the clock frequency for which the execution of the task is finished at the completion of the determined duration.
  • Another possibility is to operate the circuit successively at different clock frequencies so that the execution of the task is finished at the completion of the determined duration.
  • the temporal performances of the circuit 12 are then equivalent to an operation at the target clock frequency F target.
  • - of successive tasks can vary from one task to the next. other.
  • the maximum clock frequency F max which can be accessible to the clocked electronic circuit varies in the range [3 ⁇ 4iax, i- 'F max, i +] when the bias voltage V bb varies from V bb , miri / i to V bb , maX / i .
  • FIG. 1 For each value of the supply voltage ⁇ _ j, where i varies from 1 to N, the maximum clock frequency F max which can be accessible to the clocked electronic circuit varies in the range [3 ⁇ 4iax, i- 'F max, i +] when the bias voltage V bb varies from V bb , miri / i to V bb , maX / i .
  • FIG. 2 shows an example of the maximum clock frequencies F max that can be reached for all the possible pairs ( ⁇ dd ' v bb) in the case where the supply voltage Vdd can take four values ⁇ ] _, ⁇ 2 'v dd3 or and in the case where the bias voltage may vary from m j_ j_ to n max, i' and i var i e from 1 to 4.
  • a single pair of voltages ( ⁇ , ⁇ ) corresponds to a point of one of the segments A] _, A2, A3 or A4.
  • -2 is therefore accessible by two pairs of voltages ( ⁇ , v bb) ⁇
  • the problem is to select the pair of voltages ( ⁇ , ⁇ ) to be used. However, it is not guaranteed that the power consumed by the circuit is minimal for one or other of these voltage pairs.
  • No points of segments A] _, A2, A3 and A4 correspond to the target clock frequency F ⁇ - ar .g- e ⁇ -3.
  • One possibility would then be to clock the circuit at an accessible clock frequency higher than the target clock frequency F-
  • the power consumed by the circuit is not minimal.
  • Another possibility would be to operate the circuit 12 successively at a clock frequency Fj_ n f lower than the Fta-g target clock frequency and e ⁇ at a clock frequency F SU p greater than the target clock frequency F-
  • the problem is then to select the voltage pairs ( ⁇ , ⁇ ) to be used for the frequencies F j _ n f and F SU p so that the power consumed is minimal.
  • a method for determining the operating configurations of the circuit 12 for which the power consumed by the circuit 12 is minimal, or substantially minimal, while achieving the desired performance is implemented.
  • Such operating configurations are called optimal configurations.
  • Each optimal configuration corresponds to a triplet comprising a value of the voltage V ⁇ , a value of the voltage and a corresponding maximum clock frequency value F max .
  • the method for determining optimum configurations can be implemented during the design of the electronic circuit 10 or during a step of characterizing the electronic circuit 10 after its manufacture.
  • data representative of the optimal configurations can be stored in a memory of the analysis module 32.
  • the method for determining the optimal configurations can be implemented by the analysis module 32 during operation. of the electronic circuit 10.
  • a control method comprising the selection of the optimal configuration or of two optimal configurations to be applied to achieve the desired performances and the control of the actuators to apply the selected optimum configuration or the selected optimal configurations.
  • FIG. 3 represents, in the form of a block diagram, an embodiment of the method for determining optimal configurations.
  • step 40 it is determined, for a determined temperature T and A, the set of ranges [F maX / j, F maX / j + ] of the maximum clock frequency F maX / j_ , where i varies from 1 to N, obtainable by varying the supply voltage among the values j_ and by varying the bias voltage V bb between bb / miri / i and V bb , maX / i .
  • the segments A] _, A2, A3 and A4 described previously with reference to FIG. 2 represent an example of the [F maX / j__, F maX / j_ + ] ranges of maximum clock frequencies F maX / j_ in the case where N is equal to 4.
  • determining the maximum clock frequency f max f j_ obtained for a pair of voltages (V bb, 1 ⁇ 4id, i) can be determined via Speeds sensors disclosed in the publication " An innovative timing slack monitor for tolerant variation circuits "by B. Rebaud et al. (IEEE International Conference on IC Design Technology - ICICDT - 2009, pages 215-218, 18-20 May 2009).
  • step 42 The process continues in step 42.
  • step 42 it is determined that the consumed power P by the processing module 20 for each triple (f max / j_, V bb, 1 ⁇ 4id i) e t T o is the temperature T A and the activity determined.
  • PM operating point is the power-clock frequency pair (P, F maX / j).
  • FIG. 4 represents an example of an evolution curve C of the power consumption P as a function of the clock frequency F, for a determined temperature T and A, in the case where N is equal to 4.
  • Each curve C corresponds to an operating point PM.
  • Curve C comprises four arcs C 1, C 2, C 3 and C 4.
  • the curve C comprises N arcs Cj_, i varying from 1 to N, each arc Cj_ being obtained with the supply voltage j_.
  • step 44 the convex hull ⁇ 3 ⁇ 4 of the curve C is determined.
  • the convex hull ⁇ 3 ⁇ 4 is defined, like the curve C, for a determined temperature T and activity A.
  • the convex hull ⁇ 3 ⁇ 4 is defined by the following relations (1):
  • the convex envelope 3 ⁇ 4 comprises arcs 3 ⁇ 4i with i varying from 1 to N, each arc Cu_i corresponding to a portion of the arc Cj_.
  • corresponds to a frequency F maX / j_ associated with a point PM belonging to the convex envelope 3 ⁇ 4
  • the consumed power is then minimal.
  • corresponds to a frequency F maX / j_ associated with a point PM which does not belong to the convex envelope 3 ⁇ 4
  • a minimum consumed power can be obtained by operating the processing module 20 successively at a frequency F SU p greater than F-
  • step 46 The process continues at step 46.
  • step 46 the ends of each arc 3 ⁇ 4j_ of the convex hull 3 ⁇ 4 are determined.
  • FIG. 5 represents an example of a convex curve 3 ⁇ 4 associated with the curve C represented in FIG. 4.
  • parts of the curve C that do not belong to the curve ⁇ 3 ⁇ 4 are shown in dashed lines.
  • PMj a first end point
  • Fj The maximum frequency of the dot PMj__ is denoted by Fj.
  • the second end point, noted PMj_ + corresponds to the point of the arc ⁇ 3 ⁇ 4i for which the bias voltage is highest, noted j_ + .
  • the maximum frequency corresponding to the point PMj_ + is denoted Fj_ + .
  • step 48 the values of the triples i ⁇ dd r i ' ⁇ hb, i-'
  • Figure 6 shows the curves of variation as a function of the clock frequency, supply voltage V DD ⁇ el e t a bias voltage for a temperature T and a determined activity, obtained from the example of convex hull of Figure 5. These curves illustrate the data representative of optimal configurations.
  • the steps 40 to 48 described above are repeated several times for several temperature values T and / or several values of activity A.
  • the representative data optimal configurations are stored in the memory of the analysis module 32.
  • the steps 40 to 48 described above are performed by the analysis module 32 in operation.
  • the analysis module 32 determines the points PM from the temperature values T and activity A determined from the signals supplied by the sensors 30. In the case of a variation of the temperature T or of the activity A , the analysis module 32 can determine new values of the points PM. By way of example, new values of the points PM can only be determined when the temperature T varies beyond a threshold or when the activity A varies beyond a threshold.
  • the determination of the convex hull 3 ⁇ 4 in step 42 described above requires a measurement of the power consumed by the processing module 20. However, such a measurement can be difficult to achieve.
  • the determination of the frequency ranges [F j __, F j _ + ], i varying from 1 to N, is carried out from the frequency ranges t F max, i- ' F max, i + ] determined by step 40.
  • the range [Fj, Fj_ + ] is equal to the range [F m ax, i - F max, i +] at which the common parts (possibly with adding margins) with another range [F m ax, j- 'F max, +]' or j ⁇ es a non-re ⁇ integer different from i.
  • the power consumed over these frequency ranges may not be minimal. Note that in this simplified embodiment, frequency ranges [Fj, Fj_ + ] are obtained that are relatively close to those obtained by implementing the entire process described above.
  • the optimal configurations correspond to the configurations for which the power consumed by the electronic circuit 12 is minimal.
  • the electrical power consumed by the processing module 20 instead of using the electrical power consumed by the processing module 20, it is possible to consider the electrical energy used for carrying out the task in question. Optimal configurations are then those for which the energy used is minimal.
  • the evolution curve C of the power consumed as a function of the clock frequency of the circuit 12 was used and the convex envelope ⁇ 3 ⁇ 4 of the curve C was determined.
  • the evolution curve of the inverse of the power consumed (or the inverse of the energy used) can be used.
  • the concave envelope of the evolution curve of the inverse of the consumed power is used.
  • FIG. 7 represents, in the form of a block diagram, an embodiment of the method for controlling the supply voltage V 1, the bias voltage and the clock frequency F of the circuit 12.
  • the global control module 14 supplies the local control module 22 of the circuit 12 with a signal representative of the target clock frequency F-
  • step 50 the analysis module 32 determines whether the target clock frequency F-
  • Fj__ and Fj_ + for i varying from 1 to N, stored in memory.
  • data representative of the optimal configurations have been determined and stored in the analysis module 32 for several temperature values T and several activity values A.
  • the analysis circuit 32 is adapted to determine, from direct measurements or by estimation, the temperature T and the activity A of the processing module 20, the analysis module 32 can select the frequency values F i and F i + , for i varying from 1 to N, data representative of optimal configurations which have been determined at the temperature closest to the measured / estimated temperature and to the activity closest to the activity measured / estimated .
  • the analysis module 32 can determine new data representative of optimal configurations, and therefore new values of the frequencies F 1 and F 1 + , for i varying from 1 to N, by interpolation at the measured / estimated temperature T and activity A measured / estimated from the representative data of the optimum configurations that were determined at the closest T temperatures on either side of the measured / estimated temperature and to the closest A activities on the left and right sides. other measured / estimated activity.
  • data representative of the optimal configurations have been determined and stored in the analysis module 32 for a single temperature value T and a single activity value A.
  • the analysis module 32 can then select the Frequency values F i and F i + , for i ranging from 1 to N, stored in the memory of the analysis module 32.
  • the analysis module 32 can determine new data representative of optimal configurations, and therefore new values of the frequencies F j and F j _ + , for i varying from 1 to N, by interpolation at the measured / estimated temperature T and at the activity A measured / estimated from the data representative of the configurations stored in the memory of the analysis module 32.
  • the number of stored data remains restricted. This simplicity is obtained thanks to the presentation of the information in segments of limited number, corresponding to discrete values in a limited number of the first parameter (Vdd).
  • the analysis of the evolution curve obtained for different sets of discrete values of the first parameter can be an element of assistance with the selection of the discrete values of this first parameter.
  • step 50 the target clock frequency F-
  • Mode 2 a second control mode
  • FIG. 8 is a figure similar to FIG. 5 in which are furthermore represented the frequency ranges in which the first control mode, Mode 1, is implemented and the frequency ranges in which the second control mode , Mode 2, is implemented.
  • the analysis module 32 determines the value of the bias voltage for which the target clock rate is obtained from the data representative of the optimal configurations determined by the analysis module 32.
  • - belongs to the convex hull 3 ⁇ 4, the power consumed is minimal.
  • the module 22 controls the actuator 24 to bring the clock frequency to the target clock frequency F-
  • the module 22 further controls the actuator 26 to bring the supply voltage V ⁇ y to the supply voltage j_ and the module 22 controls the actuator 28 to bring the bias voltage to the determined value.
  • the changes in the clock frequency, the supply voltage and the bias voltage are made to ensure the absence of time errors.
  • the analysis module 32 determines at least two clock frequencies Fj_ n f and F SU p corresponding to points PM belonging to the convex envelope ⁇ 3 ⁇ 4, the clock frequency Fj_ n f being strictly below the target clock frequency F target e ⁇ clock frequency F SU p being strictly greater than the target clock frequency F-
  • the chosen PM points are the end points of the two arcs of the convex envelope whose associated clock frequencies are closest to the target clock frequency.
  • the module 22 controls the actuator 24 to successively bring the clock frequency to the value F SU p for a duration D SU p and the value Fj_ n f for a duration Dj_ n .
  • the clock frequency F SU p can be applied after the clock frequency Fj_ n f.
  • calling D ⁇ - the execution time of the task to the target clock frequency F target ' ⁇ - es durations Dj_ n f and D SU p can be determined according to the relationship (2) following :
  • FIG. 8 illustrates an example in the case where the target clock frequency F-
  • this power corresponds to the point at the frequency F target belonging to the line L represented in dashed lines connecting the points PM ] _ + and PM2-.
  • the embodiment described above in connection with FIG. 8 involves a simultaneous modification of the clock frequency, the supply voltage and the bias voltage ⁇ .
  • the transition from a first value to a second value of the clock frequency F max, of the supply voltage and / or v P bb bias voltage had t require a transition time that is not negligible.
  • the passage of the point PM SU p to the point PMj_ n f can be achieved by passing through an intermediate point PMj_ n ⁇ -.
  • the point PMj_ n - ( - is associated with a triplet (V ⁇ y, v bb ' F max) whose component is identical to the triplet associated with the point PMj_ n f and whose component is identical to the triplet associated with the point PM SU p ..
  • the third component is chosen to ensure that the circuit is operative thus, when passing from the point PM to the point PMj_ SU p -j- n, only two parameters are changed the transition point PMj_ n -.
  • (- to item PMj_ n f is then obtained by varying the value of the unmodified parameter value for the point PM SU p to the value for the item PMj_ n f, the third parameter being changed to the value associated with the point
  • FIG. 9 is similar to FIG. 6 and illustrates such an embodiment in the case where the polarization voltage
  • the module 20 controls the actuators 22, 24 and 26 at the point PM SU p associated with the triplet i ⁇ dd, 2 ' v bb, 2-' F 2-) for a duration OI 'D ⁇ -.
  • the module 20 then controls the actuators 22 and 24 at the point PMj_ n - (- associated with the triplet i ⁇ dd, the V " bb, 2- 'Fj_ n ⁇ -.)
  • the module 20 then controls the actuators 22 and 26 for pass, in a period Y 'D
  • the duration ⁇ ' depends on the dynamics of the actuator 26.
  • the circuit 12 is maintained at the point PMj_ n f for a duration ⁇ ' D ⁇ -.
  • FIG. 10 represents another embodiment of an electronic circuit 60.
  • the electronic circuit 60 comprises all the elements of the electronic circuit 10 represented in FIG. 1.
  • the electronic circuit 60 furthermore comprises a network interconnection 62 adapted to allow the exchange of data between the unitary electronic circuits 12.
  • the interconnection network 62 may comprise a data exchange bus or correspond to an on-chip communication network (in English "Network on Chip ").
  • the electronic circuit comprises K elementary electronic circuits 12, K being an integer strictly greater than 1. By way of example, in FIG. 10, K is equal to four.
  • the global control module 14 is adapted to assign the tasks to be executed between the unitary electronic circuits 12.
  • An application is considered that comprises M tasks Task m which must be assigned, M being an integer greater than 1 and m being an integer which varies between 1 and M.
  • M being an integer greater than 1
  • m being an integer which varies between 1 and M.
  • F target target clock frequencies
  • the target clock frequencies can be determined by the global control module 14.
  • the global control module 14 is adapted to collect the data representative of the optimal configurations for each circuit 12.
  • the data representative of the optimal configurations have been determined by each electronic circuit 12 as previously described.
  • one of the circuits 12 updates its representative data of optimal configurations
  • the updated data are transmitted to the module 14.
  • FIG. 11 represents, in the form of a block diagram, one embodiment of the method of assigning tasks by the global control module 14. The method is implemented for each task Task m to be executed.
  • step 70 the global control module 14 determines whether the target clock frequency F-
  • the global control module 14 selects the available electronic circuit 12 for which the power consumed is the lowest by applying the Mode 2 control mode previously described and the process continues in step 74.
  • step 72 the module 14 assigns the task Task m to the selected electronic circuit 12 and transmits the target clock frequency F- i- ar g e t, m to the selected electronic circuit 12.
  • the selected circuit 12 then implements a Mode 1 control method as described above.
  • step 74 the module 14 assigns the task Task m to the selected electronic circuit 12 and transmits the target clock frequency F - ar g e - fTil to the selected electronic circuit 12.
  • the selected circuit 12 then implements a Mode 2 control method as described above.
  • the operating parameters of the electronic circuit used are the clock frequency, the supply voltage and the polarization voltage of transistor housings, other operating parameters can be used.
  • a parameter representative of the operating speed of the electronic circuit, other than the clock frequency may be used.
  • the speed of rotation of the hard disk can be used as an operating parameter.
  • the discrete operating parameter is the supply voltage of the electronic circuit
  • another parameter of Discrete operation can be used.
  • the rank, or number, of the circuit 12 to which the task is assigned may be the discrete operating parameter of the circuit 60.
  • An actuator of such an operating parameter is then adapted to cause a circuit 12 to execute a task initially performed by another circuit 12.
  • the use of the rank as an operating parameter is particularly advantageous in the case where the circuits 12 have different performances, for example in terms of consumption and speed Operating.
  • the two other following continuously variable operating parameters may furthermore be used: the clock frequency of each circuit 12 and the bias voltage of MOS transistor housings of each circuit 12 or the supply voltage of each circuit 12 in the case of a supply voltage varying continuously or discrete fine-pitch or discrete.
  • the target operating parameter could be a voltage, for example the supply voltage supplied by a battery.
  • the operating parameters for example the operating frequency
  • a performance criterion such as the consumption of the circuit.
  • a performance criterion other than a criterion of energy performance (power, energy 9), for example a criterion of temperature, heating or aging of the circuit.
  • the envelope ⁇ 3 ⁇ 4 of the data representative of the performance criterion is always increasing (for example for the power as a function of the maximum frequency, represented in FIG. 4) or always decreasing (if, for example, the energy is taken as a function of the clock period).
  • the envelope ⁇ 3 ⁇ 4 of the data representative of the performance criterion is always increasing (for example for the power as a function of the maximum frequency, represented in FIG. 4) or always decreasing (if, for example, the energy is taken as a function of the clock period).
  • the envelope ⁇ 3 ⁇ 4 of the data representative of the performance criterion is always increasing (for example for the power as a function of the maximum frequency, represented in FIG. 4) or always decreasing (if, for example, the energy is taken as a function of the clock period).
  • the range of useful values of the third parameter will be limited and framed by the minimum and maximum values of the third parameter may correspond to the configurations retained so that the analysis method works properly.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Power Sources (AREA)
  • Feedback Control In General (AREA)

Abstract

L'invention concerne un procédé de commande d'un circuit électronique (12) par des premier, deuxième et troisième paramètres de fonctionnement, comprenant les étapes suivantes : (a) déterminer une plage de variation du troisième paramètre pour chaque valeur du premier paramètre en faisant varier le deuxième paramètre, lesdites plages étant distinctes; (b) déterminer une valeur cible du troisième paramètre; (c) si la valeur cible est située dans l'une des plages, faire fonctionner le circuit électronique en amenant le troisième paramètre à la valeur cible; et (d) dans le cas contraire, sélectionner les deux plages encadrant la valeur cible et faire fonctionner le circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages sélectionnées.

Description

PROCEDE DE COMMANDE D ' UN CIRCUIT ELECTRONIQUE
La présente demande de brevet revendique la priorité de la demande de brevet français FR13/58541 qui sera considérée comme faisant partie intégrante de la présente description.
Domaine
La présente demande concerne un procédé de commande de d'un circuit électronique et un système de commande d'un circuit électronique .
Exposé de l'art antérieur
Il existe des procédés permettant de réduire la puissance électrique consommée par un circuit électronique tout en conservant les performances de fonctionnement souhaitées pour le circuit électronique. De tels procédés consistent généralement à modifier un paramètre de fonctionnement du circuit électronique, par exemple la tension d'alimentation du circuit électronique et/ou la fréquence d'horloge à laquelle est cadencé le circuit électronique .
Lorsque deux paramètres de fonctionnement du circuit électronique sont modifiés simultanément pour réduire la puissance électrique consommée par le circuit électronique, il existe des procédés de commande qui permettent de déterminer les valeurs de ces paramètres pour lesquelles la puissance consommée est la plus faible possible tout en atteignant les performances de fonctionnement souhaitées .
La publication intitulée "Energy optimal speed control of devices with discrète speed sets" de R. Rao et S. Vrudlhala (Design Automation Conférence, 2005, Proceedings - 42nd, pp. 901- 904, 13-17 juin 2005) décrit un exemple d'un tel procédé de commande .
Afin de réduire encore davantage la puissance consommée par le circuit électronique, il est souhaitable de modifier, en outre, un troisième paramètre de fonctionnement du circuit électronique. Un exemple de troisième paramètre de fonctionnement est la tension de polarisation de caissons (en anglais "bulk") de transistors à effet de champ à grille métal-oxyde, également appelés transistors MOS, du circuit électronique.
Toutefois, les procédés de commande connus ne sont pas adaptés à commander plus de deux paramètres de fonctionnement du circuit électronique pour réduire la puissance électrique consommée par le circuit électronique tout en obtenant les performances de fonctionnement souhaitées. En particulier, ces procédés de commande ne permettent généralement pas d'assurer que la puissance consommée qui résulte des valeurs déterminées des trois paramètres de fonctionnement est sensiblement la plus faible possible .
Résumé
Ainsi, un objet d'un mode de réalisation est de pallier au moins en partie les inconvénients des procédés de commande décrits précédemment.
Un autre objet d'un mode réalisation est que le procédé de commande assure que la puissance consommée par le circuit électronique est sensiblement la plus faible possible.
Un autre objet d'un mode réalisation est que le procédé de commande fonctionne en temps réel .
Ainsi, un mode de réalisation prévoit un procédé de commande d'un circuit électronique par des premier, deuxième et troisième paramètres de fonctionnement, comprenant les étapes suivantes :
(a) déterminer une plage de variation du troisième paramètre pour chaque valeur du premier paramètre en faisant varier le deuxième paramètre, lesdites plages étant distinctes ;
(b) déterminer une valeur cible du troisième paramètre ;
(c) si la valeur cible est située dans l'une des plages, faire fonctionner le circuit électronique en amenant le troisième paramètre à la valeur cible ; et
(d) dans le cas contraire, sélectionner les deux plages encadrant la valeur cible et faire fonctionner le circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages sélectionnées .
Selon un mode de réalisation, le premier paramètre prend des premières valeurs discrètes, les deuxième et troisième paramètres variant de façon continue, à chaque couple de l'une des premières valeurs du premier paramètre et d'une deuxième valeur du deuxième paramètre étant associée une troisième valeur du troisième paramètre.
Selon un mode de réalisation, le procédé comprend les étapes suivantes :
déterminer la courbe de variation d'une donnée représentative de la puissance ou de l'énergie consommée par le circuit électronique en fonction du troisième paramètre, en faisant varier le deuxième paramètre pour chaque première valeur du premier paramètre ;
déterminer l'enveloppe convexe ou concave de la courbe ; et
extraire lesdites plages de l'enveloppe.
Selon un mode de réalisation, la valeur cible est déterminée pour l'exécution d'une tâche par le circuit électronique dans une durée donnée.
Selon un mode de réalisation, à l'étape (c) , le premier paramètre est amené à la première valeur correspondant à la plage dans laquelle est située la valeur cible et le deuxième paramètre est amené à la deuxième valeur du couple associé à la valeur cible .
Selon un mode de réalisation, le procédé comprend, à l'étape (d) , la détermination d'au moins une quatrième valeur du troisième paramètre appartenant à l'une des plages et strictement inférieure à la valeur cible et la détermination d'une cinquième valeur du troisième paramètre appartenant à l'une des plages et strictement supérieure à la valeur cible, et le fonctionnement du circuit électronique pendant une première durée en amenant le troisième paramètre à ladite quatrième valeur, en amenant le premier paramètre à la première valeur correspondant à la plage dans laquelle est située la quatrième valeur et en amenant le deuxième paramètre à la deuxième valeur du couple associé à la quatrième valeur et le fonctionnement du circuit électronique pendant une deuxième durée en amenant le troisième paramètre à ladite cinquième valeur, en amenant le premier paramètre à la première valeur correspondant à la plage dans laquelle est située la cinquième valeur et en amenant le deuxième paramètre à la deuxième valeur du couple associé à la cinquième valeur.
Selon un mode de réalisation, le premier paramètre est la tension d'alimentation du circuit électronique.
Selon un mode de réalisation, le deuxième paramètre est la tension de polarisation de transistors à effet de champ à grille métal-oxyde du circuit électronique.
Selon un mode de réalisation, le troisième paramètre est la fréquence d'horloge à laquelle est cadencé le circuit électronique .
Selon un mode de réalisation, le procédé est mis en oeuvre pour la commande de plusieurs circuits électroniques, comprenant les étapes suivantes :
si la valeur cible est située dans l'une des plages de l'un des circuits électroniques, faire fonctionner ledit circuit électronique en amenant le troisième paramètre à la valeur cible ; et dans le cas contraire, sélectionner l'un des circuits électroniques et, pour ledit circuit électronique, sélectionner les deux plages encadrant la valeur cible et faire fonctionner ledit circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages sélectionnées .
Selon un mode de réalisation, le circuit électronique comprend au moins deux sections de circuit électronique, un rang étant attribué à chaque section de circuit électronique, et le premier paramètre est ledit rang.
Un autre mode de réalisation prévoit un système de commande d'un circuit électronique par des premier, deuxième et troisième paramètres de fonctionnement, le circuit électronique comprenant un premier module adapté à déterminer une plage de variation du troisième paramètre pour chaque valeur du premier paramètre en faisant varier le deuxième paramètre, lesdites plages étant distinctes, le système comprenant un deuxième module adapté à déterminer une valeur cible du troisième paramètre, le circuit électronique comprenant un troisième module adapté à amener le troisième paramètre à la valeur cible si la valeur cible est située dans l'une des plages, et, dans le cas contraire, à sélectionner les deux plages encadrant la valeur cible et faire amener successivement le troisième paramètre dans chacune des deux plages sélectionnées.
Un autre mode de réalisation prévoit un procédé d'analyse d'un circuit électronique permettant de déterminer des configurations optimales de fonctionnement du circuit électronique selon un critère de performance donné, chaque configuration de fonctionnement du circuit électronique étant définie par des valeurs prises par des premier, deuxième et troisième paramètres de fonctionnement, le premier paramètre pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète, le deuxième paramètre pouvant varier entre une valeur minimale et une valeur maximale, à chaque couple d'une première valeur du premier paramètre et d'une deuxième valeur du deuxième paramètre étant associée une troisième valeur limite du troisième paramètre au-delà de laquelle le circuit est susceptible de ne plus fonctionner, le procédé comprenant les étapes suivantes :
a) déterminer, pour chaque valeur du premier paramètre, une plage de variation limite du troisième paramètre en faisant varier le deuxième paramètre entre les valeurs minimale et maximale de ce deuxième paramètre et en recherchant les troisièmes valeurs limites correspondantes du troisième paramètre ; et
b) déterminer, pour chaque valeur du premier paramètre, une plage de variation optimale du troisième paramètre correspondant à tout ou partie de ladite plage de variation limite du troisième paramètre précédemment établie pour la valeur du premier paramètre considéré, de sorte que les plages de variation optimale retenues pour les différentes valeurs du premier paramètre sont toutes distinctes.
Selon un mode de réalisation, le procédé comprend, en outre, une étape supplémentaire c) entre les étapes a) et b) , l'étape c) consistant à déterminer une courbe de variation d'une donnée représentative dudit critère de performance en fonction du troisième paramètre, en définissant, pour chaque première valeur du premier paramètre, un arc de courbe correspondant aux valeurs de ladite donnée représentative obtenues sur la plage de variation limite du troisième paramètre associée au premier paramètre considéré et la plage de variation correspondante du deuxième paramètre et, lors de l'étape b) , on détermine, pour chaque valeur du premier paramètre, une plage de variation optimale du troisième paramètre correspondant à tout ou partie de ladite plage de variation limite du troisième paramètre précédemment établie pour la valeur du premier paramètre considéré, de sorte que les plages de variation optimale retenues pour les différentes valeurs du premier paramètre sont toutes distinctes et de sorte que les portions d'arc de courbe associées aux plages de variation optimale retenues répondent au mieux au critère de performance du circuit électronique pour les valeurs correspondantes du troisième paramètre. Selon un mode de réalisation, l'étape c) comprend les étapes suivantes :
déterminer l'enveloppe convexe ou concave de ladite courbe de variation (C) ; et
rechercher les portions desdites plages de variation limite du troisième paramètre qui correspondent à ladite enveloppe et retenir ces portions comme plages de variation optimale.
Un autre mode de réalisation prévoit un procédé de commande d'un circuit électronique permettant de déterminer une configuration optimale de fonctionnement du circuit électronique selon un critère de performance donné, chaque configuration de fonctionnement du circuit électronique étant définie par des valeurs données de premier, deuxième et troisième paramètres de fonctionnement, le premier paramètre pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète, le circuit électronique comprenant des moyens de mémorisation d' informations préalablement obtenues par le procédé d'analyse tel que défini précédemment et comprenant, pour chaque valeur du premier paramètre, une plage de variation optimale du troisième paramètre associée à une plage correspondante de valeurs du second paramètre, les plages de variation optimale étant toutes distinctes, le circuit électronique comprenant des moyens d'analyse permettant, à chaque couple de l'une des premières valeurs du premier paramètre et d'une deuxième valeur du deuxième paramètre, de lui associer une troisième valeur du troisième paramètre, le procédé comprenant les étapes suivantes :
d) déterminer une valeur cible du troisième paramètre ; e) si la valeur cible est située dans l'une des plages de variation optimale du troisième paramètre, sélectionner cette plage de variation optimale et faire fonctionner le circuit électronique en amenant le troisième paramètre à la valeur cible ; et
f) dans le cas contraire, sélectionner les deux plages de variation optimale du troisième paramètre encadrant la valeur cible et faire fonctionner le circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages de variation optimale sélectionnées, entre une valeur inférieure et une valeur supérieure du troisième paramètre encadrant la valeur cible ; et
lors des étapes e) ou f) , le premier paramètre est amené à la première valeur correspondant à la plage dans laquelle est située la troisième valeur appliquée et le deuxième paramètre est amené à la deuxième valeur du couple associé à la troisième valeur appliquée.
Selon un mode de réalisation, ledit critère de performance donné est un critère énergétique, tel que la puissance ou l'énergie, et le troisième paramètre est représentatif d'un critère de performance temporel, tel que la fréquence de fonctionnement du circuit électronique.
Selon un mode de réalisation, la valeur cible est déterminée pour l'exécution d'une tâche par le circuit électronique dans une durée donnée.
Selon un mode de réalisation, le procédé comprend, à l'étape f) , un premier fonctionnement du circuit électronique pendant une première durée en amenant le troisième paramètre à ladite valeur inférieure, et un deuxième fonctionnement du circuit électronique pendant une deuxième durée en amenant le troisième paramètre à ladite valeur supérieure, les premier et deuxième fonctionnements étant répétés alternativement.
Selon un mode de réalisation, le premier paramètre est la tension d'alimentation du circuit électronique, le deuxième paramètre est la tension de polarisation de transistors à effet de champ à grille métal-oxyde du circuit électronique, et le troisième paramètre est la fréquence d'horloge à laquelle est cadencé le circuit électronique.
Un autre mode de réalisation prévoit un procédé de commande de plusieurs circuits électroniques, comprenant les étapes suivantes : si la valeur cible est située dans l'une des plages de l'un des circuits électroniques, faire fonctionner ledit circuit électronique en amenant le troisième paramètre à la valeur cible ; et
dans le cas contraire, sélectionner l'un des circuits électroniques et, pour ledit circuit électronique, sélectionner les deux plages encadrant la valeur cible et faire fonctionner ledit circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages sélectionnées .
Selon un mode de réalisation, le circuit électronique comprend au moins deux sections de circuit électronique, un rang étant attribué à chaque section de circuit électronique, et le premier paramètre est ledit rang.
Un autre mode de réalisation prévoit un circuit électronique comprenant :
des actionneurs permettant de commander les valeurs de premier, deuxième et troisième paramètres définissant une configuration de fonctionnement du circuit électronique, le premier paramètre pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète ;
un premier module comprenant des moyens de mémorisation d' informations préalablement obtenues selon le procédé de la revendication 1 et comprenant, pour chaque valeur du premier paramètre, une plage de variation optimale du troisième paramètre associée à une plage correspondante de valeurs du second paramètre, les plages de variation optimale étant toutes distinctes, et comprenant des moyens d'analyse reliés aux moyens de mémorisation et permettant d'associer une troisième valeur du troisième paramètre à chaque couple de l'une des premières valeurs du premier paramètre et d'une deuxième valeur du deuxième paramètre ;
un deuxième module adapté à déterminer une valeur cible du troisième paramètre ; un troisième module d'analyse adapté à déterminer si la valeur cible est située dans l'une des plages de variation optimale, et à sélectionner cette plage dans l'affirmative et, dans le cas contraire, à sélectionner les deux plages encadrant la valeur cible, le module d'analyse définissant selon le cas une ou deux configurations de fonctionnement avec un troisième paramètre présentant respectivement la valeur cible ou deux valeurs respectivement inférieure et supérieure à ladite valeur cible et appartenant respectivement aux deux plages sélectionnées, pour chaque configuration le premier paramètre prenant une première valeur correspondant à la plage dans laquelle est située la valeur du troisième paramètre et le deuxième paramètre prenant la deuxième valeur du couple associé à la troisième valeur retenue ; et
un quatrième module de commande adapté à appliquer, par l'intermédiaire desdits actionneurs, une configuration de fonctionnement ou alternativement chacune des deux configurations de fonctionnement définies par le troisième module d'analyse.
Selon un mode de réalisation, le premier module comprend des moyens de mise en oeuvre du procédé d'analyse tel que défini précédemment permettant de définir lesdites informations sauvegardées par lesdits moyens de mémorisation.
Brève description des dessins
Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles :
la figure 1 représente, de façon partielle et schématique, un mode de réalisation d'un circuit électronique ;
la figure 2 représente un exemple de fréquences d'horloge maximales accessibles en fonction de la tension d'alimentation et de la tension de polarisation de caissons de transistors MOS du circuit électronique de la figure 1 ;
la figure 3 représente, sous la forme d'un schéma-bloc, un mode de réalisation d'un procédé de détermination des configurations de fonctionnement à puissance minimale du circuit électronique de la figure 1 ;
la figure 4 représente un exemple de courbe d'évolution de la puissance consommée par le circuit électronique de la figure 1 en fonction de la fréquence d'horloge lors de variations de la tension d'alimentation et de la tension de polarisation de caissons de transistors MOS du circuit électronique ;
la figure 5 représente un exemple d'enveloppe convexe de la courbe d'évolution de la figure 4 ;
la figure 6 représente des courbes de variation, en fonction de la fréquence d'horloge, de la tension d'alimentation et de la tension de polarisation de caissons de transistors MOS du circuit électronique de la figure 1 ;
la figure 7 représente, sous la forme d'un schéma-bloc, un mode de réalisation d'un procédé de commande de la fréquence d'horloge, de la tension d'alimentation et de la tension de polarisation de caissons de transistors MOS du circuit électronique de la figure 1 ;
la figure 8 est une figure analogue à la figure 5 et illustre un exemple de mise en oeuvre du mode de réalisation du procédé de commande de la figure 7 ;
la figure 9 est une figure analogue à la figure 6 et illustre un autre exemple de mise en oeuvre du mode de réalisation du procédé de commande de la figure 7 ;
la figure 10 représente, de façon partielle et schématique, un autre mode de réalisation d'un circuit électronique ; et
la figure 11 représente, sous la forme d'un schéma-bloc, un mode de réalisation d'un procédé de commande du circuit électronique de la figure 10.
Description détaillée
Par souci de clarté, de mêmes éléments ont été désignés par de mêmes références aux différentes figures et, de plus, les diverses figures ne sont pas tracées à l'échelle. En outre, dans la suite de la description, sauf indication contraire, les termes "sensiblement", "environ" et "de l'ordre de" signifient "à 10 % près" .
Selon un mode de réalisation, le procédé de commande comprend la modification de trois paramètres de fonctionnement d'un circuit électronique permettant d'atteindre les performances de fonctionnement souhaitées du circuit électronique avec une puissance consommée sensiblement la plus faible possible, dans lequel au moins l'un des paramètres de fonctionnement ne peut prendre que des valeurs discrètes tandis que les autres paramètres de fonctionnement peuvent varier de façon continue, ou discrète à pas fin, ou discrète.
De préférence, au moins l'un des paramètres de fonctionnement du circuit électronique est représentatif de la vitesse de fonctionnement du circuit électronique. Il peut s'agir de la fréquence d'horloge à laquelle est cadencé le circuit électronique .
Un mode de réalisation va maintenant être décrit en détail dans lequel les trois paramètres de fonctionnement du circuit électronique sont la tension d'alimentation du circuit électronique, la fréquence d'horloge et la tension de polarisation de caissons de transistors MOS du circuit électronique. A titre d'exemple, dans ce mode de réalisation, le paramètre de fonctionnement évoluant de façon discrète est la tension d' alimentation .
La figure 1 représente un mode de réalisation d'un circuit électronique 10.
Le circuit électronique 10 comprend plusieurs circuits électroniques unitaires 12, par exemple de 1 à 64 circuits 12. Les circuits 12 sont adaptés à fonctionner en parallèle. Chaque circuit électronique unitaire 12 est relié à un module de commande global 14 adapté, notamment, à répartir les tâches à accomplir entre les différents circuits 12. Le module de commande global 14 peut être réalisé de manière centralisée ou distribuée dans le circuit électronique 10. Selon un exemple, le module de commande global 14 peut comprendre un processeur adapté à exécuter les instructions d'un programme d'ordinateur stockées dans une mémoire. Selon un autre exemple, le module de commande global 14 peut être réalisé par un circuit dédié, par exemple sous la forme d'une machine à états.
Selon un mode de réalisation, au moins l'un des circuits
12 peut être alimenté à une tension d'alimentation V^y qui peut être différente des tensions d'alimentation des autres circuits électroniques unitaires 12. De préférence, chaque circuit 12 peut être alimenté à une tension d'alimentation qui peut être différente des tensions d'alimentation des autres circuits électroniques unitaires.
Selon un mode de réalisation, au moins l'un des circuits 12 est un circuit électronique synchrone, ou un circuit électronique localement synchrone, qui peut être cadencé par une fréquence d'horloge F qui peut être différente des fréquences d'horloge cadençant les autres circuits électroniques unitaires 12. De préférence, chaque circuit 12 peut être cadencé à une fréquence d'horloge F qui peut être différente des fréquences d'horloge cadençant les autres circuits électroniques unitaires 12.
Selon un mode de réalisation, au moins l'un des circuits 12 comprend des transistors MOS et la tension de polarisation des caissons des transistors MOS du circuit 12 peut être modifiée. De préférence, tous les circuits 12 comprennent des transistors MOS et la tension de polarisation des caissons des transistors
MOS de chaque circuit 12 peut être différente des tensions de polarisation des autres circuits électroniques unitaires 12.
La structure de l'un des circuits électroniques unitaires 12 va maintenant être décrite. Plusieurs circuits électroniques unitaires 12 peuvent avoir une structure analogue.
Au moins l'un des circuits électronique unitaires 12 comprend un module de traitement 20 adapté, notamment, à réaliser des calculs. Il peut s'agir d'un circuit électronique dédié ou d'un processeur adapté à exécuter les instructions d'un programme d'ordinateur stocké dans une mémoire. Le module de traitement 20 est alimenté par la tension d'alimentation V^y. Les caissons d'au moins certains transistors MOS du module de traitement 20 sont polarisés à la tension de polarisation ^. Le module de traitement 20 est cadencé à la fréquence d'horloge F. Le module de traitement 20 est adapté à exécuter les tâches attribuées au circuit 12 par le module de commande global 14.
Le circuit électronique unitaire 12 comprend un module de commande local 22 adapté à commander au moins trois actionneurs 24, 26, 28. Le premier actionneur 24 est adapté à modifier la fréquence F. Le deuxième actionneur 26 est adapté à modifier la tension d'alimentation V^. Selon un exemple, l' actionneur 26 peut comprendre un convertisseur continu-continu commandé par le module 22. Selon un autre exemple, l' actionneur 26 correspond à un circuit de saut de tension V^y (en anglais "Vdd hopping") . Le troisième actionneur 28 est adapté à modifier la tension de polarisation ^. Le troisième actionneur 28 peut comprendre un circuit à pompe de charge.
Le circuit électronique unitaire 12 peut comprendre des capteurs 30, par exemple disposés dans le module de traitement 20. L'un des capteurs 30 peut correspondre à un capteur fournissant un signal représentatif de la température T dans le module de traitement 20. L'un des capteurs 30 peut correspondre à un capteur fournissant un signal représentatif de l'activité A du module de traitement 20. L'activité A du circuit 12 est, par exemple, une donnée représentative du nombre de portes logiques qui basculent dans un intervalle de temps défini ou le nombre de transitions des transistors MOS du module de traitement 20 pour la tâche en cours d'exécution. L'un des capteurs 30 peut correspondre à un capteur fournissant un signal représentatif de la puissance P consommée par le module de traitement 20.
Le circuit électronique unitaire 12 peut comprendre un module d'analyse 32 recevant les signaux fournis par les capteurs 30. Le module d'analyse 32 est adapté à fournir des données représentatives de configurations de fonctionnement susceptibles d'être appliquées par le module de commande 22. Ces configurations dans la suite sont appelées configurations optimales. Il s'agit des configurations de fonctionnement du circuit 12 dans lesquelles un paramètre représentatif de la consommation électrique du circuit 12 est minimal ou sensiblement minimal. Ce paramètre correspond, par exemple, à la puissance électrique consommée par le circuit 12 ou à l'énergie électrique utilisée par le circuit 12 pour l'exécution d'une tâche.
Selon une variante, la température T peut ne pas être mesurée directement. La température T peut alors être déterminée par le module d'analyse 32 à partir de signaux fournis par les circuits 12 voisins du circuit considéré. Selon une variante, l'activité A peut ne pas être mesurée directement et peut être estimée par le module d'analyse 32. Selon une variante, la puissance consommée P peut ne pas être mesurée directement. La puissance P peut alors être estimée par le module d'analyse 32. La puissance consommée P peut être estimée à partir de la mesure de la température T, de l'activité A, de la tension d'alimentation vdd et ^e la tension de polarisation ^. La puissance consommée P peut être divisée en une puissance dynamique P^yn et une puissance de fuite P]_eak. La puissance dynamique P^yn est ^a puissance consommée due à l'énergie dissipée pendant les changements d'états des portes logiques ou les passages entre l'état passant et l'état bloqué des transistors MOS . La puissance de fuite P]_eak est la puissance consommée due aux pertes diverses des transistors autres que la puissance dynamique P^yn- Le module d'analyse 32 peut déterminer une estimation de la puissance dynamique P^yn Par une fonction mathématique de la fréquence F, de l'activité A et de la tension d'alimentation V^y. Le module d'analyse 32 peut déterminer une estimation de la puissance de fuite P]_eak Par une fonction mathématique de la fréquence F, de la tension d'alimentation V^, de la température T et de la tension de polarisation ^.
Selon un mode de réalisation, la tension d'alimentation ¼id peut prendre N valeurs discrètes ^^j_, N étant un nombre entier variant par exemple de 2 à 5 et i étant un nombre entier variant de 1 à N. La tension de polarisation Vbb peut varier de façon continue, ou discrète à pas fin, entre une valeur minimale vbb,min, i et une valeur maximale Vbb/maX/ i' ces deux valeurs pouvant dépendre de V^y j_ .
Les paramètres ^, Vbb et F dépendent les uns des autres. En effet, pour un couple donné de tensions et Vbb, il existe une valeur maximale Fmax de la fréquence d'horloge au-delà de laquelle des erreurs temporelles peuvent se produire. Une erreur temporelle se produit par exemple lorsque le signal d'entrée d'au moins une bascule ne s'établit pas dans une période d'horloge. De façon générale, le circuit 12 est cadencé à la fréquence maximale Fmax, éventuellement en appliquant une marge de sécurité, qui est permise par les valeurs des tensions ^, vbb appliquées au circuit 12.
En fonctionnement, le circuit électronique 12 est amené à effectuer une succession de tâches. Une contrainte de performance est associée à l'exécution de chaque tâche. Ceci signifie que l'exécution de la tâche doit être finie au plus tard à l'achèvement d'une durée déterminée. Une possibilité consiste à faire fonctionner le circuit 12 à une fréquence d'horloge cible Ftarget constante qui est la fréquence d'horloge pour laquelle l'exécution de la tâche est finie à l'achèvement de la durée déterminée. Une autre possibilité consiste à faire fonctionner le circuit successivement à différentes fréquences d'horloge de sorte que l'exécution de la tâche soit finie à l'achèvement de la durée déterminée. Les performances temporelles du circuit 12 sont alors équivalentes à un fonctionnement à la fréquence d'horloge cible Ftarget- Les fréquences d'horloge cible F-|-arge-|- de tâches successives peuvent varier d'une tâche à l'autre.
Pour chaque valeur de la tension d'alimentation ^^j_, où i varie de 1 à N, la fréquence d'horloge maximale Fmax accessible à laquelle peut être cadencée le circuit électronique varie dans la plage [¾iax,i-' Fmax,i+] lorsque la tension de polarisation Vbb varie de Vbb,miri/i à Vbb,maX/i. La figure 2 représente un exemple des fréquences d'horloge maximales Fmax qui peuvent être atteintes pour tous les couples (^dd' vbb) possibles dans le cas où la tension d'alimentation Vdd peut prendre quatre valeurs ^]_, ^2' vdd3 ou et dans le cas où la tension de polarisation peut varier de mj_n j_ à max, i' ou i varie de 1 à 4. Un couple unique de tensions ( ^, ^) correspond à un point de l'un des segments A]_, A2, A3 ou A4.
On considère trois fréquences d'horloge cibles F†-arge†-]_, Ftarget2 et Ftarget3 · Comme cela apparaît sur la figure 2, un seul point B de l'un des segments A]_, A2, A3 et A4 correspond à la fréquence d'horloge cible F-|-argetl · Ceci signifie que la fréquence d'horloge cible F-|-argeti n'est accessible que par un seul couple de tensions (V^y, V^) . Pour réduire la consommation électrique du circuit 12, il pourrait être envisagé d'appliquer les tensions vdd et vbb associées au point B et cadencer le circuit à la fréquence d'horloge cible F^arge^_i . Toutefois, ceci ne garantit pas que la puissance consommée par le circuit 12 est minimale et qu'il n'existe pas une autre solution pour laquelle la puissance consommée serait inférieure pour la même performance que celle associée au point B.
Deux points C et D de deux segments différents, A3 et A4, correspondent à la fréquence d'horloge cible F--arge--2. La fréquence d'horloge cible F-|-arge-|-2 est donc accessible par deux couples de tensions ( ^, vbb) · Le problème est de sélectionner le couple de tensions ( ^, ^) à utiliser. Toutefois, il n'est pas garanti que la puissance consommée par le circuit soit minimale pour l'un ou l'autre de ces couples de tensions.
Aucun point des segments A]_, A2, A3 et A4 ne correspond à la fréquence d'horloge cible F-ar.g-e†-3. Une possibilité serait alors de cadencer le circuit à une fréquence d'horloge accessible supérieure à la fréquence d'horloge cible F-|-arge-|-3. Toutefois, la puissance consommée par le circuit n'est alors pas minimale. Une autre possibilité serait de faire fonctionner le circuit 12 successivement à une fréquence d'horloge Fj_nf inférieure à la fréquence d'horloge cible Fta-g"et3 e^ à une fréquence d'horloge FSUp supérieure à la fréquence d'horloge cible F-|-arge-|-3 ou inversement. Le problème est alors de sélectionner les couples de tensions ( ^, ^) à utiliser pour les fréquences Fj_nf et FSUp de façon que la puissance consommée soit minimale.
Selon un mode de réalisation, il est mis en oeuvre un procédé de détermination des configurations de fonctionnement du circuit 12 pour lesquelles la puissance consommée par le circuit 12 est minimale, ou sensiblement minimale, tout en atteignant les performances souhaitées. De telles configurations de fonctionnement sont appelées configurations optimales. Chaque configuration optimale correspond à un triplet comportant une valeur de la tension V^, une valeur de la tension et une valeur de fréquence d'horloge maximale Fmax correspondante.
Le procédé de détermination des configurations optimales peut être mis en oeuvre lors de la conception du circuit électronique 10 ou lors d'une étape de caractérisation du circuit électronique 10 après sa fabrication. Dans ce cas, des données représentatives des configurations optimales peuvent être stockées dans une mémoire du module d'analyse 32. A titre de variante, le procédé de détermination des configurations optimales peut être mis en oeuvre par le module d'analyse 32 lors du fonctionnement du circuit électronique 10.
Selon un mode de réalisation, en fonctionnement, il est mis en oeuvre un procédé de commande comprenant la sélection de la configuration optimale ou de deux configurations optimales à appliquer pour atteindre les performances souhaitées et la commande des actionneurs pour appliquer la configuration optimale sélectionnée ou les configurations optimales sélectionnées.
La figure 3 représente, sous la forme d'un schéma-bloc, un mode de réalisation du procédé de détermination des configurations optimales .
A l'étape 40, il est déterminé, pour une température T et une activité A déterminées, l'ensemble des plages [FmaX/j__, FmaX/j_+] de la fréquence d'horloge maximale FmaX/j_, où i varie de 1 à N, pouvant être obtenues en faisant varier la tension d'alimentation parmi les valeurs j_ et en faisant varier la tension de polarisation Vbb entre bb/miri/i et Vbb,maX/i. Les segments A]_, A2, A3 et A4 décrits précédemment en relation avec la figure 2 représentent un exemple de plages [FmaX/j__, FmaX/j_+] de fréquences d'horloge maximales FmaX/ j_ dans le cas où N est égal à 4.
A titre d'exemple, la détermination de la fréquence d'horloge maximale FmaX f j_ obtenue pour un couple de tensions (Vbb, ¼id, i) peut être déterminée par l'intermédiaire de capteurs de délais décrits dans la publication intitulée "An innovative timing slack monitor for variation tolérant circuits" de B. Rebaud et al. (IEEE International Conférence on IC Design an Technology - ICICDT - 2009, pages 215-218, 18-20 May 2009) .
Le procédé se poursuit à l'étape 42.
A l'étape 42, il est déterminé la puissance consommée P par le module de traitement 20 pour chaque triplet (FmaX/j_, Vbb, ¼id, i) et Pour la température T et l'activité A déterminées. Dans la suite de la description, on appelle point de fonctionnement PM le couple puissance-fréquence d'horloge (P, FmaX/j_) .
La figure 4 représente un exemple de courbe d'évolution C de la puissance consommée P en fonction de la fréquence d'horloge F, pour une température T et une activité A déterminées, dans le cas où N est égal à 4. Chaque point de la courbe C correspond à un point de fonctionnement PM. La courbe C comprend quatre arcs C]_, C2, C3 et C4. De façon générale, la courbe C comprend N arcs Cj_, i variant de 1 à N, chaque arc Cj_ étant obtenu avec la tension d'alimentation j_ . Pour chaque arc Cj_, le point de l'arc à la fréquence FmaX/j__, c'est-à-dire le point d'extrémité à gauche en figure 4, est obtenu pour la tension de polarisation Vbb/mj_n/ j_ et le point de l'arc à la fréquence FmaX/j_+, c'est-à-dire le point d'extrémité à droite en figure 4, est obtenu pour la tension de polarisation Vbb,maX/i.
Le procédé se poursuit à l'étape 44. A l'étape 44, il est déterminé l'enveloppe convexe <¾ de la courbe C. L'enveloppe convexe <¾ est définie, comme la courbe C, pour une température T et une activité A déterminées. L'enveloppe convexe <¾ est définie par les relations (1) suivantes :
C=Ui=1:NCi (1) F ^i=i-N [Fmax i_, f7ri0i ji+] a G [0,1] c = {(PpFj)\P(aFa + (1 - a)Fb)≤ aP(Fa) + (1 - a)P(Fb),]
H [ Fa≠ Fb, (Fa, Fb) E EF X EF j Ceci signifie que pour deux points PMa et ΡΜ^ de l'enveloppe convexe ¾, tous les points de l'arc de la courbe ¾ entre les points PMa et ΡΜ^ sont en dessous de la droite reliant les points PMa et ΡΜ^. L'enveloppe convexe ¾ comprend des arcs ¾i avec i variant de 1 à N, chaque arc Cu_i correspondant à une portion de l'arc Cj_.
Il a été mis en évidence que si la fréquence d'horloge cible F-|-arge-|- correspond à une fréquence FmaX/ j_ associée à un point PM appartenant à l'enveloppe convexe ¾, la puissance consommée est alors minimale. Par ailleurs, il a été mis en évidence que si la fréquence d'horloge cible F-|-arge-|- correspond à une fréquence FmaX/ j_ associée à un point PM qui n'appartient pas à l'enveloppe convexe ¾, une puissance consommée minimale peut être obtenue en faisant fonctionner le module de traitement 20 successivement à une fréquence FSUp supérieure à F-|-arge-|- et à une fréquence Fj_nf inférieure à F-|-arge-|- ou inversement, les fréquences
Fsup et Finf étant les fréquences les plus proches de F-|-arge-|- auxquelles correspondent des points PM de l'enveloppe convexe ¾.
Le procédé se poursuit à l'étape 46.
A l'étape 46, il est déterminé les extrémités de chaque arc ¾j_ de l'enveloppe convexe ¾.
La figure 5 représente un exemple de courbe convexe ¾ associée à la courbe C représentée en figure 4. En figure 5, les parties de la courbe C qui n'appartiennent pas à la courbe <¾ sont représentées en traits pointillés. Pour chaque arc un premier point d'extrémité, noté PMj__, correspond au point de l'arc <¾j_ pour lequel la tension de polarisation est la plus faible, notée j__ . La fréquence maximale du point PMj__ est notée Fj__.
Le deuxième point d'extrémité, noté PMj_+, correspond au point de l'arc <¾i pour lequel la tension de polarisation est la plus élevée, notée j_+ . La fréquence maximale correspondant au point PMj_+ est notée Fj_+ . Le procédé se poursuit à l'étape 48.
A l'étape 48, les valeurs des triplets i^ddri' ^hb,i-'
Fj__) et (Vçid, i' vbb,i+' Fi+) ' pour i variant de 1 à N, sont stockées dans une mémoire du module d'analyse 32. En outre, des données représentatives des courbes d'évolution de la tension de polarisation j_ en fonction de la fréquence d'horloge maximale Fmax pour chaque valeur j_ de la tension d'alimentation V^y sont stockées dans une mémoire du module d'analyse 32. L'ensemble de ces données correspond aux données représentatives des configurations optimales et sont associées à une température T et une activité A déterminées .
Les données représentatives des configurations optimales pour une température T et une activité A déterminées sont indiquées dans le tableau (1) suivant :
Figure imgf000023_0001
Tableau (1)
La figure 6 représente les courbes de variation, en fonction de la fréquence d'horloge, de la tension d'alimentation vdd et ^e la tension de polarisation pour une température T et une activité A déterminées, obtenues à partir de l'exemple d'enveloppe convexe de la figure 5. Ces courbes illustrent les données représentatives des configurations optimales.
Selon un mode de réalisation, les étapes 40 à 48 décrites précédemment sont répétées plusieurs fois pour plusieurs valeurs de température T et/ou plusieurs valeurs d'activité A. Pour chaque valeur de température T et/ou d'activité A, les données représentatives des configurations optimales sont stockées dans la mémoire du module d'analyse 32.
Selon un autre mode de réalisation, les étapes 40 à 48 décrites précédemment sont réalisées par le module d'analyse 32 en fonctionnement. Le module d'analyse 32 détermine les points PM à partir des valeurs de température T et d'activité A déterminées à partir des signaux fournis par les capteurs 30. Dans le cas d'une variation de la température T ou de l'activité A, le module d'analyse 32 peut déterminer de nouvelles valeurs des points PM. A titre d'exemple, des nouvelles valeurs des points PM peuvent n'être déterminées que lorsque la température T varie au-delà d'un seuil ou lorsque l'activité A varie au-delà d'un seuil.
La détermination de l'enveloppe convexe ¾, à l'étape 42 décrite précédemment, nécessite une mesure de la puissance consommée par le module de traitement 20. Toutefois, une telle mesure peut être difficile à réaliser. Selon un autre mode de réalisation, la détermination des plages de fréquences [Fj__, Fj_+] , i variant de 1 à N, est réalisée à partir des plages de fréquences tFmax, i-' Fmax, i+] déterminées à l'étape 40. A titre d'exemple, la plage [Fj__, Fj_+] est égale à la plage [Fmax, i-' Fmax, i+] à laquelle sont retirées les parties communes (éventuellement avec ajout de marges) avec une autre plage [Fmax, j-' Fmax, +] ' ou j es^ un non^re entier différent de i. Toutefois, la puissance consommée sur ces plages de fréquence peut ne pas être minimale. On notera que dans ce mode de réalisation simplifié, on obtient des plages de fréquences [Fj__, Fj_+] qui sont relativement proches de celles obtenues en mettant en oeuvre l'intégralité du procédé précédemment décrit .
Dans le mode de réalisation décrit précédemment, les configurations optimales correspondent aux configurations pour lesquelles la puissance consommée par le circuit électronique 12 est minimale. A titre de variante, au lieu d'utiliser la puissance électrique consommée par le module de traitement 20, il est possible de considérer l'énergie électrique utilisée pour la réalisation de la tâche considérée. Les configurations optimales sont alors celles pour lesquelles l'énergie utilisée est minimale.
Dans le mode de réalisation décrit précédemment, la courbe d'évolution C de la puissance consommée en fonction de la fréquence d'horloge du circuit 12 a été utilisée et l'enveloppe convexe <¾ de la courbe C a été déterminée. Toutefois, il est clair que la courbe d'évolution de l'inverse de la puissance consommée (ou de l'inverse de l'énergie utilisée) peut être utilisée. Dans ce cas, l'enveloppe concave de la courbe d'évolution de l'inverse de la puissance consommée est utilisée.
La figure 7 représente, sous la forme d'un schéma-bloc, un mode de réalisation du procédé de commande de la tension d'alimentation V^, de la tension de polarisation et de la fréquence d'horloge F du circuit 12.
Le module de commande global 14 fournit au module de commande local 22 du circuit 12 un signal représentatif de la fréquence d'horloge cible F-|-arge-|- pour la tâche à exécuter par le circuit 12.
A l'étape 50, le module d'analyse 32 détermine si la fréquence d'horloge cible F-|-arge-|- est située entre les fréquences
Fj__ et Fj_+, pour i variant de 1 à N, stockées en mémoire.
Selon un mode de réalisation, des données représentatives des configurations optimales ont été déterminées et stockées dans le module d'analyse 32 pour plusieurs valeurs de température T et plusieurs valeurs d'activité A. Dans le cas où le circuit d'analyse 32 est adapté à déterminer, à partir de mesures directes ou par estimation, la température T et l'activité A du module de traitement 20, le module d'analyse 32 peut sélectionner les valeurs de fréquences Fj__ et Fj_+, pour i variant de 1 à N, des données représentatives des configurations optimales qui ont été déterminées à la température la plus proche de la température mesurée/estimée et à l'activité la plus proche de l'activité mesurée/estimée . A titre de variante, le module d'analyse 32 peut déterminer de nouvelles données représentatives de configurations optimales, et donc de nouvelles valeurs des fréquences Fj__ et Fj_+, pour i variant de 1 à N, par interpolation à la température T mesurée/estimée et à l'activité A mesurée/estimée à partir des données représentatives des configurations optimales qui ont été déterminées aux températures T les plus proches de part et d'autre de la température mesurée/estimée et aux activités A les plus proches de part et d'autre de l'activité mesurée/estimée.
Selon un mode de réalisation, des données représentatives des configurations optimales ont été déterminées et stockées dans le module d'analyse 32 pour une seule valeur de température T et une seule valeur d'activité A. Le module d'analyse 32 peut alors sélectionner les valeurs de fréquences Fj__ et Fj_+, pour i variant de 1 à N, stockées dans la mémoire du module d'analyse 32. A titre de variante, le module d'analyse 32 peut déterminer de nouvelles données représentatives de configurations optimales, et donc de nouvelles valeurs des fréquences Fj__ et Fj_+, pour i variant de 1 à N, par interpolation à la température T mesurée/estimée et à l'activité A mesurée/estimée à partir des données représentatives des configurations stockées dans la mémoire du module d'analyse 32.
On notera que, quelle que soit la forme de mémorisation retenue, plus ou moins détaillée, le nombre de données mémorisées reste restreint. Cette simplicité est obtenue grâce à la présentation des informations en segments en nombre limité, correspondant à des valeurs discrètes en nombre limité du premier paramètre (Vdd) . En outre, l'analyse de la courbe d'évolution obtenue pour différents jeux de valeurs discrètes du premier paramètre peut être un élément d' aide à la sélection des valeurs discrètes de ce premier paramètre.
Si, à l'étape 50, la fréquence d'horloge cible F-|-arge-|- est comprise dans l'une des plages [Fj__, Fj_+], pour i variant de 1 à N, déterminées par le module d'analyse 32, alors le procédé se poursuit à l'étape 52 dans laquelle un première mode de commande, appelé Mode 1, est mis en oeuvre. Si, à l'étape 50, la fréquence d'horloge cible F-|-arget n'est pas comprise dans l'une des plages [Fj__, Fj_+] , pour i variant de 1 à N, déterminées par le module d'analyse 32, alors le procédé se poursuit à l'étape 54 dans laquelle un deuxième mode de commande, appelé Mode 2, est mis en oeuvre.
La figure 8 est une figure analogue à la figure 5 dans laquelle sont, en outre, représentées les plages de fréquences dans lesquelles le premier mode de commande, Mode 1, est mis en oeuvre et les plages de fréquences dans lesquelles le deuxième mode de commande, Mode 2, est mis en oeuvre.
A l'étape 52, le module d'analyse 32 détermine la valeur de la tension de polarisation pour laquelle la fréquence d'horloge cible est obtenue à partir des données représentatives des configurations optimales déterminées par le module d'analyse 32. Comme le point PM à la fréquence d'horloge cible F-|-arge-|- appartient à l'enveloppe convexe ¾, la puissance consommée est minimale. Le module 22 commande l'actionneur 24 pour amener la fréquence d'horloge à la fréquence d'horloge cible F-|-arge-|-. Le module 22 commande, en outre, l'actionneur 26 pour amener la tension d'alimentation V^y à la tension d'alimentation j_ et le module 22 commande l'actionneur 28 pour amener la tension de polarisation à la valeur déterminée. Les modifications de la fréquence d'horloge, de la tension d'alimentation et de la tension de polarisation sont réalisées de manière à garantir l'absence d'erreurs temporelles. A l'étape 54, le module d'analyse 32 détermine au moins deux fréquences d'horloge Fj_nf et FSUp correspondant à des points PM appartenant à l'enveloppe convexe <¾, la fréquence d'horloge Fj_nf étant strictement inférieure à la fréquence d'horloge cible Ftarget e^ fréquence d'horloge FSUp étant strictement supérieure à la fréquence d'horloge cible F-|-arge-|-. Selon un mode de réalisation, les points PM choisis sont les points d'extrémité des deux arcs de l'enveloppe convexe dont les fréquences d'horloge associées sont les plus proches de la fréquence d'horloge cible
Ftarget ·
Le module 22 commande l'actionneur 24 pour amener successivement la fréquence d'horloge à la valeur FSUp pendant une durée DSUp et à la valeur Fj_nf pendant une durée Dj_n . A titre de variante, la fréquence d'horloge FSUp peut être appliquée après la fréquence d'horloge Fj_nf. A titre d'exemple, en appelant D- la durée d'exécution de la tâche à la fréquence d'horloge cible Ftarget' ^-es durées Dj_nf et DSUp peuvent être déterminées selon les relations (2) suivantes :
Dsup = «Dt (2) Dinf = (l-a)Dt
α = (Ftarget_Finf) / (FSUp-Fj_nf)
La figure 8 illustre un exemple dans le cas où la fréquence d'horloge cible F-|-arge-|- est située entre les abscisses des points PM]_+ et PM2- correspondant respectivement aux triplets (vdd,l' vbb,l+' Fl+) et (vdd,2' vbb,2-' F2-) ·
Dans ce cas, la puissance consommée lors de l'application successive des valeurs du triplet i^dd,l' vbb,l+' F]_+) et des valeurs du triplet ( ^d 2' vbb,2-' F2-) est minimale. Sur la figure 8, cette puissance correspond au point à la fréquence Ftarget appartenant à la droite L représentée en traits pointillés reliant les points PM]_+ et PM2-.
Le mode de réalisation décrit précédemment en relation avec la figure 8 implique une modification simultanée de la fréquence d'horloge, de la tension d'alimentation et de la tension de polarisation ^. Toutefois, selon le type d' actionneurs 22, 24 et 26 utilisés, le passage d'une première valeur à une deuxième valeur de la fréquence d'horloge Fmax, de la tension d'alimentation et/ou de la tension de polarisation vbb Peut nécessiter une durée de transition qui n'est pas négligeable.
Selon un mode de réalisation, le passage du point PMSUp au point PMj_nf peut être réalisé en passant par un point intermédiaire PMj_n†-. Le point PMj_n-(- est associé à un triplet (V^y, vbb' Fmax) dont une composante est identique au triplet associé au point PMj_nf et dont une composante est identique au triplet associé au point PMSUp. La troisième composante est choisie pour garantir que le circuit est fonctionnel. De ce fait, lors du passage du point PMSUp au point PMj_n-j-, seuls deux paramètres sont modifiés. Le passage du point PMj_n-(- au point PMj_nf est alors obtenu en faisant varier la valeur du paramètre non modifié de la valeur pour le point PMSUp à la valeur pour le point PMj_nf, le troisième paramètre étant modifié à la valeur associée au point
La figure 9 est analogue à la figure 6 et illustre un tel mode de réalisation dans le cas où la tension de polarisation
^bb est e paramètre pour lequel la transition entre deux valeurs n'est pas instantanée. Le module 20 commande les actionneurs 22, 24 et 26 au point PMSUp associé au triplet i^dd,2' vbb,2-' F2-) pendant une durée OÎ' D- . Le module 20 commande alors les actionneurs 22 et 24 au point PMj_n-(- associé au triplet i^dd,l' V"bb,2-' Fj_n†-) . Le module 20 commande ensuite les actionneurs 22 et 26 pour passer, en une durée Y ' D-|-, du point PM-j_n-(- au point PMj_nf en faisant varier la tension de polarisation de 2- A vbb, 1+ et en faisant varier la fréquence de Fj_n†- à F]_+ . La durée γ' dépend de la dynamique de l'actionneur 26. Le circuit 12 est maintenu au point PMj_nf pendant une durée β ' D- .
La figure 10 représente un autre mode de réalisation d'un circuit électronique 60. Le circuit électronique 60 comprend l'ensemble des éléments du circuit électronique 10 représenté en figure 1. Le circuit électronique 60 comprend, en outre, un réseau d'interconnexion 62 adapté à permettre l'échange de données entre les circuits électroniques unitaires 12. Le réseau d'interconnexion 62 peut comprendre un bus d'échange de données ou correspondre à un réseau de communication sur puce (en anglais "Network on Chip") . Le circuit électronique comprend K circuits électroniques élémentaires 12, K étant un nombre entier strictement supérieur à 1. A titre d'exemple, en figure 10, K est égal à quatre .
Le module de commande global 14 est adapté à attribuer les tâches à exécuter entre les circuits électroniques unitaires 12. On considère une application comprenant M tâches Taskm qui doivent être attribuées, M étant un nombre entier supérieur strictement à 1 et m étant un nombre entier qui varie entre 1 et M. A chaque tâche Taskm est associée une fréquence d'horloge cible Ftarget,m pour l'exécution de cette tâche. Les fréquences d'horloge cible peuvent être déterminées par le module de commande global 14.
Le module de commande global 14 est adapté à collecter les données représentatives des configurations optimales pour chaque circuit 12. Les données représentatives des configurations optimales ont été déterminées par chaque circuit électronique 12 comme cela a été décrit précédemment.
Dans le cas où l'un des circuits 12 met à jour ses données représentatives de configurations optimales, les données mises à jour sont transmises au module 14.
La figure 11 représente, sous la forme d'un schéma-bloc, un mode de réalisation du procédé d'attribution des tâches par le module de commande global 14. Le procédé est mis en oeuvre pour chaque tâche Taskm à exécuter.
A l'étape 70, le module de commande global 14 détermine si la fréquence d'horloge cible F-|-arge-|-^m de la tâche Taskm appartient à l'une des plages de fréquences accessibles [Fj__, Fj_+ ] de l'un des circuits électroniques 12. Si la fréquence d'horloge cible F-ar.g-e†- ^m appartient à l'une des plages de fréquences accessibles [Fj__, Fj_+] de l'un des circuits électroniques 12, le module 14 sélectionne ce circuit 12 si ce dernier n'exécute pas déjà une tâche et le procédé se poursuit à l'étape 72. Si la fréquence d'horloge cible F--arge--fTil n'appartient pas à l'une des plages de fréquences accessibles [Fj__, Fj_+] de l'un des circuits électroniques 12, le module de commande global 14 sélectionne le circuit électronique 12 disponible pour lequel la puissance consommée est la plus faible en appliquant le mode de commande Mode 2 décrit précédemment et le procédé se poursuit à 1 ' étape 74.
A l'étape 72, le module 14 attribue la tâche Taskm au circuit électronique 12 sélectionné et transmet la fréquence d'horloge cible F-|-arget,m au circuit électronique 12 sélectionné. Le circuit 12 sélectionné met alors en oeuvre un procédé de commande de type Mode 1 tel que décrit précédemment.
A l'étape 74, le module 14 attribue la tâche Taskm au circuit électronique 12 sélectionné et transmet la fréquence d'horloge cible F--arge--fTil au circuit électronique 12 sélectionné. Le circuit 12 sélectionné met alors en oeuvre un procédé de commande de type Mode 2 tel que décrit précédemment .
Des modes de réalisation particuliers ont été décrits.
Diverses variantes et modifications apparaîtront à l'homme de l'art. Bien que, dans les modes de réalisation décrits précédemment, les paramètres de fonctionnement du circuit électronique utilisés soient la fréquence d'horloge, la tension d'alimentation et la tension de polarisation de caissons de transistors, d'autres paramètres de fonctionnement peuvent être utilisés. A titre d'exemple, un paramètre représentatif de la vitesse de fonctionnement du circuit électronique, autre que la fréquence d'horloge, peut être utilisé. En particulier, dans le cas d'un circuit électronique mettant en oeuvre un système de stockage de données à disque dur, la vitesse de rotation du disque dur peut être utilisée comme paramètre de fonctionnement.
Même si des modes de réalisation dans lesquels le paramètre de fonctionnement discret est la tension d'alimentation du circuit électronique ont été décrits, un autre paramètre de fonctionnement discret peut être utilisé. En effet, en considérant le circuit électronique 60 représenté en figure 10, le rang, ou numéro, du circuit 12 auquel la tâche est attribuée peut être le paramètre de fonctionnement discret du circuit 60. Un actionneur d'un tel paramètre de fonctionnement est alors adapté à faire exécuter par un circuit 12 une tâche initialement exécutée par un autre circuit 12. L'utilisation du rang comme paramètre de fonctionnement est particulièrement intéressante dans le cas où les circuits 12 présentent des performances différentes, par exemple en termes de consommation et vitesse de fonctionnement. Les deux autres paramètres de fonctionnement suivants à variation continue peuvent, en outre, être utilisés : la fréquence d'horloge de chaque circuit 12 et la tension de polarisation de caissons de transistors MOS de chaque circuit 12 ou la tension d'alimentation de chaque circuit 12 dans le cas d'une tension d'alimentation variant de façon continue ou discrète à pas fin ou discrète.
En outre, le paramètre de fonctionnement cible pourrait être une tension, par exemple la tension d'alimentation fournie par une batterie. Dans ce cas, on pourrait chercher à adapter les paramètres de fonctionnement, par exemple la fréquence de fonctionnement, pour optimiser un critère de performance, telle que la consommation du circuit. Dans ce cas, on pourrait avoir comme premier, deuxième et troisième paramètres de fonctionnement, respectivement la tension de polarisation de caisson Vbb, la fréquence du circuit, et la tension d'alimentation du circuit. On aurait alors des plages de variations de tension d'alimentation minimale en fonction de la fréquence pour une valeur de tension de polarisation donnée.
Par ailleurs, on pourrait chercher à optimiser un critère de performance autre qu'un critère de performance énergétique (puissance, énergie...), par exemple un critère de température, de réchauffement ou de vieillissement du circuit.
En outre, dans les modes de réalisation décrits précédemment, l'enveloppe <¾ de la donnée représentative du critère de performance est toujours croissante (par exemple pour la puissance en fonction de la fréquence maximale, représentée en figure 4) ou toujours décroissante (si on prend par exemple l'énergie en fonction de la période d'horloge). Dans le cas où l'on obtiendrait une enveloppe croissante puis décroissante, ou l'inverse, en fonction du troisième paramètre, il est fort probable qu'une partie des configurations associées à la partie décroissante ou croissante soit sous-optimale par rapport à l'autre partie. Dans ce cas, on conservera en pratique une partie de l'enveloppe uniquement croissante ou uniquement décroissante. A titre d'exemple, si on considère que l'on a comme troisième paramètre la période d'horloge du circuit (1/fréquence) et que l'on choisit comme courbe d'évolution l'énergie en fonction de la période, alors il est fort possible que l'enveloppe convexe soit décroissante, puis croissante. Dans ce cas, on constate que la consommation statique devient prépondérante par rapport à la consommation dynamique quand la période devient trop grande (la fréquence trop faible) et il sera plus judicieux de faire fonctionner le circuit à des fréquences pas trop élevées, correspondant à la partie décroissante de l'enveloppe (avec l'éventuelle possibilité de mettre le circuit en mode veille si l'exécution de la tâche a été terminée plus rapidement que demandé) .
Par ailleurs, l'homme de l'art aura compris que la plage de valeurs utiles du troisième paramètre sera limitée et encadrée par les valeurs minimale et maximale du troisième paramètre susceptibles de correspondre aux configurations retenues afin que le procédé d'analyse fonctionne correctement.

Claims

REVENDICATIONS
1. Procédé d'analyse d'un circuit électronique (12) permettant de déterminer des configurations optimales de fonctionnement du circuit électronique selon un critère de performance donné, chaque configuration de fonctionnement du circuit électronique étant définie par des valeurs prises par des premier (Vdd) , deuxième (Vbb) et troisième (¾]3χ) paramètres de fonctionnement, le premier paramètre ( ^y) pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète, le deuxième paramètre (Vbb) pouvant varier entre une valeur minimale (vbb,min,i) et une valeur maximale (^hb,max, ' à chaque couple d'une première valeur du premier paramètre et d'une deuxième valeur du deuxième paramètre (V^) étant associée une troisième valeur limite du troisième paramètre (Fmax) au-delà de laquelle le circuit est susceptible de ne plus fonctionner, le procédé comprenant les étapes suivantes :
a) déterminer, pour chaque valeur du premier paramètre (Vdd) , une plage de variation limite du troisième paramètre (Fmax) en faisant varier le deuxième paramètre entre les valeurs minimale et maximale de ce deuxième paramètre et en recherchant les troisièmes valeurs limites correspondantes du troisième paramètre ; et
b) déterminer, pour chaque valeur du premier paramètre (Vdd), une plage de variation optimale ([Fmax,i-' Fmax,i+]) ^u troisième paramètre correspondant à tout ou partie de ladite plage de variation limite du troisième paramètre précédemment établie pour la valeur du premier paramètre considéré, de sorte que les plages de variation optimale retenues pour les différentes valeurs du premier paramètre sont toutes distinctes.
2. Procédé selon la revendication 1, comprenant en outre une étape supplémentaire c) entre les étapes a) et b) , l'étape c) consistant à déterminer une courbe de variation (C) d'une donnée représentative dudit critère de performance (P, E) en fonction du troisième paramètre (Fmax) , en définissant, pour chaque première valeur du premier paramètre, un arc de courbe (Ci) correspondant aux valeurs de ladite donnée représentative obtenues sur la plage de variation limite du troisième paramètre associée au premier paramètre considéré et la plage de variation correspondante du deuxième paramètre et dans lequel lors de l'étape b) , on détermine, pour chaque valeur du premier paramètre (Vdd) , une plage de variation optimale ([Fmax,i-' Fmax,i+]) du troisième paramètre correspondant à tout ou partie de ladite plage de variation limite du troisième paramètre précédemment établie pour la valeur du premier paramètre considéré, de sorte que les plages de variation optimale retenues pour les différentes valeurs du premier paramètre sont toutes distinctes et de sorte que les portions d'arc de courbe associées aux plages de variation optimale retenues répondent au mieux au critère de performance du circuit électronique pour les valeurs correspondantes du troisième paramètre .
3. Procédé selon la revendication 2, dans lequel l'étape c) comprend les étapes suivantes :
déterminer l'enveloppe convexe ou concave de ladite courbe de variation (C) ; et
rechercher les portions desdites plages de variation limite du troisième paramètre qui correspondent à ladite enveloppe et retenir ces portions comme plages de variation optimale
( [¾iax, i-' ¾iax, i+] ) ·
4. Procédé de commande d'un circuit électronique (12) permettant de déterminer une configuration optimale de fonctionnement du circuit électronique selon un critère de performance donné, chaque configuration de fonctionnement du circuit électronique étant définie par des valeurs données de premier (Vdd) , deuxième (Vbb) et troisième (Fmax) paramètres de fonctionnement, le premier paramètre ( ^y) pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète, le circuit électronique comprenant des moyens de mémorisation d' informations préalablement obtenues par le procédé selon l'une quelconque des revendications 1 à 3 et comprenant, pour chaque valeur du premier paramètre (Vdd) , une plage de variation optimale du troisième paramètre associée à une plage correspondante de valeurs du second paramètre, les plages de variation optimale étant toutes distinctes, le circuit électronique comprenant des moyens d'analyse permettant, à chaque couple de l'une des premières valeurs du premier paramètre et d'une deuxième valeur du deuxième paramètre ( ^) , de lui associer une troisième valeur du troisième paramètre (Fmax) , le procédé comprenant les étapes suivantes :
d) déterminer une valeur cible (F-^arget) du troisième paramètre ;
e) si la valeur cible est située dans l'une des plages de variation optimale du troisième paramètre, sélectionner cette plage de variation optimale et faire fonctionner le circuit électronique en amenant le troisième paramètre à la valeur cible ; et
f) dans le cas contraire, sélectionner les deux plages de variation optimale du troisième paramètre encadrant la valeur cible et faire fonctionner le circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages de variation optimale sélectionnées, entre une valeur inférieure (F1-) et une valeur supérieure (F2+) du troisième paramètre encadrant la valeur cible ; et
dans lequel, lors des étapes e) ou f) , le premier paramètre est amené à la première valeur correspondant à la plage dans laquelle est située la troisième valeur appliquée (F-|-arge-|- ; F1+, F2-) et le deuxième paramètre est amené à la deuxième valeur du couple associé à la troisième valeur appliquée.
5. Procédé selon l'une quelconque des revendications 1 à 4, dans lequel ledit critère de performance donné est un critère énergétique, tel que la puissance ou l'énergie, et le troisième paramètre est représentatif d'un critère de performance temporel, tel que la fréquence de fonctionnement du circuit électronique.
6. Procédé selon la revendication 4, dans lequel la valeur cible est déterminée pour l'exécution d'une tâche par le circuit électronique (12) dans une durée donnée.
7. Procédé selon la revendication 4, comprenant, à l'étape f) , un premier fonctionnement du circuit électronique (12) pendant une première durée en amenant le troisième paramètre à ladite valeur inférieure, et un deuxième fonctionnement du circuit électronique pendant une deuxième durée en amenant le troisième paramètre à ladite valeur supérieure, les premier et deuxième fonctionnements étant répétés alternativement.
8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel le premier paramètre est la tension d'alimentation ( ^y) du circuit électronique (12), le deuxième paramètre ( ^) est la tension de polarisation de transistors à effet de champ à grille métal-oxyde du circuit électronique (12) , et le troisième paramètre est la fréquence d'horloge (Fmax) à laquelle est cadencé le circuit électronique (12) .
9. Procédé selon la revendication 3, de commande de plusieurs circuits électroniques (12) , comprenant les étapes suivantes :
si la valeur cible {Ftarqe es^~ située dans l'une des plages de l'un des circuits électroniques, faire fonctionner ledit circuit électronique en amenant le troisième paramètre à la valeur cible ; et
dans le cas contraire, sélectionner l'un des circuits électroniques et, pour ledit circuit électronique, sélectionner les deux plages encadrant la valeur cible et faire fonctionner ledit circuit électronique en amenant successivement le troisième paramètre dans chacune des deux plages sélectionnées .
10. Procédé selon la revendication 1, dans lequel le circuit électronique comprend au moins deux sections de circuit électronique, un rang étant attribué à chaque section de circuit électronique, et dans lequel le premier paramètre est ledit rang.
11. Circuit électronique comprenant : des actionneurs (24, 26, 28) permettant de commander les valeurs de premier ( ^) , deuxième ( ^) et troisième (Fmax) paramètres définissant une configuration de fonctionnement du circuit électronique, le premier paramètre ( ^) pouvant prendre des premières valeurs discrètes, les deuxième et troisième paramètres pouvant varier de façon continue ou discrète ;
un premier module (32) comprenant des moyens de mémorisation d' informations préalablement obtenues selon le procédé de la revendication 1 et comprenant, pour chaque valeur du premier paramètre (Vdd) , une plage de variation optimale du troisième paramètre associée à une plage correspondante de valeurs du second paramètre, les plages de variation optimale étant toutes distinctes, et comprenant des moyens d'analyse reliés aux moyens de mémorisation et permettant d'associer une troisième valeur du troisième paramètre (Fmax) à chaque couple de l'une des premières valeurs du premier paramètre et d'une deuxième valeur du deuxième paramètre (V^) ;
un deuxième module (14) adapté à déterminer une valeur cible du troisième paramètre ;
un troisième module d'analyse (20) adapté à déterminer si la valeur cible est située dans l'une des plages de variation optimale, et à sélectionner cette plage dans l'affirmative et, dans le cas contraire, à sélectionner les deux plages encadrant la valeur cible, le module d'analyse définissant selon le cas une ou deux configurations de fonctionnement avec un troisième paramètre présentant respectivement la valeur cible ou deux valeurs respectivement inférieure et supérieure à ladite valeur cible et appartenant respectivement aux deux plages sélectionnées, pour chaque configuration le premier paramètre prenant une première valeur correspondant à la plage dans laquelle est située la valeur du troisième paramètre (F^arget ; Fj_n . FSUp) et le deuxième paramètre prenant la deuxième valeur du couple associé à la troisième valeur retenue ; et
un quatrième module de commande (22) adapté à appliquer, par l'intermédiaire desdits actionneurs, une configuration de fonctionnement ou alternativement chacune des deux configurations de fonctionnement définies par le troisième module d'analyse.
12. Circuit selon la revendication 11, dans lequel le premier module comprend des moyens de mise en oeuvre du procédé d'analyse selon la revendication 1 ou 2 permettant de définir lesdites informations sauvegardées par lesdits moyens de mémorisation .
PCT/FR2014/052205 2013-09-06 2014-09-05 Procédé de commande d'un circuit électronique WO2015033078A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/916,233 US9698673B2 (en) 2013-09-06 2014-09-05 Method for controlling an electronic circuit
EP14777721.3A EP3042262A2 (fr) 2013-09-06 2014-09-05 Procédé de commande d'un circuit électronique

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1358541 2013-09-06
FR1358541A FR3010545B1 (fr) 2013-09-06 2013-09-06 Procede de commande d'un circuit electronique

Publications (2)

Publication Number Publication Date
WO2015033078A2 true WO2015033078A2 (fr) 2015-03-12
WO2015033078A3 WO2015033078A3 (fr) 2015-06-25

Family

ID=50097779

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2014/052205 WO2015033078A2 (fr) 2013-09-06 2014-09-05 Procédé de commande d'un circuit électronique

Country Status (4)

Country Link
US (1) US9698673B2 (fr)
EP (1) EP3042262A2 (fr)
FR (1) FR3010545B1 (fr)
WO (1) WO2015033078A2 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989005B2 (en) * 2021-04-15 2024-05-21 Mediatek Inc. Adaptive thermal ceiling control system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1358541A (fr) 1963-03-05 1964-04-17 Nodet Gougis Coffre de semoir à vidange simplifiée

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010052926A (ko) * 1998-06-18 2001-06-25 가나이 쓰토무 반도체집적회로
JP3762856B2 (ja) * 2000-05-30 2006-04-05 株式会社ルネサステクノロジ 半導体集積回路装置
US20050225376A1 (en) * 2004-04-08 2005-10-13 Ati Technologies, Inc. Adaptive supply voltage body bias apparatus and method thereof
JP4607608B2 (ja) * 2005-02-04 2011-01-05 株式会社東芝 半導体集積回路
WO2007056705A2 (fr) * 2005-11-03 2007-05-18 Los Alamos National Security Methodologie adaptative en temps reel pour optimiser les equipements informatiques a haut rendement energetique
GB2445167A (en) * 2006-12-29 2008-07-02 Advanced Risc Mach Ltd Managing performance of a processor
JP5024389B2 (ja) * 2007-12-14 2012-09-12 富士通株式会社 半導体集積回路
US8661443B2 (en) * 2009-04-17 2014-02-25 Empire Technology Development, Llc Scheduling and/or organizing task execution for a target computing platform
US8884683B1 (en) * 2013-07-08 2014-11-11 Samsung Electronics Co., Ltd. Semiconductor integrated circuit and operating method of semiconductor integrated circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1358541A (fr) 1963-03-05 1964-04-17 Nodet Gougis Coffre de semoir à vidange simplifiée

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
B. REBAUD ET AL.: "An innovative timing slack monitor for variation tolerant circuits", IEEE INTERNATIONAL CONFERENCE ON IC DESIGN AN TECHNOLOGY - ICICDT - 2009, 18 May 2009 (2009-05-18), pages 215 - 218
R. RAO; S. VRUDLHAL: "Energy optimal speed control of devices with discrete speed sets", DESIGN AUTOMATION CONFERENCE, 2005, PROCEEDINGS - 42ND, 13 June 2005 (2005-06-13), pages 901 - 904

Also Published As

Publication number Publication date
EP3042262A2 (fr) 2016-07-13
US20160197549A1 (en) 2016-07-07
US9698673B2 (en) 2017-07-04
FR3010545B1 (fr) 2016-12-09
FR3010545A1 (fr) 2015-03-13
WO2015033078A3 (fr) 2015-06-25

Similar Documents

Publication Publication Date Title
EP0407268B1 (fr) Circuit intégré à microprocesseur et horloge interne programmable
FR2752312A1 (fr) Procede et circuit permettant d&#39;ajuster dynamiquement la tension d&#39;alimentation et, ou bien, la frequence du signal d&#39;horloge dans un circuit numerique
EP3499431B1 (fr) Dispositif électronique de traitement de signaux à optimisation intégrée de consommation d&#39;énergie électrique et procédé correspondant
EP4157723A1 (fr) Procede d&#39;ajustement de trajectoire orbitale de satellite
CA3086874A1 (fr) Batterie d&#39;accumulateurs electriques
FR2954034A1 (fr) Commande d&#39;un capteur dynamique d&#39;image
FR3076111A1 (fr) Batterie d&#39;accumulateurs electriques
EP1953558A1 (fr) Procédé et circuit pour ameliorer la durée de vie des transistors a effet de champ
WO2015033078A2 (fr) Procédé de commande d&#39;un circuit électronique
FR3054885A1 (fr) Procede d&#39;estimation d&#39;un profil d&#39;exploitation d&#39;un circuit integre d&#39;un systeme sur puce, et systeme sur puce correspondant
FR3005815B1 (fr) Systeme de generation d&#39;un signal analogique
FR2996005A1 (fr) Procede de conception d&#39;un circuit electronique
EP3847734B1 (fr) Procédé de commande d&#39;un équipement d&#39;alimentation électrique d&#39;un système électrique
FR2916061A1 (fr) Variation de frequence d&#39;horloge d&#39;un consommateur de courant synchronise.
FR2853081A1 (fr) Systeme et procede de determination de l&#39;etat de charge instantane d&#39;une batterie, et utilisation de ce procede dans un gestionnaire de charge
WO2015140431A1 (fr) Procédé et circuit d&#39;ajustement de la fréquence d&#39;un signal d&#39;horloge
FR3023998A1 (fr) Procede de compensation numerique des variations, en fonction de la temperature, d&#39;une grandeur electrique d&#39;un equipement de telecommunications radiofrequence spatial embarque
EP3076535B1 (fr) Convertisseur dc-dc
EP3732762B1 (fr) Batterie d&#39;accumulateurs electriques
EP2250541A2 (fr) Dispositif d&#39;alimentation d&#39;un circuit électronique, en particulier d&#39;un circuit numérique, et procédé associé
FR2943806A1 (fr) Dispositif de commande d&#39;alimentation d&#39;un calculateur
EP3510682B1 (fr) Circuit de transmission d&#39;énergie électrique
FR2979172A1 (fr) Procede et dispositif de controle de l&#39;alimentation d&#39;un circuit integre.
FR2964516A1 (fr) Procede et dispositif de controle de latence de circuits electroniques
FR2918518A1 (fr) Dispositif et procede de controle des interrupteurs d&#39;alimentation

Legal Events

Date Code Title Description
REEP Request for entry into the european phase

Ref document number: 2014777721

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014777721

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14916233

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14777721

Country of ref document: EP

Kind code of ref document: A2