Patent Description:
The present invention relates to the field of integrated circuits. In particular, the present invention relates to adjustable integrated circuits and methods for designing the same.

In conventional integrated Circuit design, the performance and other physical behaviors of the integrated circuit are verified by running simulation against mathematical models that represent the integrated circuit. The performance parameters of the integrated circuit are predicted across a wide range of physical, process and environmental conditions. In the design stage, the performance and other physical behaviors of the integrated circuit are designed to meet the worst case performance scenarios and at the same time still satisfy design criteria and target yields in manufacturing.

During manufacturing, due to variations in manufacturing process, temperature and other environmental conditions, the performance and other behaviors of the circuit blocks of the integrated circuit can vary dramatically. Despite such variations, the manufactured integrated circuits may still meet the designed baseline of the worst case performance scenarios. In other words, the manufactured integrated circuits may perform better than the worst case performance scenarios.

<CIT> discloses a system and a method for critical path replication. Attention is drawn to document <CIT> which relates to a system and method for providing a critical path replica system in a circuit. A critical path replica system is created by determining a critical path in a circuit, generating a critical path replica circuit, generating a circuit blueprint, and creating the blueprinted circuit. The circuit comprises a functional logic module having functional logic elements and replica logic modules having logic elements. Each logic element is configured to replicate one or more of the functional logic elements and process a test signal. A replica error detection module analyzes the processed signal to determine whether a timing violation has occurred. The replica logic module further comprises one or more load modules. A replica controller may modify operation of the circuit based on reported errors. A replica mode select module sets the replica logic module to an aging test mode or a timing sensor mode. Further attention is drawn to document <CIT> which relates to a method and apparatus for voltage regulation uses, in one aspect, worst-case supply voltages specific to the process split of the integrated device at issue. In another aspect, a two-phase voltage regulation system and method identifies the characterization data pertinent to a family of integrated circuit devices in a first phase, and identifies an associated process split of a candidate integrated circuit device in a second phase. The characterization data from the first phase is then used to provide supply voltages that correspond to target frequencies of operation for the candidate device. In another aspect, a hybrid voltage regulator circuit includes an open loop circuit which automatically identifies the process split of the integrated circuit device and allows a regulator to modify supply voltage based on characterization data specific to that process split, and a closed loop circuit which fine-tunes the supply voltage. The closed-loop circuit includes a critical path replica for providing estimated frequencies of operation necessary for a critical path in the integrated circuit device. A ring oscillator circuit may be used in the critical path and/or in the open loop circuit. Document <CIT> relates to a predictive time base generator having predictive synchronizer and replica delay element coupled with the synchronizer feedback delay loop. The predictive time base generator receives a clock signal delayed by a predetermined clock delay and produces a predictive time signal advanced in time by an amount represented by the replica delay element. The replica delay element can replicate one or both of a predetermined clock delay and a predetermined data delay, substantially nullifying the respective delays in critical signal paths of a device. The replica delay element can include replicas of structure(s) found in an incoming clock path and an outgoing data path, such elements including, for example, voltage level shifters, buffers or data latches, multiplexers, wire element models, and the like. A predictive computer bus interface adapter which incorporates the aforementioned predictive time base generator also is provided. Attention is also drawn to document <CIT> which relates to an apparatus that includes a configurable delay circuit comprising a plurality of delay elements, and a lookup table having information for configuring the delay circuit based on one or more conditions. The apparatus also includes a controller to configure the delay circuit according to the information in the lookup table, and a sampling circuit to sample outputs of each of a subset of the delay elements and generate a multi-bit delay signal providing information about an amount of delay caused by the delay elements to an input signal propagating through the configurable delay circuit. Each bit in the multi-bit delay signal indicates whether the input signal has propagated through a corresponding delay element. Additionally, attention is also drawn to document <CIT> which relates to an arrangement including at least one path, at least one replica path, the at least one replica path corresponding to a respective path, a controller configured to use control information derived from the at least one replica path, at least one of the paths comprising a monitoring unit configured to provide monitor information to the controller, the controller being configured to modify the control information in dependence on the monitor information. Finally, attention is drawn to document <CIT> which relates to a replica path timing adjustment and normalization for adaptive voltage and frequency scaling. In this document a plurality of critical paths and a plurality of replica paths are considered for the adjustment of circuit parameters common to the whole circuit,.

Therefore, it is desirable to have adjustable integrated circuits that can be configured to take advantage of the actual performance capabilities of the integrated circuits after manufacturing, and methods for designing the same.

