Method and an apparatus for reducing the effect of local process variations of a digital circuit on a hardware performance monitor

11183224 · 2021-11-23

Assignee

Inventors

Cpc classification

International classification

Abstract

A method and an apparatus for reducing an effect of local process variations of a digital circuit on a hardware performance monitor includes measuring a set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) of the digital circuit by n identical hardware performance monitors, where n is a natural number greater than 1, determining an average value c.sub.mean of the measured performance values (c.sub.1, c.sub.2 . . . c.sub.n), as an approximation of an ideal performance value c.sub.0, selecting one performance value c.sub.j of the set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) by a controller, comparing the performance value c.sub.j with a reference value c.sub.ref by a controller the controller, resulting in a deviation value Δc, and controlling an actuator by using the deviation Δc for regulating the local global process variations to the approximation c.sub.mean of the ideal performance value c.sub.0.

Claims

1. A method for reducing an effect of local process variations within an integrated circuit, the method comprising the following steps: measuring a set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) of a digital circuit within the integrated circuit by means of n identically designed hardware performance monitors, whereas n is a natural number greater than 1; determining an average value c.sub.mean of the measured performance values (c.sub.1, c.sub.2 . . . c.sub.n) as an approximation of an ideal performance value c.sub.0; selecting one performance value c.sub.j of the set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) by a controller; comparing the performance value c.sub.j with a reference value c.sub.ref by the controller, resulting in a deviation value Δc; and controlling an actuator using the deviation Δc and wherein the controller controls the actuator in a closed control loop, the controller comprises a low-pass integral loop filter, the controller uses only one performance value c.sub.j of the set of performance values of n identically designed hardware performance monitors at a time, the control loop is continuously performed until all performance values c.sub.n have been used consecutively, and deviation Δc determined for each performance value c.sub.j is averaged and stored in an integrator register of the low-pass integral loop filter.

2. The method according to claim 1, wherein the average value c.sub.mean is determined by adding the performance values (c.sub.1, c.sub.2 . . . c.sub.n) of the n hardware performance monitors and dividing the sum by n.

3. The method according to claim 2, wherein the selected performance value c.sub.j is used for determining a mismatch scaling factor g by g=c.sub.mean/c.sub.j, whereas the scaling factor g is used for updating the reference value c.sub.ref to c′.sub.ref=c.sub.ref/g before controlling the actuator.

4. The method according to claim 3, wherein the actuator is controlled by the deviation Δc=c′.sub.ref-c.sub.j.

5. The method according to claim 2, wherein the performance value c.sub.j is selected by a criterion therein that said performance value c.sub.j is closest to c.sub.mean.

6. The method according to claim 3, wherein actuator is controlled using only the one selected performance value c.sub.j of the one selected hardware performance monitor j until c′.sub.ref=c.sub.j, and Δc=0.

7. The method according to claim 1, wherein the controller controls the actuator in the closed control loop, the controller comprises the low-pass integral loop filter the controller uses only one performance value c.sub.j of the set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) of n identical hardware performance monitors at a time, the control loop is continuously performed until all performance values c.sub.n have been non-deterministically selected and used, and deviation Δc determined for each performance value c.sub.j is averaged and stored in the integrator register of the low-pass integral loop filter.

8. The method according to claim 7, wherein one or more hardware performance monitors are excluded from being selected.

9. The method according to claim 8, wherein the actuator sets one or more bias voltages affecting speed or power or both of the digital circuit, mismatch of the hardware performance monitors is additionally considered during a timing and power characterization process of components used in the digital circuit, by means of calculating a deviation ΔV of the bias voltages a previously simulated standard deviation of the hardware performance monitor results and considering this deviation ΔV as a pessimism in a library characterization of components used in the digital circuit.

10. An apparatus for reducing an effect of local process variations on hardware performance monitors within an integrated circuit the apparatus performing the method according to claim 1, the apparatus comprising a digital circuit, a controller, an actuator and a set of n identically designed hardware performance monitors monitoring performance values of the digital circuit, whereas the controller, the actuator, the digital circuit and the set of hardware performance monitors form a closed control loop, and whereas the controller comprises a signal converter and performs closed-loop control by selecting and applying control signals to the actuator.