Further embodiments of the invention are defined by the appended dependent claims. Adjustable integrated circuits and methods for designing the same are provided. The description and drawings also present additional aspects, examples, non-claimed embodiments, implementations, etc.. for the better understanding of the embodiments defined in the appended claims. In one aspect, an adjustable integrated circuit may include a plurality of circuit blocks of the integrated circuit designed in accordance with a plurality of design criteria, where one or more circuit blocks in the plurality of circuit blocks include one or more feedback paths, respectively; a circuit performance monitor, where the circuit performance monitor includes one or more replica feedback paths corresponding to the one or more feedback paths in the one or more circuit blocks, and where the circuit performance monitor is configured to monitor feedback path information of the one or more replica feedback paths. The plurality of circuit blocks and the circuit performance monitor are verified to meet the plurality of design criteria and a verified description of the integrated circuit is produced for manufacturing.

The integrated circuit further includes one or more performance adjusters configured to determine one or more adjustment voltage values based at least in part on the feedback path information of the one or more replica feedback paths, where the feedback path information includes at least one of performance data or signal quality data of the one or more replica feedback paths; and adjust corresponding supply voltages of the one or more circuit blocks using the one or more adjustment voltage values during operation of the integrated circuit.

In another aspect, a method of designing an integrated circuit includes determining a plurality of design criteria of the integrated circuit; designing a plurality of circuit blocks of the integrated circuit in accordance with the plurality of design criteria, where one or more circuit blocks in the plurality of circuit blocks include one or more feedback paths, respectively; designing a circuit performance monitor, where the circuit performance monitor includes one or more replica feedback paths corresponding to the one or more feedback paths in the one or more circuit blocks, and where the circuit performance monitor is configured to monitor feedback path information of the one or more replica feedback paths; verifying the plurality of circuit blocks and the circuit performance monitor to meet the plurality of design criteria; and producing a verified description of the integrated circuit for manufacturing.

In yet another aspect, a method of dynamically adjusting an operating conditions of an integrated circuit includes receiving, from a voltage reference module, an operating voltage of the integrated circuit, where the operating voltage is distributed in a power grid that drives a plurality of circuit blocks of the integrated circuit; receiving, from a clock generator, a reference clock, where the reference clock is used as an operating frequency of the integrated circuit and is distributed to by the plurality of circuit blocks in the integrated circuit; measuring, by a circuit performance monitor, feedback path timing information of one or more circuit blocks in the plurality of circuit blocks; comparing, by a performance adjuster, the feedback path timing information of the one or more circuit blocks to the reference clock; determining timing margins of corresponding one or more feedback paths of the one or more circuit blocks based on the comparison; and generating, by the performance adjuster, a feedback for adjusting the operating voltage or the operating frequency of the integrated circuit based on the timing margins of the one or more feedback paths of the one or more circuit blocks.

In yet another aspect, an integrated circuit with dynamically adjustable operating conditions includes a power grid configured to receive an operating voltage of the integrated circuit from a voltage reference module, where the operating voltage is distributed to drive a plurality of circuit blocks of the integrated circuit; a clock generator configured to receive a reference clock, where the reference clock is used as an operating frequency of the integrated circuit and is distributed to by the plurality of circuit blocks in the integrated circuit; a circuit performance monitor configured to measure feedback path timing information of one or more circuit blocks in the plurality of circuit blocks; and a performance adjuster configured to compare the feedback path timing information of the one or more circuit blocks to the reference clock, determine timing margins of corresponding one or more feedback paths of the one or more circuit blocks based on the comparison, and generate a feedback for adjusting the operating voltage or the operating frequency of the integrated circuit based on the timing margins of the one or more feedback paths of the one or more circuit blocks.

The aforementioned features and advantages of the disclosure, as well as additional features and advantages thereof, will be more clearly understandable after reading detailed descriptions of embodiments of the disclosure in conjunction with the non-limiting and non-exhaustive aspects of following drawings. Like numbers are used throughout the specification.

Adjustable integrated circuits and methods for designing the same are provided. The following descriptions are presented to enable a person skilled in the art to make and use the disclosure. Descriptions of specific embodiments and applications are provided only as examples. The general principles defined herein may be applied to other examples and applications without departing from the scope of the disclosure. Thus, the present disclosure is not intended to be limited to the examples described and shown. In this respect, the invention is defined by the appended claims. The word "exemplary" or "example" is used herein to mean "serving as an example, instance, or Illustration. " Any aspect or embodiment described herein as "exemplary" or as an "example" in not necessarily to be construed as preferred or advantageous over other aspects or embodiments.

<FIG> illustrates an exemplary implementation of an integrated circuit according to aspects of the present disclosure. As shown in the example of <FIG>, the integrated circuit <NUM> may include multiple circuit blocks shown as <NUM>. One or more of circuit blocks in the multiple circuit blocks, such as circuit blocks <NUM> and <NUM>, may include their corresponding feedback paths. For example, circuit block <NUM> may include a feedback path <NUM>, and circuit block <NUM> may include a feedback path <NUM>. According to aspects of the present disclosure, a feedback path may represent a critical path of a circuit block in some implementations. In other implementations, a feedback path may represent a group of electrically connected circuit components of interest.

The integrated circuit may further include a circuit performance monitor <NUM>, which in tum may include one or more replica feedback paths of one or more replica circuit blocks (such as l12 and <NUM>) corresponding to the one or more feedback paths in the one or more circuit blocks. For example, replica feedback path <NUM> may be configured to match the performance of feedback path <NUM>, and replica feedback path <NUM> may be configured to match the performance of feedback path <NUM>. The circuit performance monitor <NUM> is configured to monitor feedback path information of the one or more replica feedback paths. In some implementations, the replica feedback paths may be placed close to their corresponding feedback paths, for example the replica feedback path <NUM> may be placed in close proximity with the feedback path <NUM>. In other implementations, the replica feedback paths may be distributed throughout the integrated circuit <NUM>, for example the replica feedback path <NUM> may be placed not in close proximity with the feedback path <NUM> but in other parts of the integrated circuit <NUM>. In yet other implementations, the replica feedback paths may be placed together as a group for convenience of access and control.

According to aspects of the present disclosure, the circuit performance monitor <NUM> may include a performance data collector <NUM>. The performance data collector <NUM> may be configured to collect measured performance data of the one or more replica feedback paths, compare the measured performance data to a set of reference performance data, and generate performance differences between the measured performance data and the set of reference performance data based on the comparison. According to aspects of the present disclosure, the integrated circuit <NUM> is designed to meet various design criteria. The integrated circuit <NUM> may receive inputs, power supply voltages, and reference clocks, and the integrated circuit <NUM> may in turn using the inputs, power supply voltages, and reference clocks to produce outputs and statuses, such as the data collected and generated by the circuit performance monitor <NUM>.

<FIG> illustrates another exemplary implementation of the circuit performance monitor of the integrated circuit of <FIG> according to aspects of the present disclosure. Note that some of the components of the circuit performance monitor <NUM> shown in <FIG> may be substantially similar to the components of the circuit performance monitor <NUM> shown in <FIG>, and the descriptions of these components are skipped herein for simplicity. As shown in <FIG>, the circuit performance monitor may additionally or optionally include a signal quality data collector <NUM>. The signal quality data collector <NUM> may be configured to collect measured signal quality data of the one or more replica feedback paths, compare the measured signal quality data to a set of reference signal quality data, and generate signal quality differences between the measured signal quality data and the set of reference signal quality data based on the comparison.

<FIG> illustrates an exemplary implementation of an adjustable integrated circuit according to aspects of the present disclosure. Note that some of the components of the adjustable integrated circuit <NUM> may be substantially similar to the components of the integrated circuit <NUM> shown in <FIG> and <FIG>, and the descriptions of these components are skipped herein for simplicity. In the exemplary implementation shown in <FIG>, the integrated circuit <NUM> may further include a circuit performance controller <NUM>, which may include one or more performance adjusters <NUM>. According to aspects of the present disclosure, the one or more performance adjusters <NUM> may be configured to determine one or more adjustment voltage values based at least in part on the feedback path information of the one or more replica feedback paths received from the circuit performance monitor <NUM>, and adjust corresponding supply voltages of the one or more circuit blocks, for example circuit blocks <NUM> and <NUM>, using the one or more adjustment voltage values measured during operation of the integrated circuit <NUM>.

In some implementations, the one or more performance adjusters <NUM> may be configured to determine one or more operating frequency values based at least in part on the feedback path information of the one or more replica feedback paths, where the feedback path information includes at least one of performance data or signal quality data of the one or more replica feedback paths, and adjust corresponding operating frequencies of the one or more circuit blocks using the one or more operating frequency values during operation of the integrated circuit. The one or more performance adjusters <NUM> may be further configured to detect deviations of the operating frequencies of the one or more circuit blocks during operation of the integrated circuit, determine one or more adjustment operating frequency values based at least in part on the deviations of the operating frequencies detected, and adjust corresponding operating frequencies of the one or more circuit blocks using the one or more adjustment operating frequency values.

The feedback path information may include at least one of performance data or signal quality data of the one or more replica feedback paths. In some implementations, the feedback path information may include performance differences between the measured performance data and a set of reference performance data generated by the performance data collector, and/or signal quality differences between the measured signal quality data and a set of reference signal quality data generated by the signal quality collector.

<FIG> illustrates an exemplary Implementation of the circuit performance controller of <FIG> according to the present disclosure. Note that the one or more performance adjusters <NUM> are substantially similar to the same shown in <FIG>, and the descriptions of the one or more performance adjusters <NUM> are skipped herein for simplicity. As shown in <FIG>, the circuit performance controller <NUM> further includes a circuit parameter controller <NUM>.