11. The apparatus according to claim 10, wherein the controller comprises a linear filter, especially a proportional-integral filter, or the controller comprises non-linear elements.

12. The apparatus according to claim 10, wherein the actuator is an adaptively controlled body bias generator or an adaptively controlled supply voltage generator for the digital circuit.

13. The apparatus according to claim 10, wherein the apparatus comprises two hardware performance monitors, more preferred three hardware performance monitors, especially preferred four hardware performance monitors.

14. The method according to claim 1, wherein the actuator is controlled by the deviation Δc=c′.sub.ref-c.sub.j.

15. The method according to claim 1, wherein one or more hardware performance monitors are excluded from being selected.

16. The method according to claim 1, wherein the actuator sets one or more bias voltages affecting speed or power or both of the digital circuit, mismatch of the hardware performance monitors is additionally considered during a timing and power characterization process of components used in the digital circuit, by means of calculating a deviation ΔV of the bias voltages from a previously simulated standard deviation of the hardware performance monitor results and considering this deviation ΔV as a pessimism in a library characterization of components used in the digital circuit.

17. The method according to claim 2, wherein the actuator is controlled using only the one selected performance value c.sub.j of the one selected hardware performance monitor j until c′.sub.ref=c.sub.j, and Δc=0.

18. A method for reducing an effect of local process variations within an integrated circuit, the method comprising the following steps: measuring a set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) of a digital circuit within the integrated circuit by means of n identically designed hardware performance monitors, whereas n is a natural number greater than 1; determining an average value c.sub.mean of the measured performance values (c.sub.1, c.sub.2 . . . c.sub.n) as an approximation of an ideal performance value c.sub.0; selecting one performance value c.sub.j of the set of performance values (c.sub.1, c.sub.2 . . . c.sub.n) by a controller; comparing the performance value c.sub.j with a reference value c.sub.ref by the controller, resulting in a deviation value Δc; and controlling an actuator using the deviation Δc; and wherein the controller controls the actuator in a closed control loop, the controller comprises a low-pass integral loop filter, the controller uses only one performance value c.sub.j of the set of performance values c of n identical hardware performance monitors at a time, the control loop is continuously performed until all performance values c.sub.n have been non-deterministically selected and used, and deviation Δc determined for each performance value c.sub.j is averaged and stored in an integrator register of the low-pass integral loop filter.

19. The method according to claim 18, wherein one or more hardware performance monitors are excluded from being selected.

20. The method according to claim 19, wherein the actuator sets one or more bias voltages affecting speed or power or both of the digital circuit, mismatch of the hardware performance monitors is additionally considered during a timing and power characterization process of components used in the digital circuit, by means of calculating a deviation ΔV of the bias voltages from a previously simulated standard deviation of the hardware performance monitor results and considering this deviation ΔV as a pessimism in a library characterization of components used in the digital circuit.

21. The method according to claim 18, wherein the average value c.sub.mean is determined by adding the performance values (c.sub.1, c.sub.2 . . . c.sub.n) of the n hardware performance monitors and dividing the sum by n.

22. The method according to claim 21, wherein the selected performance value c.sub.j is used for determining a mismatch scaling factor g by g=c.sub.mean/c.sub.j, whereas the scaling factor g is used for updating the reference value c.sub.ref to c′.sub.ref=c.sub.ref/g before controlling the actuator.

23. The method according to claim 22, wherein the actuator is controlled by the deviation Δc=c′.sub.ref-c.sub.j.

24. The method according to claim 21, wherein the performance value c.sub.j is selected by a criterion therein that said performance value c.sub.j is closest to c.sub.mean.

25. The method according to claim 22, wherein the actuator is controlled using only the one selected performance value c.sub.j of the one selected hardware performance monitor j until c′.sub.ref=c.sub.j, and Δc=0.

26. The method according to claim 18, wherein the actuator is controlled by the deviation Δc=c′.sub.ref-c.sub.j.

27. The method according to claim 18, wherein one or more hardware performance monitors are excluded from being selected.