The circuit parameter controller <NUM> is configured to determine adjustment circuit parameter values based at least in part on the feedback path information of the one or more replica feedback paths, and adjust corresponding circuit parameters of the circuit blocks using the adjustment circuit parameter values during operation of the integrated circuit. In some implementations, the circuit parameters of the one or more circuit blocks includes at least one of: threshold voltages of the one or more circuit blocks, power usage of the one or more circuit blocks, electrical impedance of the one or more circuit blocks, operating frequencies of the one or more circuit blocks, or a combination thereof. In some implementations, the circuit performance controller <NUM> can be further configured to predict an overall performance of the integrated circuit post manufacturing, based on the feedback path information of the one or more replica feedback paths.

According to aspects of the present disclosure, the operating environment controller <NUM> may be configured to determine one or more adjustment operating environment values based at least in part on the feedback path information of the one or more replica feedback paths, and adjust corresponding operating environment of the one or more circuit blocks using the one or more adjustment operating environment values during operation of the integrated circuit. In some implementations, the operating environment of the one or more circuit blocks may include corresponding at least one of temperatures or thermal impedance of the one or more circuit blocks. In some implementations, the feedback path information may include performance differences between the measured performance data and a set of reference performance data generated by the performance data collector, and/or signal quality differences between the measured signal quality data and a set of reference signal quality data generated by the signal quality collector.

According to aspects of the present disclosure, the circuit calibration module <NUM> may be configured to perform a number of calibration modes, namely a full calibration mode, a short calibration mode, or no calibration.

For the full calibration mode, it may be performed at the first time power up of the integrated circuit, where the calibration may start from the beginning (where VDD may be set at full supply). This mode may be desirable when the integrated circuit is powered up or when a clock frequency has changed, or when there are significant changes in applications.

For the short calibration mode, it may be performed after each of the writing in the pre-load value or recalibrating from previous locked value. This mode may be used when the integrated circuit is powered up from last time it has been locked.

For no calibration, it may use pre-load value as is, since pre-load value (from last time it is locked) has some margin built in, unless there is significant changes since last time it locked, by using pre-load value as is may give enough margin in the supply to cover the feedback path timing. This mode may be used when the integrated circuit is only powered up for a short time before it is being shut down again.

In some implementations, the integrated circuit may include a tracking mode. For example, during operation there may be changes in the temperature, voltage and/or application activity that are different than the point of the loop was being calibrated, based on various mechanisms that track these changes. For temperature fluctuations, the circuits used in the design may include a built-in self-compensation and may be adapted to the new temperature without re-calibrating. If an application changes that introduces significant impact to the supply, in such cases, it may be desirable to periodically recalibrate using the short calibration loop. For a long period of operation, there may be a drift in the main power supply generated by a voltage reference module. To compensate for this drifting effect, the short recalibrating mode can be used. According to aspects of the present disclosure, the circuit calibration module <NUM> can be enabled interactively to monitor the effect of the changes described above, and to provide the trigger of a recalibration event.

<FIG> illustrates an exemplary application of a performance adjuster according to aspects of the present disclosure. In the exemplary application of <FIG>, an integrated circuit <NUM> may be configured to receive an operating voltage from a voltage reference module <NUM>. The received operating voltage may be distributed by a power grid <NUM> to supply power to the rest of the integrated circuit <NUM>, such as to the one or more feedback paths <NUM> and the performance adjuster <NUM>. The operating voltage includes a first voltage (VDD) indicative of power and a second voltage (VSS) indicative of a circuit ground. The integrated circuit <NUM> may further include a clock generator <NUM>, which may be configured to receive a reference clock from a reference clock module <NUM>. According to aspects of the present disclosure, the reference clock may be used to produce the operating frequency of the integrated circuit. The clock generator <NUM> may also be configured to receive adjustment(s) or feedback from the performance adjuster <NUM> for adjusting the operating frequency of the integrated circuit <NUM>.

According to aspects of the present disclosure, the performance adjuster <NUM> may be configured to receive one or more feedback path delays of corresponding one or more circuit blocks in the integrated circuit <NUM>, compare the one or more feedback path delays of the one or more circuit blocks to the reference clock, determine timing margins of the one or more feedback paths of the one or more circuit blocks, generate a feedback for adjusting the operating voltage or the operating frequency of the integrated circuit based on the timing margins of the one or more feedback paths of the one or more circuit blocks. The integrated circuit <NUM> may be configured to receive, from the voltage reference module <NUM>, an updated operating voltage, where the updated operating voltage is generated in accordance with the adjustment(s) or feedback provided by the performance adjuster <NUM>. In this way, a calibration loop is formed between the integrated circuit <NUM> and the voltage reference module <NUM>, and in particular among the voltage reference module <NUM>, power grid <NUM>, feedback paths <NUM>, and the performance adjuster <NUM>. Note that in some implementations, the performance adjuster may provide status information to other parts of the integrated circuit <NUM> or to other components outside of the integrated circuit <NUM>.

<FIG> illustrates another exemplary application of a performance adjuster according to aspects of the present disclosure. As shown in <FIG>, an integrated circuit <NUM> may be configured to receive an operating voltage from a voltage reference module <NUM>. The received operating voltage is received through an on-die regulator <NUM>, and then distributed by a power grid <NUM> to supply power to the rest of the integrated circuit <NUM>, such as to the one or more feedback paths <NUM> and to the performance adjuster <NUM>. The operating voltage includes a first voltage (VDD) indicative of power and a second voltage (VSS) indicative of a circuit ground. The integrated circuit <NUM> may further include a clock generator <NUM>, which may be configured to receive a reference clock from a reference clock module <NUM>, and/or to receive adjustment(s) or feedback from the performance adjuster <NUM> for adjusting the operating frequency of the integrated circuit <NUM>, similar to the exemplary application as described in association with <FIG>.

According to aspects of the present disclosure, the performance adjuster <NUM> may be configured to receive one or more feedback path delays of corresponding one or more circuit blocks in the integrated circuit <NUM>, compare the one or more feedback path delays of the one or more circuit blocks to the reference clock, determine timing margins of the one or more feedback paths of the one or more circuit blocks, generate a feedback for adjusting the operating voltage or the operating frequency of the integrated circuit based on the timing margins of the one or more feedback paths of the one or more circuit blocks. The on-die regulator <NUM> may be configured to receive the feedback from the performance adjuster <NUM> for adjusting the operating voltage, and generate an updated operating voltage using the operating voltage received from the voltage reference module <NUM> and the feedback received from the performance adjuster <NUM>. In this way, a calibration loop is formed within the integrated circuit <NUM>, in particular, among the on-die regulator <NUM>, power grid <NUM>, feedback paths <NUM>, and the performance adjuster <NUM>.

<FIG> illustrates an exemplary implementation of a performance adjuster according to aspects of the present disclosure. In the exemplary implementation shown in <FIG>, the performance adjuster <NUM> may include a multiplexer <NUM>, a phase sampler <NUM>, a counter <NUM>, a fine-shift register <NUM>, a coarse-shift register <NUM>, a summation unit <NUM>, a digital to analog converter <NUM>, a current bias <NUM> and a startup module <NUM>. The performance adjuster <NUM> may also be configured to receive input(s) from an on-die test module <NUM> and provide feedback to the on-die test module <NUM>.

In one embodiment, at a given time one of the feedback path delay from the feedback paths <NUM> may be selected by the multiplexer <NUM> through the input selection to generate data related to the feedback path delay and a corresponding data make (DM). The selected feedback path delay information is compared to the clock cycle time with the phase sampler <NUM>. The phase sampler <NUM> generates two complemented output signals, namely increase (INC) and decrease (DEC). If the feedback path delay is shorter than one period of a reference clock cycle, the decrement signal is asserted (logic high); if the feedback path delay is longer than one period of the reference clock cycle, the increment signal is asserted (logic high).

The increment and decrement signals are fed into the counter <NUM>, which performs the function of a digital loop filter. In one implementation, upon detecting <NUM> out of <NUM> decrement samples, the <NUM>-bit binary decrement counter may count up by <NUM>. When <NUM>-bit decrement counter reaches to <NUM> counts, it may shift up the fine-shift register <NUM> by <NUM>, the <NUM>-bit binary decrement counter may then be reset and starts the counting again. When the fine-shift register <NUM> reaches all <NUM>'s, it may shift the coarse-shift register <NUM> up by <NUM> and the fine-shift register <NUM> may then be reset to <NUM>, and the loop starts over. In other implementations, different counter, fine-shift register, and coarse-shift register sizes may be used to record the behaviors of the feedback paths.

Similarly, when there are five samples of <NUM>'s detected out of <NUM> samples, the <NUM>-bit increment counter may count up by <NUM>. The increment counter may then be reset and starts the counting again. When <NUM>-bit increment counter reaches to <NUM> counts, it may shift down the fine-shift register <NUM> by <NUM>, the <NUM>-bit binary increment counter may then be reset and starts the count again. If the fine-shift register <NUM> reaches all <NUM>'s, the coarse-shift register <NUM> may be shifted down by <NUM>, and the fine-shift register <NUM> may be reset to all <NUM>'s and the loop starts over.

The analog Vref level may be generated by summing, using the summation unit <NUM>, values of the coarse-shift register <NUM> and the fine-shift register <NUM> bits, and then the digital values is converted to an analog value using the DAC <NUM>.

In some embodiments, the weight of all fine bits may be equivalent to one coarse bit. The feedback path delay drifting due to temperature or activity may also be tracked using same fine and coarse calibration loops as described above.

After <NUM> consecutive times of no majority vote from data sampling of increment and decrement, the performance adjuster <NUM> may issue a lock signal (lock=high) and calibration is completed.