28. The method according to claim 18, wherein the actuator sets one or more bias voltages affecting speed or power or both of the digital circuit, mismatch of the hardware performance monitors is additionally considered during a timing and power characterization process of components used in the digital circuit, by means of calculating a deviation ΔV of the bias voltages from a previously simulated standard deviation of the hardware performance monitor results and considering this deviation ΔV as a pessimism in a library characterization of components used in the digital circuit.

29. The method according to claim 21, wherein the actuator is controlled using only the one selected performance value c.sub.j of the one selected hardware performance monitor j until c′.sub.ref=c.sub.j, and Δc=0.

30. An apparatus for reducing an effect of local process variations on hardware performance monitors within an integrated circuit, the apparatus performing the method according to claim 18, the apparatus comprising a digital circuit, a controller, an actuator and a set of n identically designed hardware performance monitors monitoring performance values of the digital circuit, whereas the controller, the actuator, the digital circuit and the set of hardware performance monitors form a closed control loop, and whereas the controller comprises a signal converter and performs closed-loop control by selecting and applying control signals to the actuator.

31. The apparatus according to claim 30, wherein the controller comprises a linear filter, especially a proportional-integral filter, or the controller comprises non-linear elements.

32. The apparatus according to claim 30, wherein the actuator is an adaptively controlled body bias generator or an adaptively controlled supply voltage generator for the digital circuit.

33. The apparatus according to claim 30, wherein the apparatus comprises two hardware performance monitors, more preferred three hardware performance monitors, especially preferred four hardware performance monitors.

Description

BRIEF DESCRIPTION OF THE DRAWING FIGURES

(1) The Appended Drawings Show

(2) FIG. 1 Block diagram of the closed loop system for adaptive bias regulation with multiple hardware performance monitors;

(3) FIG. 2 Illustration of a) the random distribution of the hardware performance monitor read-out results c and b) the narrowed distribution of the mean value c.sub.mean of a number of n sensor values.

DETAILED DESCRIPTION

(4) In a first embodiment of the inventive method, multiple hardware performance values c.sub.1, c.sub.2 . . . c.sub.n are read out, forming an initial mismatch calibration step. Afterwards these read-out values are used to determine an average value c.sub.mean (FIG. 2) by adding all c.sub.j in consecutive read-outs and dividing the sum by n. The division can be realized as digital binary shift operation in case n is a power of 2. Then one hardware performance value c.sub.j out of the n hardware performance monitor values is picked. With this value c.sub.j a mismatch scaling factor g by g=c.sub.mean/c.sub.j is determined, which is the correction factor of the individual HPM value to the mean value. The stored reference value c.sub.ref is updated to c′.sub.ref=c.sub.ref/g=c.sub.ref/c.sub.mean.Math.c.sub.j. This requires the arithmetic operation of a division. At last the regulation is run with the selected hardware performance j.

(5) In a second embodiment of the inventive method, multiple hardware performance values c.sub.1, c.sub.2 . . . c.sub.n are read out, forming an initial mismatch calibration step. Afterwards these read-out values are used to determine an average value c.sub.mean by adding all c.sub.j consecutive read-outs and dividing the sum by n. The division can be realized as digital binary shift operation in case n is a power of 2. Then one hardware performance value c.sub.j whose read-out value c.sub.j is closest to c.sub.mean is picked. At last, the regulation is run with the selected hardware performance j.

(6) In a third embodiment, for each regulation step all n hardware performance values c.sub.1, c.sub.2 . . . c.sub.n are read out, and these read-out values are used to determine an average value c.sub.mean by adding all c.sub.j in consecutive read-outs and dividing the sum by n. The mean value c.sub.mean is compared to c.sub.ref and the actuator is adjusted. After the loop has settled, which means that c.sub.mean=c.sub.ref, one hardware performance value c.sub.j out of the n hardware performance monitor values is picked. The value c.sub.j is read out. Afterwards, the stored reference value c.sub.ref is updated to c′.sub.ref=c.sub.j. As advantage, this does not require the arithmetic operation of a division. At last, the regulation is run with only a selected performance j.