<FIG> illustrates an example of a phase sampler timing diagram according to aspects of the present disclosure. As shown in <FIG>, the feedback path data may be compared to the clock cycle time. The feedback path provides a delay signal and its associated data mask (DM) to the phase sampler <NUM>. Each time the phase sampler <NUM> observes the DM signal transitions to high, it compares the feedback path delay with the clock period and outputs a signal of a fast (e.g., DEC is asserted) or a slow (e.g., INC is asserted) indicator to the counter <NUM>.

Note that the feedback path data and its data mask may not need to be generated at every clock cycle, as long as the performance adjuster can gather sufficient sampling data to generate the output reference voltage (Vref) within a time period. Therefore, the more data gathered from the feedback paths <NUM>, the faster the voltage calibration can be completed.

<FIG> illustrates an exemplary implementation of phase sampler control logic according to aspects of the present disclosure. In the example of <FIG>, a loop filter finite state machine diagram is shown. As described above, when the phase sampler <NUM> detects majority increment or decrement out of <NUM> samples, it may trigger the increment or decrement <NUM>-bit binary counter up by <NUM>. When the counter <NUM> reaches <NUM> counts, it may shift the fine-shift-register up by <NUM> for decrement counter, or down by <NUM> for increment counter, then the counter may be reset and starts over. After the fine-shift register <NUM> reaches all <NUM>'s or all <NUM>'s, it may trigger the coarse-shift register <NUM> to shift up by <NUM> or shift down by one respectively, the fine-shift register <NUM> may then be reset and start counting again. If the performance adjuster <NUM> does not detect majority (not sufficient votes) increment or decrement from <NUM> samples for a consecutive <NUM> times, it may issue the lock signal and the calibration is completed.

<FIG> illustrates an exemplary implementation of a digital-to-analog converter and summation of coarse bits and fine bits according to aspects of the present disclosure. As shown in <FIG>, the implementation includes a current bias <NUM>, a fine adjustable current source <NUM>, a fine adjustment selector <NUM>, a coarse adjustable current source <NUM>, a coarse adjustment selector <NUM>, a load <NUM>, and a feedback amplifier <NUM> for driving Vref to outside of the performance adjuster <NUM>. The reference voltage (Vref) may be generated by a DAC with summing of coarse and fine bits. In some implementations, there may be an option of direct loading pre-calibrated value of fine and coarse bits to the DAC without going through calibration.

<FIG> illustrates an exemplary implementation of an on-die testing and self-calibration module according to aspects of the present disclosure. In the example of <FIG>, the implementation may include a feedback amplifier <NUM>, a variable load <NUM>, and a replica feedback path <NUM>. The replica feedback path <NUM> operated under its own regulated supply, the loop may calibrate this local regulated supply until it meets the frequency target. According to aspects of the present disclosure, the on-die testing and self-calibration module is configured to test the voltage supply regulating scheme without involving the actual change in the power supply. This module can be used to calibrate the local regulated supply without effecting the main power supply. The calibration is completed, the digital codes of the calibration can be stored or read out for information, or can be fed back for setting the supply voltage of the integrated circuit. The on-die testing and self-calibration module may also be used to monitor the change in the supply and trigger the recalibration when needed. The on-die testing and self-calibration module may be part of the circuit calibration module described above in association with <FIG>.

<FIG> illustrates an exemplary implementation of feedback path data and data mask generation according to aspects of the present disclosure. In the exemplary implementation of <FIG>, a combinational logic <NUM> that represent a crucial path or a replica feedback path may be placed between D flip flops, namely <NUM> and <NUM>. The data mask signal may be taken from the output of D flip flop <NUM> before it reaches the combination logic <NUM>. The data_in signal may be taken from the output of the combinational logic <NUM> before the input of the D flip flop <NUM>. The data_in signal may represent the feedback path data according to aspects of the present disclosure. Note that when voltage calibration mode is enabled, this enable signal is sent to feedback path (or a corresponding replica feedback path) to send back the data and data mask signals to the performance adjuster.

<FIG> illustrates an exemplary Implementation of interface timing of feedback path data and data mask generation according to aspects of the present disclosure. As shown in <FIG>, both data_mask and data_in signals may be generated from a same clock edge. It is desirable that the data_mask signal to be arrived at the performance adjuster block before data_in signal. Note that though the data_mask or data_in signal may not need to be generated every clock cycle, as long as the performance adjuster may gather sufficient feedback path data for its calibration during a period of time. In some implementations, it is desirable that the data through the feedback path be toggled every clock cycle (clock like pattern) or use PRBS generated pattern. Depends on the time delay from feedback path to the performance adjuster, this time delay may be subtracted from the feedback path by stop reading the data_in before the signal transitions from one state to another state.