(7) In a fourth embodiment and in case a loop filter with low-pass integral characteristics is used, the regulation is performed using multiple HPMs. In each regulation step, only one HPM is read. In consecutive regulation steps the next HPM from the set is read. Therefore, the closed loop regulation continuously cycles through the HPMs. The integrator register of the digital low pass filter is used for averaging, i.e. storing the average deviation (cmean−cref). No additional arithmetic circuits are required. In case a PI controller is used, the proportional gain should be low to suppress the error of successive read-outs of hardware performance monitors with a mismatch from cmean.

(8) In a fifth embodiment and in case a loop filter with low-pass integral characteristics is used, the regulation is performed using multiple HPMs. In each regulation step, only one HPM 2 is read. In consecutive regulation steps another HPM 2 from the set is read. The HPM 2 to be read next is selected by an algorithm, including deterministic pseudo random selection, and also including non-deterministic random selection. The integrator register of the digital low pass filter is used for averaging, i.e. storing the average deviation (cmean−cref). No additional arithmetic circuits are required. In case a PI controller is used, the proportional gain should be low to suppress the error of successive read-outs of hardware performance monitors with mismatch from cmean.

(9) The mismatch of the hardware performance monitors has to be considered during modelling of the closed loop bias regulations. Especially when the resulting bias voltages (e.g. N-Well and P-Well voltages) are required as parameter for timing and power characterization of digital circuit components (e.g. standard cells, memory macros), which are operated in the regulated digital design domain. The mismatch of the hardware performance monitor can be considered by means of safety margins (pessimisms) for the bias voltages.

(10) The determination of body bias pessimism or also called safety margins for consideration of variability in these voltages can be addressed as follows: If a single bias voltage V1 is considered (e.g. bias VDD in adaptive voltage scaling, single well adaptive body biasing) a linearized sensitivity k1 between the bias voltage V1 and a hardware performance monitor count value c can be determined with k1=dc/dV1, by means of circuit simulations or measurements; then a standard deviation σc of the hardware performance monitor result c from Monte Carlo simulations or statistical measurements is determined. Afterward, a safety margin ΔV1 for p-sigma pessimism (e.g. p=3) by ΔV1=n.Math.σc/k1 is determined. This safety margin ΔV1 is optionally and additionally considered for characterization of standard cell in an integrated circuit.

(11) In another case, if two bias voltages [V1, V2] are considered (e.g. adaptive body bias with n-well and p-well voltages), and two hardware performance monitors with results c1 and c2 are used in the regulation loop. For this setup selective, linearized sensitivities are determined, organized as matrix A=[k.sub.11,k.sub.12; k.sub.21,k.sub.22] with k.sub.11=dc.sub.1/dV.sub.1 k.sub.12=dc.sub.1/dV.sub.2 k.sub.21=dc.sub.2/dV.sub.1 k.sub.22=dc.sub.2/dV.sub.2.
A standard deviation vector b=[σ.sub.c1, σ.sub.c2] of the hardware performance monitor result c.sub.1 and c.sub.2 from Monte Carlo simulations or statistical measurements is determined. Therewith, a vector of safety margins v=[ΔV.sub.1, ΔV.sub.2] by v=A.sup.−1.Math.b (the inverse of matrix A multiplied with the vector b) is calculated. These safety margins ΔV.sub.1 and ΔV.sub.2 can be optionally and additionally considered for characterization of standard cell in an integrated circuit.

(12) In another case, if n (n>2) bias voltages and n PVT hardware performance monitors are used, the previous explained procedure can be applied, but with generalizes a n-by-n matrix A and vectors b and v of length n.

(13) The safety margins ΔV are considered in the characterization process of standard integrated circuits by: Slow timing: Addition or subtraction of ΔV such that the resulting pessimism leads to slower timing Typical timing: No addition or subtraction of ΔV Fast timing: Addition or subtraction of ΔV such that the resulting pessimism leads to faster timing.

(14) The library characterization of the circuit blocks in the regulated domain is performed with these margins considered.

(15) The pessimism or safety margins of the bias voltages will be illustrated by two examples.

Example 1

(16) One regulated supply voltage VDD for adaptive voltage scaling is considered: ΔV.sub.1=ΔVDD (supply voltage), with ΔV.sub.1=ΔVDD>0, the safety margin is added to the nominal values of VDD.sub.0 as described: Slow timing: (VDD)=(VDD.sub.0−ΔVDD) Typical timing: (VDD)=(VDD.sub.0) Fast timing: (VDD)=(VDD.sub.0+ΔVDD)

Example 2

(17) Two bias voltages for adaptive body biasing are considered: ΔV.sub.1=ΔVPW.sub.j (p-well voltage pessimism for hardware performance monitor j) ΔV.sub.2=ΔVNW.sub.j (n-well voltage for hardware performance monitor j), with ΔV.sub.1>0 and ΔV.sub.2>0 based on the inventive method for characterization of a standard cell, the safety margins ΔVNWs and ΔVPWs, representing the hardware performance monitor mismatch, are added to the nominal values of VNW.sub.c0 and VPW.sub.c0, additionally to the ΔVNW.sub.a and ΔVPW.sub.a actuator pessimism, which considers static and dynamic mismatch of the bias voltage actuators (e.g. charge pumps): Forward Body Biasing (FBB): Slow timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0−ΔVNW.sub.a−ΔVNW.sub.s,VPW.sub.c0+ΔVPW.sub.a+ΔVPW.sub.s) Typical timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0,VPW.sub.c0) Fast timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0+ΔVNW.sub.a+ΔVNW.sub.j,VPW.sub.c0−ΔVPW.sub.a−ΔVPW.sub.j) Reverse Body Biasing (RBB): Slow timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0+ΔVNW.sub.a+ΔVNW.sub.s,VPW.sub.c0−ΔVPW.sub.a−ΔVPWs) Typical timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0,VPW.sub.c0) Fast timing: (VPW.sub.c,VNW.sub.c)=(VNW.sub.c0−ΔVNW.sub.a−ΔVNW.sub.s,VPW.sub.c0+ΔVPW.sub.a+ΔVPW.sub.s),
whereas s stands for the mismatch sensitivity. This term describes the additional safety margin due to mismatch of the hardware performance monitors.

(18) The invention allows to consider the adaptive bias voltages, e.g. VNW and VPW which are present in the operation of the circuit, e.g. when operated in a closed loop biasing scheme with hardware performance monitor, during cell characterization and implementation. Thereby, pessimisms are reduced and better power performance and area results can be obtained.

(19) In the following, the invention will be illustrated by two concrete embodiments, on the one hand using a single hardware performance monitor as state of the art and on the other hand using four performance monitors according to the invention:

(20) Using a single hardware performance monitor, its nominal output c (period_mean, period) and standard deviation σ.sub.c (period_std) is determined. Afterwards the sensitivities k are determined, and Δ.sub.V1=ΔVPW.sub.s (dVPW) and Δ.sub.V1=ΔVNW.sub.s (dVNW) are calculated by means of the second embodiment as described above (with p=3 sigma). This is repeated for different corner settings of a standard cell. E.g. this results in dVPW=111 mW and dVNW=100 mV (at corner worst case: VDD=0.36V T=−40° C.) pessimism which has to be considered during characterization.

(21) Using four hardware performance monitors 2 and average their results by means of the invention, its nominal output c (period_mean, period) and standard deviation σc (period_std) of the averaged result c.sub.mean is determined. Afterwards, the sensitivities k are determined, and ΔV.sub.1=ΔVPW.sub.s (dVPW) and ΔV.sub.1=ΔVNW.sub.s (dVNW) are calculated by means of the second embodiment as described above (with p=3 sigma). This is repeated for different corner settings of a standard cell. E.g. this results in dVPW=54 mW and dVNW=51 mV (at corner worst case VDD=0.36V T=−40° C.) pessimism which has to be considered during characterization.

(22) By means of the invention the variability of the hardware performance monitor(s) in the regulation loop and thereby the required pessimism for characterization is reduced by approx. factor 2 when using four hardware performance monitors.

LIST OF REFERENCE SIGNS

(23) 1 integrated circuit 2 hardware performance monitor 3 digital circuit 4 control unit 5 signal converter 6 controller 7 actuator 8 reference value register 9 closed control loop 10 reference value 11 reference clock signal