<FIG> illustrates a method of designing an integrated circuit according to the present disclosure. In the example shown in <FIG>, in block <NUM>, the method determines a plurality of design criteria of the integrated circuit. In block <NUM>, the method designs a plurality of circuit blocks of the integrated circuit in accordance with the plurality of design criteria, where circuit blocks in the plurality of
circuit blocks include one or more feedback paths, respectively. In block <NUM>, the method designs a circuit performance monitor, where the circuit performance monitor includes one or more replica feedback paths corresponding to the one or more feedback paths in the circuit blocks, and where the circuit performance monitor is configured to monitor feedback path information of the one or more replica feedback paths. In block <NUM>, the method verifies the plurality of circuit blocks and the circuit performance monitor to meet the plurality of design criteria. In block <NUM>, the method produces a verified description of the integrated circuit for manufacturing.

<FIG> illustrates an exemplary method of designing a performance data collector according to aspects of the present disclosure. As shown in <FIG>, in block <NUM>, the method collects measured performance data of the one or more replica feedback paths. In block <NUM>, the method compares the measured performance data to a set of reference performance data. In block <NUM>, the method generates performance differences between the measured performance data and the set of reference performance data based on the comparison.

<FIG> illustrates an exemplary method of designing a signal quality data collector according to aspects of the present disclosure. In the exemplary method of <FIG>, in block <NUM>, the method collects measured signal quality data of the one or more replica feedback paths. In block <NUM>, the method compares the measured signal quality data to a set of reference signal quality data. In block <NUM>, the method generates signal quality differences between the measured signal quality data and the set of reference signal quality data based on the comparison.

<FIG> illustrates an exemplary method of designing a performance adjuster according to aspects of the present disclosure. In the example of <FIG>, in block <NUM>, the method determines one or more adjustment voltage values based at least in part on the feedback path information of the one or more replica feedback paths, where the feedback path information includes at least one of performance data or signal quality data of the one or more replica feedback paths. In block <NUM>, the method adjusts corresponding supply voltages of the one or more circuit blocks using the one or more adjustment voltage values during operation of the integrated circuit.

<FIG> illustrates a method of designing a circuit parameter controller according to the present disclosure. As shown in <FIG>, in block <NUM>, the method determines adjustment circuit parameter values based at least in part on the feedback path information of the one or more replica feedback paths, where the feedback path information includes at least one of performance data or signal quality data of the one or more replica feedback paths. In block <NUM>, the method adjusts corresponding circuit parameters of the circuit blocks using the adjustment circuit parameter values during operation of the integrated circuit. According to aspects of the present disclosure, the circuit parameters of the one or more circuit blocks includes at least one of: threshold voltages of the one or more circuit blocks, power usage of the one or more circuit blocks, electrical impedance of the one or more circuit blocks, operating frequencies of the one or more circuit blocks, or a combination thereof.

<FIG> illustrates an exemplary method of designing an operating environment controller according to aspects of the present disclosure. In the example of <FIG>, in block <NUM>, the method determines one or more adjustment operating environment values based at least in part on the feedback path information of the one or more replica feedback paths, where the feedback path information includes at least one of performance data or signal quality data of the one or more replica feedback paths. In block <NUM>, the method adjusts corresponding operating environment of the one or more circuit blocks using the one or more adjustment operating environment values during operation of the integrated circuit. According to aspects of the present disclosure, the operating environment of the one or more circuit blocks includes at least one of corresponding temperatures or thermal impedance of the one or more circuit blocks.

<FIG> illustrates an exemplary method of dynamically adjusting an operating voltage of an integrated circuit according to aspects of the present disclosure. As shown in the example of <FIG>, in block <NUM>, the method receives, from a voltage reference module, the operating voltage of the integrated circuit, where the operating voltage is distributed in a power grid that drives a plurality of circuit blocks of the integrated circuit. In block <NUM>, the method receives, from a clock generator, a reference clock, where the reference clock is used as an operating frequency of the integrated circuit and is distributed to by the plurality of circuit blocks in the integrated circuit. In block <NUM>, the method measures, by a circuit performance monitor, feedback path timing information of one or more circuit blocks in the plurality of circuit blocks. In block <NUM>, the method compares, by a performance adjuster, the feedback path timing information of the one or more circuit blocks to the reference clock. In block <NUM>, the method determines, by the performance adjuster timing margins of corresponding one or more feedback paths of the one or more circuit blocks based on the comparison. In block <NUM>, the method generates, by the performance adjuster, a feedback for adjusting the operating voltage or the operating frequency of the integrated circuit based on the timing margins of the one or more feedback paths of the one or more circuit blocks.

According to aspects of the present disclosure, the operating voltage includes a first voltage indicative of a supply voltage and a second voltage indicative of a circuit ground. The circuit performance monitor may include one or more replica feedback paths corresponding to one or more feedback paths in the one or more circuit blocks, and where the feedback path timing information includes feedback path delay data of the one or more replica feedback paths.

<FIG> illustrates an exemplary implementation of dynamically adjusting the operating voltage of the integrated circuit of <FIG> according to aspects of the present disclosure. In the exemplary implementation of <FIG>, in block <NUM>, the method receives, from the voltage reference module, an updated operating voltage, where the updated operating voltage is generated in accordance with the feedback provided by the performance adjuster. In block <NUM>, the method distributes the updated operating voltage to the plurality of circuit blocks of the integrated circuit through the power grid.

<FIG> illustrates another exemplary implementation of dynamically adjusting the operating voltage of the integrated circuit of <FIG> according to aspects of the present disclosure. As shown in <FIG>, in block <NUM>, the method provides, by an on-die regulator, the operating voltage of the integrated circuit to the power grid. In block <NUM>, the method receives, at the on-die regulator, the feedback for adjusting the operating voltage. In block <NUM>, the method generates, by the on-die regulator, an updated operating voltage using the operating voltage of the integrated circuit from the voltage reference module and the feedback received from the performance adjuster, where the updated operating voltage is distributed to the plurality of circuit blocks of the integrated circuit through the power grid.

<FIG> illustrates an exemplary implementation of controlling the performance adjuster for dynamically adjusting the operating voltage of the integrated circuit of <FIG> according to aspects of the present disclosure. In the example of <FIG>, in block <NUM>, the method selects, by a multiplexer, a feedback path from the one or more feedback paths. In block <NUM>, the method provides, by the multiplexer, a feedback path delay data and a corresponding data mask of the feedback path selected. In block <NUM>, the method receives, by a phase sampler, the feedback path delay data and the corresponding data mask of the feedback path selected. In block <NUM>, the method generates, by the phase sampler, indications of increment and indications of decrement using the feedback path delay data and the corresponding data mask. According to aspects of the present disclosure, the phase sampler is operated according to a feedback path data sampling window identified based on at least one of: a period when a corresponding feedback path data mask is asserted, or a trigger configured to indicate a period of measured performance data being sampled, where the trigger is generated based on a state of the feedback path or the trigger is generated to create a toggle of a launching flip flop of the feedback path based on a state of the launching flip flop. In block <NUM>, the method counts, by a counter, the indications of increment and the indication of decrement generated by the phase sampler. In block <NUM>, the method provides a number of fine bits that represent the indications of increment and the indications of decrement generated by the phase sampler. In block <NUM>, the method provides a number of coarse bits, where each coarse bit in the number of coarse bits represent s a predetermined set of fine bits. In block <NUM>, the method stores, in a fine-bits register, the number of fine bits provided by the counter; and stores, in a coarse-bits register, the number of coarse bits provided by the counter. In block <NUM>, the method generates, by a summation unit, a sum of the fine bits and course bits. In block <NUM>, the method generates, by a digital to analog converter, the feedback for adjusting the operating voltage based on the sum of the fine bits and course bits.

With the capabilities of adjustment of power, circuit parameters, operating environments, and circuit behaviors, the present disclosure provides various advantages over the conventional approach of designing, manufacturing, and operating an integrated circuit. For example, one advantage is that the disclosed integrated circuit may be adjusted to achieve a lower power consumption for a desired performance, or conversely achieve a higher performance for a given power consumption or a higher performance per unit power. Another advantage is that the adjustment of power, circuit parameters, operating environments, and circuit behaviors can be accomplished after an integrated circuit has been manufactured; and the adjustment can be accomplished without affecting the timing of the feedback paths and without perturbation to the operations of the integrated circuits. Yet another advantage is that since the integrated circuit may be adjusted after manufacturing, the design process may be simplified and the design duration may be shortened by reducing or minimizing the extensive iterative static timing analysis and timing verification during the design phase of the integrated circuit.

Claim 1:
An integrated circuit (<NUM>), comprising:
a plurality of circuit blocks (<NUM>, <NUM>, <NUM>, <NUM>) of the integrated circuit designed in accordance with a plurality of design criteria, wherein the circuit blocks (<NUM>, <NUM>) in the plurality of circuit blocks (<NUM>, <NUM>, <NUM>, <NUM>) include one or more critical paths (<NUM>, <NUM>), respectively;
a circuit performance monitor (<NUM>), wherein the circuit performance monitor (<NUM>) includes one or more replica critical paths (<NUM>, <NUM>) corresponding to the one or more critical paths (<NUM>, <NUM>) in the circuit blocks (<NUM>, <NUM>), and wherein the circuit performance monitor (<NUM>) is configured to monitor critical path information of the one or more replica critical paths (<NUM>, <NUM>);
characterized in that
further comprising:
a circuit performance controller (<NUM>) that comprises circuit parameter controllers (<NUM>) configured to:
determine adjustment circuit parameter values based at least in part on the critical path information of the replica critical paths (<NUM>, <NUM>), wherein the critical path information includes at least one of performance data or signal quality data of the one or more replica critical paths (<NUM>, <NUM>); and
adjust corresponding circuit parameters of the circuit blocks (<NUM>, <NUM>) using the adjustment circuit parameter values during operation of the integrated circuit (<NUM>).