Performance calculation system, performance calculation method and electronic device
By setting up an oscillator circuit system on the chip, sensing and adjusting the signal period, and constructing a performance function, the problem of inaccurate integrated circuit performance estimation is solved, accurate estimation and simple calculation are achieved, and the user experience of electronic devices is improved.
Patent Information
- Application Number
- CN202011116269.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-10-19
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-03-11
AI Technical Summary
It is difficult to accurately estimate the performance of integrated circuits with existing technologies, especially the impact of changes in signal transmission characteristics under different operating conditions, which affects the user experience of electronic devices.
By setting up multiple oscillator circuit systems on the chip, sensing the working state and adjusting the oscillation signal period, a performance function is constructed to reflect the performance changes under different working states. The coefficients of the function are adjusted using electronic devices to accurately estimate the performance under different voltages or temperatures.
This enables accurate estimation of integrated circuit performance, shortens timing analysis time, and reduces hardware requirements.
Smart Images

Figure CN114386348B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a performance computing system and a performance computing method thereof, and more particularly to a performance computing system and a performance computing method thereof applicable to an integrated circuit. Background Art
[0002] Integrated circuits (ICs) are widely used in various electronic devices, and their performance (e.g., latency) often impacts the user experience of these devices. In some timing analysis methods, signal transmission characteristics along critical paths are used to estimate IC performance, as these paths determine the maximum operating frequency of the IC. Summary of the Invention
[0003] This disclosure provides a performance calculation method applicable to a chip. The chip includes multiple oscillator circuit systems, which are used to generate multiple oscillation signals and to sense the working state of the chip to adjust the periods of the multiple oscillation signals. The performance calculation method includes the following process: when the chip is in a first working state, a first function is constructed based on the periods of the multiple oscillation signals and based on the first performance value of the chip or an approximate value of the first performance value; when the chip is in a second working state, a second function is constructed based on the periods of the multiple oscillation signals and based on the second performance value of the chip or an approximate value of the second performance value; based on the trends of the graphs of the first function and the second function, the coefficients of the first function or the coefficients of the second function are adjusted so that the graphs of the first function and the second function intersect at a coordinate point; and a performance function of the chip is constructed based on the first function and the second function.
[0004] In certain embodiments of the performance calculation method, an input / output (I / O) terminal of the chip is configured to receive an operating voltage. A first operating state is when the operating voltage has a first voltage value or when the chip has a first temperature. Constructing a first function includes the following steps: collecting multiple oscillation signals from multiple oscillator circuit systems; collecting multiple oscillation signals from multiple oscillator circuit systems; assigning multiple first weights as coefficients of the first function to the periods of the multiple oscillation signals to construct the first function, using the first voltage value or the first temperature as an input of the first function, and using the first performance value or an approximation of the first performance value as an output of the first function to determine multiple first weights.
[0005] In certain embodiments of the performance calculation method, the second operating state is when the operating voltage has a second voltage value or the chip has a second temperature. Constructing a second function includes the following steps: collecting multiple oscillation signals from multiple oscillator circuit systems; measuring the second performance value of the chip; assigning multiple second weights as coefficients of the second function to the periods of the multiple oscillation signals to construct the second function, and using the second voltage value or the second temperature as an input of the second function and the second performance value or an approximation of the second performance value as an output of the second function to determine multiple second weights.
[0006] In certain embodiments of the above-mentioned performance calculation method, adjusting the coefficient of the first function or the coefficient of the second function based on the trends of the graphs of the first function and the second function includes the following process: if an output of the first function obtained by using the second voltage value as an input of the first function is greater than or equal to the second performance value, then adjusting the coefficient of the first function; if an output of the second function obtained by using the first voltage value as an input of the second function is greater than or equal to the first performance value, then adjusting the coefficient of the second function.
[0007] In certain embodiments of the aforementioned performance calculation method, the graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively, and the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively. Constructing the performance function of the chip includes the following steps: selecting one of the first and third line segments that maps a corresponding voltage value to a higher performance value as a first portion of the performance function graph; selecting one of the second and fourth line segments that maps another corresponding voltage value to another higher performance value as a second portion of the performance function graph; and constructing the performance function based on the first and second portions and the coordinate point.
[0008] In certain embodiments of the above-mentioned performance calculation method, adjusting the coefficient of the first function or the coefficient of the second function based on the trends of the graphs of the first function and the second function includes the following process: if an output of the first function obtained by using the second voltage value as an input of the first function is less than or equal to the second performance value, then adjusting the coefficient of the first function; if an output of the second function obtained by using the first voltage value as an input of the second function is less than or equal to the first performance value, then adjusting the coefficient of the second function.
[0009] In certain embodiments of the aforementioned performance calculation method, the graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively, and the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively. Constructing the performance function of the chip includes: selecting the first line segment or the third line segment that maps a corresponding voltage value to a lower performance value as a first portion of the performance function graph; selecting the second line segment or the fourth line segment that maps another corresponding voltage value to another lower performance value as a second portion of the performance function graph; and constructing the performance function based on the first portion, the second portion, and the coordinate point.
[0010] In some embodiments of the performance calculation method, the multiple outputs of the performance function include a first performance value or an approximation of the first performance value, a second performance value or an approximation of the second performance value, and a third performance value corresponding to the coordinate point.
[0011] In some embodiments of the performance calculation method, the difference between the first performance value and the approximate value of the first performance value is 0.1-1% of the first performance value, and the difference between the second performance value and the approximate value of the second performance value is 0.1-1% of the second performance value.
[0012] The present disclosure provides a performance calculation system comprising an electronic device and a chip coupled to each other. The chip comprises a plurality of oscillator circuit systems and a control circuit. The plurality of oscillator circuit systems are used to generate a plurality of oscillation signals and to sense the operating state of the chip to adjust the periods of the plurality of oscillation signals. The control circuit is coupled to the plurality of oscillator circuit systems and is used to transmit the plurality of oscillation signals to the electronic device. The electronic device is configured to perform the following operations: when the chip is in a first operating state, a first function is constructed based on the periods of the plurality of oscillation signals and based on a first performance value of the chip or an approximate value of the first performance value; when the chip is in a second operating state, a second function is constructed based on the periods of the plurality of oscillation signals and based on a second performance value of the chip or an approximate value of the second performance value; based on the trends of the graphs of the first function and the second function, the coefficients of the first function or the coefficients of the second function are adjusted so that the graphs of the first function and the second function intersect at a coordinate point; and a performance function of the chip is constructed based on the first function and the second function.
[0013] In certain embodiments of the aforementioned performance calculation system, an input / output (I / O) terminal of the chip is configured to receive an operating voltage. The first operating state is when the operating voltage has a first voltage value or the chip has a first temperature. When the electronic device constructs a first function, the electronic device is further configured to perform the following operations: receive multiple oscillation signals from a control circuit; measure a first performance value of the chip; and construct the first function by assigning multiple first weight values as coefficients of the first function to the periods of the multiple oscillation signals, respectively. The first voltage value or the first temperature is used as an input of the first function, and the first performance value or an approximation of the first performance value is used as an output of the first function to determine multiple first weight values.
[0014] In certain embodiments of the aforementioned performance calculation system, the second operating state is when the operating voltage has a second voltage value or the chip has a second temperature. When the electronic device constructs the second function, the electronic device is further configured to perform the following operations: receive a plurality of oscillation signals from the control circuit; measure a second performance value of the chip; assign a plurality of second weight values as coefficients of the second function to the periods of the plurality of oscillation signals to construct the second function, and use the second voltage value or the second temperature value as an input of the second function and the second performance value or an approximation of the second performance value as an output of the second function to determine a plurality of second weight values.
[0015] In certain embodiments of the above-mentioned performance calculation system, when the electronic device adjusts the coefficient of the first function or the coefficient of the second function based on the trends of the graphs of the first function and the second function, the electronic device is configured to perform the following operations: if an output of the first function obtained by using the second voltage value as an input of the first function is greater than or equal to the second performance value, then adjust the coefficient of the first function; if an output of the second function obtained by using the first voltage value as an input of the second function is greater than or equal to the first performance value, then adjust the coefficient of the second function.
[0016] In certain embodiments of the aforementioned performance calculation system, the graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively, and the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively. When the electronic device constructs the performance function of the chip, the electronic device is configured to perform the following operations: select the first line segment or the third line segment that maps a corresponding voltage value to a higher performance value as a first portion of the performance function graph; select the second line segment or the fourth line segment that maps another corresponding voltage value to another higher performance value as a second portion of the performance function graph; and construct the performance function based on the first portion, the second portion, and the coordinate point.
[0017] In certain embodiments of the above-mentioned performance calculation system, when the electronic device adjusts the coefficient of the first function or the coefficient of the second function based on the trends of the graphs of the first function and the second function, the electronic device is configured to perform the following operations: if an output of the first function obtained by using the second voltage value as an input of the first function is less than or equal to the second performance value, then adjust the coefficient of the first function; if an output of the second function obtained by using the first voltage value as an input of the second function is less than or equal to the first performance value, then adjust the coefficient of the second function.
[0018] In certain embodiments of the aforementioned performance calculation system, the graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively, and the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively. When the electronic device constructs the performance function of the chip, the electronic device is configured to perform the following operations: select the first line segment or the third line segment that maps a corresponding voltage value to a lower performance value as a first portion of the performance function graph; select the second line segment or the fourth line segment that maps another corresponding voltage value to another lower performance value as a second portion of the performance function graph; and construct the performance function based on the first portion, the second portion, and the coordinate point.
[0019] In some embodiments of the performance calculation system, the multiple outputs of the performance function include a first performance value or an approximation of the first performance value, a second performance value or an approximation of the second performance value, and a third performance value corresponding to the coordinate point.
[0020] In some embodiments of the performance calculation system, the difference between the first performance value and the approximate value of the first performance value is 0.1-1% of the first performance value, and the difference between the second performance value and the approximate value of the second performance value is 0.1-1% of the second performance value.
[0021] The present disclosure provides an electronic device for coupling to a chip. The chip includes a plurality of oscillator circuit systems and a control circuit. The plurality of oscillator circuit systems are used to generate a plurality of oscillation signals and to sense the working state of the chip to adjust the periods of the plurality of oscillation signals. The control circuit is coupled to the plurality of oscillator circuit systems and is used to transmit the plurality of oscillation signals to the electronic device. The electronic device is configured to perform the following operations: when the chip is in a first working state, a first function is constructed based on the periods of the plurality of oscillation signals and based on a first performance value of the chip or an approximate value of the first performance value; when the chip is in a second working state, a second function is constructed based on the periods of the plurality of oscillation signals and based on a second performance value of the chip or an approximate value of the second performance value; based on the trends of the graphs of the first function and the second function, the coefficients of the first function or the coefficients of the second function are adjusted so that the graphs of the first function and the second function intersect at a coordinate point; and a performance function of the chip is constructed based on the first function and the second function.
[0022] In some embodiments of the electronic device, the multiple outputs of the performance function include a first performance value or an approximation of the first performance value, a second performance value or an approximation of the second performance value, and a third performance value corresponding to the coordinate point.
[0023] One of the advantages of the above embodiments is that the performance of the chip can be accurately estimated.
[0024] Another advantage of the above embodiments is that the calculation process is simple, which helps to shorten the time of timing analysis and reduce the related hardware requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 A simplified functional block diagram of a performance computing system according to an embodiment of the present disclosure;
[0026] Figure 2 is a simplified functional block diagram of an oscillator circuit system according to one embodiment of the present disclosure;
[0027] Figure 3A is a partial flow chart of a performance calculation method according to one embodiment of the present disclosure;
[0028] Figure 3B is another partial flow chart of a performance calculation method according to one embodiment of the present disclosure;
[0029] Figure 4 A graphical diagram of a first function and a second function according to an embodiment of the present disclosure;
[0030] Figure 5 Schematic diagram of a process for adjusting a plurality of first weight values according to an embodiment of the present disclosure;
[0031] Figure 6 Schematic diagram of a process for adjusting multiple second weight values according to one embodiment of the present disclosure;
[0032] Figure 7 is a graphical diagram of a performance function according to an embodiment of the present disclosure;
[0033] Figure 8A is a partial flow chart of a performance calculation method according to one embodiment of the present disclosure;
[0034] Figure 8B is another partial flow chart of a performance calculation method according to one embodiment of the present disclosure;
[0035] Figure 9 A graphical diagram of a first function and a second function according to an embodiment of the present disclosure;
[0036] Figure 10 FIG. 1 is a graphical diagram of a performance function according to an embodiment of the present disclosure.
[0037]
Explanation of symbols
[0038] 100: Performance Computing System
[0039] 110: Chip
[0040] 112-1~112-n,200: Oscillator circuit system
[0041] 114: Control circuit
[0042] 116: Input and output terminals
[0043] 120: Electronic devices
[0044] OS-1~OS-n: oscillation signal VDD: operating voltage
[0045] 210~230: Oscillator circuit
[0046] 10a~10c,20a~20c,30a~30c,40a~40f,50: Ring oscillator
[0047] 32: Voltage controlled element
[0048] INV: Inverter
[0049] Sa, Sb, Sc: sensing signals
[0050] M1: First metal layer
[0051] M2: Second metal layer
[0052] MN,MP:Transistor
[0053] WR: Internal wire
[0054] 300,800: Performance Calculation Method S302~S326,S802~S826: Process
[0055] 410, 420, 510, 610, 700, 910, 920, 1000: Curve La, La': First line segment
[0056] Lb, Lb': second line segment
[0057] Lc, Lc': the third line segment
[0058] Ld, Ld': the fourth line segment
[0059] T1: First performance value
[0060] T2: Second performance value
[0061] T3: The third potency value
[0062] T4: Fourth potency value
[0063] T5: Fifth performance value
[0064] T6: Sixth performance value
[0065] T7: Seventh performance value
[0066] V1, V1': first voltage value
[0067] V2, V2': second voltage value
[0068] N1, N1': coordinate point
[0069] Ga, Ga': The first part of the graph of the utility function
[0070] Gb, Gb': The second part of the graph of the performance function DETAILED DESCRIPTION
[0071] The following will illustrate the embodiments of the present disclosure with reference to the accompanying drawings. In the accompanying drawings, the same reference numerals represent the same or similar elements or method flows.
[0072] Figure 1The following is a simplified functional block diagram of a performance computing system 100 according to an embodiment of the present disclosure. The performance computing system 100 includes a chip 110 and an electronic device 120. The chip 110 includes a plurality of oscillator circuit systems 112-1 to 112-n and a control circuit 114. The oscillator circuit systems 112-1 to 112-n are disposed at different locations on the chip 110. Each oscillator circuit system 112-1 to 112-n generates a plurality of oscillation signals OS-1 to OS-n having corresponding periods based on factors such as process variation, voltage variation, parasitic element variation, and temperature variation at the location. The control circuit 114 is coupled to the oscillator circuit systems 112-1 to 112-n and is configured to receive the oscillation signals OS-1 to OS-n. The control circuit 114 is also coupled to the electronic device 120 and is configured to transmit the oscillation signals OS-1 to OS-n to the electronic device 120.
[0073] The chip 110 also includes an input / output (I / O) terminal 116 for receiving an operating voltage VDD. The operating voltage VDD is used to drive the chip 110, that is, the operating voltage VDD can be used to drive the oscillator circuit systems 112-1 to 112-n. To keep the figure concise and easy to explain, other components and connections in the chip 110 are not shown. Figure 1 middle.
[0074] In some embodiments, the control circuit 114 may be implemented using various suitable signal transmission interface circuits, such as a Peripheral Component Interconnect Express (PCIe) interface circuit or a Universal Serial Bus (USB) interface circuit.
[0075] The electronic device 120 is used to calculate the performance of the chip 110 when operating at different operating voltages VDD based on the oscillation signals OS-1-OS-n. In some embodiments, the electronic device 120 can be implemented by a tester, a computer, or other devices with logic computing capabilities.
[0076] Figure 2 FIG. 1 is a simplified functional block diagram of an oscillator circuit system 200 according to an embodiment of the present disclosure. Figure 1 Each of the oscillator circuit systems 112-1 to 112-n can be used Figure 2 200, that is, each of the oscillation signals OS-1 to OS-n can be Figure 2 A collection of multiple sensing signals Sa, Sb and Sc.
[0077] The oscillator circuit system 200 includes a plurality of oscillator circuits 210, 220, and 230. The oscillator circuits 210, 220, and 230 are respectively used to sense process variation, parasitic element variation, and voltage variation of the chip 110.
[0078] Specifically, oscillator circuit 210 includes a plurality of ring oscillators 10a-10c, 20a-20c, and 30a-30c. Each of ring oscillators 10a-10c, 20a-20c, and 30a-30c can be implemented by a plurality of inverters INV coupled in series. Inverter INV includes a P-type transistor MP and an N-type transistor MN connected in series, wherein the P-type transistor MP is configured to receive an operating voltage VDD.
[0079] In this embodiment, the P-type transistors MP of the ring oscillators 10a-10c have different threshold voltages. For example, the P-type transistors MP of the ring oscillators 10a-10c have a low threshold voltage, a standard threshold voltage, and a high threshold voltage, respectively.
[0080] In addition, the N-type transistors MN of the ring oscillators 20a-20c have different threshold voltages. For example, the N-type transistors MN of the ring oscillators 20a-20c have a low threshold voltage, a standard threshold voltage, and a high threshold voltage, respectively.
[0081] Furthermore, the threshold voltages of the N-type transistor MN and the P-type transistor MP of any of the ring oscillators 30 a - 30 c are different from the threshold voltages of the N-type transistor MN and the P-type transistor MP of the other ring oscillators 30 a - 30 c. For example, the N-type transistor MN and the P-type transistor MP of the ring oscillator 30 a have a low threshold voltage; the N-type transistor MN and the P-type transistor MP of the ring oscillator 30 b have a standard threshold voltage; and the N-type transistor MN and the P-type transistor MP of the ring oscillator 30 c have a high threshold voltage.
[0082] As a result, the oscillator circuit 210 is more sensitive to process variations, and thus multiple periods of the sensing signal Sa can be used to reflect the process variations of the chip 110 .
[0083] Oscillator circuit 220 includes ring oscillators 40a-40f, each of which can be implemented using a plurality of serially coupled inverters INV. The internal wires WR of ring oscillators 40a-40f (i.e., the connection between two adjacent inverters INV) are implemented using different metal layers. For example, the internal wire WR of ring oscillator 40a is implemented using the first metal layer M1. For another example, the internal wire WR of ring oscillator 40b is implemented using the second metal layer M2, and so on.
[0084] As a result, the ring oscillators 40 a - 40 f are more sensitive to parasitic element variations (eg parasitic capacitance or parasitic resistance variations caused by metal traces), and thus multiple cycles of the sensing signal Sb can be used to reflect the parasitic element variations of the chip 110 .
[0085] Oscillator circuit 230 includes a ring oscillator 50, which can be implemented by a plurality of inverters INV coupled in series. A voltage-controlled element 32 is coupled between two adjacent inverters INV. In other words, voltage-controlled element 32 can be considered a load for inverters INV. Operating voltage VDD is used not only to drive inverters INV but also to set the impedance of voltage-controlled element 32. For example, voltage-controlled element 32 can be implemented using a voltage-controlled capacitor whose capacitance varies with operating voltage VDD.
[0086] As a result, the ring oscillator 50 is more sensitive to the variation of the operating voltage VDD, and thus the period of the sensing signal Sc can be used to reflect the variation of the operating voltage VDD.
[0087] From the above, we can see that due to Figure 1 Each of the oscillation signals OS-1 to OS-n can be Figure 2 The period of each of the oscillation signals OS-1 to OS-n can be used to reflect the process variation, parasitic element variation and operating voltage VDD variation of the corresponding position. Figure 2 The number of ring oscillators included in each of the oscillator circuits 210 , 220 , and 230 is merely an exemplary embodiment, and the number of ring oscillators may be adjusted according to actual design requirements.
[0088] Figure 3A and Figure 3B FIG. 3 is a flow chart of a performance calculation method 300 according to an embodiment of the present disclosure. Figure 1 The performance calculation system 100 can be used to perform the performance calculation method 300 to estimate the performance of the chip 110. For ease of understanding, please also refer to Figure 1 、 Figure 3A and Figure 3B .
[0089] In process S302, the electronic device 120 sets the operating voltage VDD to a first voltage value V1 to drive the oscillator systems 112-1 to 112-n. Therefore, the electronic device 120 receives the oscillation signals OS-1 to OS-n and obtains a period corresponding to the first voltage value V1 according to the oscillation signals OS-1 to OS-n.
[0090] In process S304 , the electronic device 120 measures a path (not shown) of the chip 110 to obtain a first performance value T1 of the chip 110 when the chip 110 operates at a first voltage value V1 . The path may be a critical path of the chip 110 .
[0091] In process S306 , the electronic device 120 constructs a first function as shown in the following Formula 1 based on the first performance value T1 and the periods of the oscillation signals OS- 1 ˜OS-n. The first function will be used to estimate the performance function of the chip 110 in subsequent processes.
[0092]
[0093] In Formula 1, the symbol "funa" represents the first function; the symbol "To" represents the period of oscillation signals OS-1 through OS-n; and the symbol "Ka" represents the multiple first weights corresponding to the periods of oscillation signals OS-1 through OS-n. As previously mentioned, the periods of oscillation signals OS-1 through OS-n vary with the operating voltage VDD and can therefore be represented as a function with the first voltage V1 as input.
[0094] To construct the first function "funa", the electronic device 120 assigns a plurality of first weight values as coefficients of the first function "funa" to the periods of the oscillation signals OS-1 to OS-n, and uses a known first voltage value V1 and a first performance value T1 (or an approximate value of the first performance value T1) as the input and output of the first function "funa" to obtain a plurality of first weight values. That is, when the first voltage value V1 is used as the input of the first function "funa", the plurality of first weight values will make the first performance value T1 (or an approximate value of the first performance value T1) the output of the first function "funa". In some embodiments, Figure 4 The curve 410 (shown as a solid line) in FIG. 4 is a graph of the first function “funa”.
[0095] In process S308, the electronic device 120 sets the operating voltage VDD to the second voltage value V2 to drive the oscillator systems 112-1 to 112-n. Therefore, the electronic device 120 receives the oscillation signals OS-1 to OS-n and obtains a period corresponding to the second voltage value V2 according to the oscillation signals OS-1 to OS-n.
[0096] In process S310 , the electronic device 120 measures a path (not shown, such as a critical path) of the chip 110 to obtain a second performance value T2 when the chip 110 operates at a second voltage value V2 .
[0097] In process S312 , the electronic device 120 constructs a second function as shown in the following Formula 2 based on the second performance value T2 and the periods of the oscillation signals OS- 1 to OS- n. The second function will be used to estimate the performance function of the chip 110 in subsequent processes.
[0098]
[0099] In Formula 2, "funb" represents the second function; "To" represents the period of oscillation signals OS-1 through OS-n; and "Kb" represents the multiple second weights corresponding to the period of oscillation signals OS-1 through OS-n. Similarly, the period of oscillation signals OS-1 through OS-n can be represented as a function using the second voltage V2 as input, which is not further described here.
[0100] To construct the second function "funb", the electronic device 120 assigns a plurality of second weight values as coefficients of the second function "funb" to the periods of the oscillation signals OS-1 to OS-n, and uses a known second voltage value V2 and a second performance value T2 (or an approximate value of the second performance value T2) as the input and output of the second function "funb" to obtain a plurality of second weight values. That is, when the second voltage value V2 is used as the input of the second function "funb", the plurality of second weight values will make the second performance value T2 (or an approximate value of the second performance value T2) the output of the second function "funb". In some embodiments, Figure 4 The curve 420 (shown as a dashed line) in FIG. 4 is a graph of the second function “funb”.
[0101] In some embodiments, the difference between the approximate value of the first performance value T1 and the first performance value T1 is 0.1-1% of the first performance value T1, and the difference between the approximate value of the second performance value T2 and the second performance value T2 is 0.1-1% of the second performance value T2.
[0102] In some embodiments, the electronic device 120 operates the chip 110 at a first temperature in processes S302-S304 to obtain a first performance value T1 of the chip 110 corresponding to the first temperature. In process S306, the known first temperature and the first performance value T1 (or an approximation of the first performance value T1) are used as the input and output of a first function "funa" to obtain a plurality of first weight values. Next, the electronic device 120 operates the chip 110 at a second temperature in processes S308-S310 to obtain a second performance value T2 of the chip 110 corresponding to the second temperature. In process S312, the known second temperature and the second performance value T2 (or an approximation of the second performance value T2) are used as the input and output of a second function "funb" to obtain a plurality of second weight values. In summary, the first performance value T1 and the second performance value T2 in this disclosure are measured when the chip 110 operates in different working states. The aforementioned different working states may include different working voltages VDD and / or different temperatures of the chip 110 .
[0103] Next, in processes S314 and S316, the electronic device 120 determines whether the trends of the graph of the first function "funa" (e.g., curve 410) and the graph of the second function "funb" (e.g., curve 420) conform to a predetermined rule. This predetermined rule stipulates that the graphs of the first function "funa" and the second function "funb" intersect at a coordinate point N1, where coordinate point N1 corresponds to the third performance value T3. Based on the determination result, the electronic device 120 adjusts the first weight value in the first function "funa" and / or the second weight value in the second function "funb."
[0104] In process S314, the electronic device 120 determines whether the output of the first function "funa" is greater than or equal to the second performance value T2 when the first function "funa" uses the second voltage value V2 as input. If so, the electronic device 120 executes process S316 to adjust the plurality of first weights so that the output of the first function "funa" is less than the second performance value T2 when the first function "funa" uses the second voltage value V2 as input. If not, the electronic device 120 proceeds to process S318.
[0105] For example, see Figure 5 Curve 510 (represented by a dotted chain line) is a graph of the first function "funa" obtained after the electronic device 120 executes processes S302-S306 once. In this case, when the first function "funa" takes the second voltage value V2 as input, its output is the fourth performance value T4. Because the fourth performance value T4 is greater than the second performance value T2, the electronic device 120 adjusts the multiple first weight values of the first function "funa" one or more times until the graph of the first function "funa" changes to curve 410. In other words, until the first function "funa" takes the second voltage value V2 as input, its output is a fifth performance value T5 that is less than the second performance value T2.
[0106] In process S318, the electronic device 120 determines whether the output of the second function "funb" is greater than or equal to the first performance value T1 when the second function "funb" uses the first voltage value V1 as input. If so, the electronic device 120 executes process S320 to adjust the plurality of second weights so that the output of the second function "funb" is less than the first performance value T1 when the second function "funb" uses the first voltage value V1 as input. If not, the electronic device 120 proceeds to process S322.
[0107] For example, see Figure 6Curve 610 (represented by a dotted chain line) is a graph of the second function "funb" obtained after the electronic device 120 executes processes S308-S312 once. In this case, when the second function "funb" takes the first voltage value V1 as input, its output is the sixth performance value T6. Because the sixth performance value T6 is greater than the first performance value T1, the electronic device 120 adjusts the multiple second weight values of the second function "funb" one or more times until the graph of the second function "funb" changes to curve 420. In other words, until the second function "funb" takes the first voltage value V1 as input, its output is the seventh performance value T7, which is less than the first performance value T1.
[0108] In summary, the electronic device 120 can perform interpolation or polynomial regression operations multiple times according to the performance of the chip 110 to estimate the multiple first weight values "Ka" and the multiple second weight values "Kb". Figure 3B The process S322 to S326 in the embodiment is to calculate the performance function of the chip 110 based on the first function "funa" and the second function "funb". The performance function can be used to estimate the corresponding performance of the chip 110 when receiving different operating voltages VDD. For ease of understanding, refer to Figure 3B 、 Figure 4 and Figure 7 .
[0109] like Figure 4 As shown, the curve 410 includes a first line segment La and a second line segment Lb located on the left and right of the coordinate point N1 respectively, and the curve 420 includes a third line segment Lc and a fourth line segment Ld located on the left and right of the coordinate point N1 respectively.
[0110] In process S322, the electronic device 120 selects the first line segment La and the third line segment Lc for mapping the operating voltage VDD to the higher performance value of the chip 110, and uses the selected result as the first part Ga of the performance function graph. Figure 7 As shown, the electronic device 120 selects the first line segment La as the first part Ga of the graph of the performance function.
[0111] In process S324, the electronic device 120 selects the second line segment Lb and the fourth line segment Ld that is used to map the operating voltage VDD to the higher performance value of the chip 110, and uses the selected result as the second part Gb of the performance function graph. Figure 7 As shown, the electronic device 120 selects the fourth line segment Ld as the second part Gb of the performance function graph. In this way, the electronic device 120 obtains the performance function graph in process S320, that is, Figure 7The curve 700 includes the first portion Ga, the second portion Gb and the coordinate point N1.
[0112] In process S326 , the electronic device 120 calculates a performance function according to the curve 700 . In some embodiments, the performance of the chip 110 can be expressed by the following “Formula 3”, where the symbol “funt” represents the performance function of the chip 110 .
[0113] funt(funa(V) , funb(V)) 《 Formula 3》
[0114] Depend on Figure 7 It can be seen that in some embodiments, the multiple outputs (ie, value ranges) of the performance function include a first performance value T1 or an approximate value of the first performance value T1, a second performance value T2 or an approximate value of the second performance value T2, and a third performance value T3 corresponding to the coordinate point N1.
[0115] Figure 8A and Figure 8B FIG. 8 is a flow chart of a performance calculation method 800 according to an embodiment of the present disclosure. Figure 1 The performance calculation system 100 can be used to execute the performance calculation method 800 to estimate the performance of the chip 110. The processes S802-S812 in the performance calculation method 800 are similar to the processes S302-S312 in the performance calculation method 300, respectively.
[0116] For example, see Figure 9 In this embodiment, to construct the first function "funa", the electronic device 120 assigns a plurality of first weight values as coefficients of the first function "funa" to the periods of the oscillation signals OS-1 to OS-n, and uses the known first voltage value V1' and the first performance value T1' (or an approximate value of the first performance value T1') as the input and output of the first function "funa" to obtain a plurality of first weight values. In some embodiments, Figure 9 The curve 910 (shown as a solid line) in FIG. 9 is a graph of the first function “funa”.
[0117] For another example, in this embodiment, to construct the second function "funb", the electronic device 120 assigns a plurality of second weight values as coefficients of the second function "funb" to the periods of the oscillation signals OS-1 to OS-n, and uses a known second voltage value V2' and a second performance value T2' (or an approximate value of the second performance value T2') as the input and output of the second function "funb" to obtain a plurality of second weight values. In some embodiments, Figure 9Curve 920 (shown by a dotted line) in FIG. 1 is a graph of the second function "funb." For the sake of brevity, the remaining contents of processes S802 to S812 similar to those described above are not repeated here. The performance calculation method 800 will be described below starting with process S814.
[0118] In process S814, the electronic device 120 determines whether the output of the first function "funa" is less than or equal to the second performance value T2' when the first function "funa" uses the second voltage value V2' as input. If so, the electronic device 120 executes process S816 to adjust the plurality of first weights so that the output of the first function "funa" is greater than the second performance value T2' when the first function "funa" uses the second voltage value V2' as input. If not, the electronic device 120 proceeds to process S818.
[0119] In process S818, the electronic device 120 determines whether the output of the second function "funb" is less than or equal to the first performance value T1' when the second function "funb" uses the first voltage value V1' as input. If so, the electronic device 120 executes process S820 to adjust the plurality of second weights so that the output of the second function "funb" is greater than the first performance value T1' when the second function "funb" uses the first voltage value V1' as input. If not, the electronic device 120 proceeds to process S822.
[0120] In other words, the performance calculation methods 300 and 800 have different preset rules for the trends of the graph of the first function "funa" and the graph of the second function "funb". Figure 4 and Figure 9 There are different trends in the.
[0121] like Figure 9 As shown, the curve 910 includes a first line segment La' and a second line segment Lb' located on the left and right of the coordinate point N1', respectively. The curve 920 includes a third line segment Lc' and a fourth line segment Ld' located on the left and right of the coordinate point N1', respectively.
[0122] In process S822, the electronic device 120 selects the lower performance value of the first line segment La' and the third line segment Lc' for mapping the operating voltage VDD to the chip 110, and uses the selected result as the first part Ga' of the performance function graph. Figure 10 As shown, the electronic device 120 selects the first line segment La′ as the first part Ga′ of the graph of the performance function.
[0123] In process S824, the electronic device 120 selects the second line segment Lb' and the fourth line segment Ld' that is used to map the operating voltage VDD to the lower performance value of the chip 110, and uses the selected result as the second part Gb' of the performance function graph. Figure 10 As shown, the electronic device 120 selects the fourth line segment Ld' as the second part Gb' of the performance function graph. In this way, the electronic device 120 obtains the performance function graph in process S820, that is, Figure 10 The curve 1000 includes the first portion Ga', the second portion Gb' and the coordinate point N1'.
[0124] In process S826, the electronic device 120 calculates the performance function according to the curve 1000. The performance function is expressed in a manner similar to the aforementioned "Formula 3" and will not be repeated here. Figure 10 It can be seen that in some embodiments, the multiple outputs (i.e., value ranges) of the performance function include a first performance value T1' or an approximate value of the first performance value T1', a second performance value T2' or an approximate value of the second performance value T2', and a third performance value T3' corresponding to the coordinate point N1'.
[0125] In summary, the performance calculation system 100 and the performance calculation methods 300 and 800 provided in this disclosure can grasp various variation factors within the chip 110 to accurately estimate the performance of the chip 110 (eg, signal delay time on a critical path).
[0126] In addition, the calculation process of the performance calculation methods 300 and 800 is simple, which helps to shorten the time of timing analysis and reduce the related hardware requirements.
[0127] Certain words are used in the specification and claims to refer to specific components. However, a person with ordinary knowledge in the technical field should understand that the same component may be referred to by different nouns. The specification and claims do not use the difference in name as a way to distinguish components, but use the difference in function of the components as the basis for distinction. The term "including" mentioned in the specification and claims is an open term and should be interpreted as "including but not limited to". In addition, "coupling" here includes any direct and indirect connection means. Therefore, if the text describes a first component coupled to a second component, it means that the first component can be directly connected to the second component through electrical connection or wireless transmission, optical transmission and other signal connection methods, or can be indirectly electrically or signal connected to the second component through other components or connection means.
[0128] The description method of "and / or" used herein includes any combination of one or more of the listed items. In addition, unless otherwise specified in the specification, any singular term also includes the plural meaning.
[0129] The above are only preferred embodiments of the present disclosure. All equivalent changes and modifications made according to the claims of the present disclosure should fall within the scope of the present disclosure.
Claims
1. A performance calculation method, characterized in that: A chip includes a plurality of oscillator circuit systems for generating a plurality of oscillation signals and for sensing the working status of the chip to adjust the periods of the plurality of oscillation signals, wherein the performance calculation method includes: When the chip is in a first working state, an output of a first function is set by a first performance value of the chip or an approximate value of the first performance value to construct the first function, wherein the first function has a plurality of first coefficients respectively multiplied by the periods of the plurality of oscillation signals; When the chip is in a second working state, an output of a second function is set by a second performance value of the chip or an approximate value of the second performance value to construct the second function, wherein the second function has a plurality of second coefficients respectively multiplied by the periods of the plurality of oscillation signals; Adjusting the first coefficients of the first function or the second coefficients of the second function according to trends of the graph of the first function and the graph of the second function, so that the graph of the first function intersects the graph of the second function at a predetermined coordinate point; as well as A performance function of the chip is constructed using the coordinate point, a line segment of the graph of the first function located on one side of the coordinate point, and a line segment of the graph of the second function located on the other side of the coordinate point.
2. The performance calculation method according to claim 1, wherein: An input / output (I / O) terminal of the chip is used to receive an operating voltage. The first operating state is that the operating voltage has a first voltage value or the chip has a first temperature. Constructing the first function includes: collecting the plurality of oscillation signals from the plurality of oscillator circuit systems; measuring the first performance value of the chip; as well as The first function is constructed by assigning a plurality of first weight values as the plurality of first coefficients of the first function to the periods of the plurality of oscillation signals respectively, and the first voltage value or the first temperature is used as an input of the first function, and the first performance value or the approximate value of the first performance value is used as the output of the first function to determine the plurality of first weight values.
3. The performance calculation method according to claim 2, wherein: The second working state is that the working voltage has a second voltage value or the chip has a second temperature, and constructing the second function includes: collecting the plurality of oscillation signals from the plurality of oscillator circuit systems; measuring the second performance value of the chip; and The second function is constructed by assigning a plurality of second weight values as the plurality of second coefficients of the second function to the periods of the plurality of oscillation signals respectively, and the second voltage value or the second temperature is used as an input of the second function, and the second performance value or the approximate value of the second performance value is used as the output of the second function to determine the plurality of second weight values.
4. The performance calculation method according to claim 3, wherein: Adjusting the first coefficients of the first function or the second coefficients of the second function according to trends of the graph of the first function and the graph of the second function includes: If the output of the first function obtained by using the second voltage value as an input of the first function is greater than or equal to the second performance value, adjusting the first coefficients of the first function; as well as If the output of the second function obtained by taking the first voltage value as an input of the second function is greater than or equal to the first performance value, the second coefficients of the second function are adjusted.
5. The performance calculation method according to claim 4, wherein: The graph of the first function includes a first line segment and a second line segment located on the left and right sides of the coordinate point, respectively. The graph of the second function includes a third line segment and a fourth line segment located on the left and right sides of the coordinate point, respectively. Constructing the performance function of the chip includes: Selecting the one of the first line segment and the third line segment for mapping a corresponding voltage value to a higher performance value as a first portion of the graph of the performance function; Selecting the second line segment and the fourth line segment for mapping another corresponding voltage value to another higher performance value as a second portion of the graph of the performance function; as well as The performance function is constructed according to the first part, the second part and the coordinate point.
6. The performance calculation method according to claim 3, wherein: Adjusting the first coefficients of the first function or the second coefficients of the second function according to trends of the graph of the first function and the graph of the second function includes: If the output of the first function obtained by using the second voltage value as an input of the first function is less than or equal to the second performance value, adjusting the first coefficients of the first function; as well as If the output of the second function obtained by taking the first voltage value as an input of the second function is less than or equal to the first performance value, the second coefficients of the second function are adjusted.
7. The performance calculation method according to claim 6, wherein: The graph of the first function includes a first line segment and a second line segment located on the left and right sides of the coordinate point, respectively. The graph of the second function includes a third line segment and a fourth line segment located on the left and right sides of the coordinate point, respectively. Constructing the performance function of the chip includes: selecting, from the first line segment and the third line segment, the one for mapping a corresponding voltage value to a lower performance value as a first portion of the graph of the performance function; selecting, from the second line segment and the fourth line segment, the one for mapping another corresponding voltage value to another lower performance value as a second portion of the graph of the performance function; as well as The performance function is constructed according to the first part, the second part and the coordinate point.
8. The performance calculation method according to claim 1, wherein: The multiple outputs of the performance function include the first performance value or the approximate value of the first performance value, the second performance value or the approximate value of the second performance value, and a third performance value corresponding to the coordinate point.
9. The performance calculation method according to claim 1 or 8, characterized in that: The difference between the first performance value and the approximate value of the first performance value is 0.1-1% of the first performance value, and the difference between the second performance value and the approximate value of the second performance value is 0.1-1% of the second performance value.
10. A performance calculation system, characterized in that: Include: an electronic device; and A chip coupled to the electronic device and comprising: A plurality of oscillator circuit systems, for generating a plurality of oscillation signals and for sensing the working state of the chip to adjust the periods of the plurality of oscillation signals; as well as a control circuit coupled to the plurality of oscillator circuit systems, for transmitting the plurality of oscillation signals to the electronic device; The electronic device is configured to perform the following operations: When the chip is in a first working state, an output of a first function is set by a first performance value of the chip or an approximate value of the first performance value to construct the first function, wherein the first function has a plurality of first coefficients respectively multiplied by the periods of the plurality of oscillation signals; When the chip is in a second working state, an output of a second function is set by a second performance value of the chip or an approximate value of the second performance value to construct the second function, wherein the second function has a plurality of second coefficients respectively multiplied by the periods of the plurality of oscillation signals; Adjusting the first coefficients of the first function or the second coefficients of the second function according to trends of the graph of the first function and the graph of the second function, so that the graph of the first function intersects the graph of the second function at a predetermined coordinate point; as well as A performance function of the chip is constructed using the coordinate point, a line segment of the graph of the first function located on one side of the coordinate point, and a line segment of the graph of the second function located on the other side of the coordinate point.
11. The performance calculation system according to claim 10, wherein: An input / output (I / O) terminal of the chip is used to receive an operating voltage. The first operating state is when the operating voltage has a first voltage value or the chip has a first temperature. When the electronic device constructs the first function, the electronic device is further configured to perform the following operations: receiving the plurality of oscillation signals from the control circuit; measuring the first performance value of the chip; as well as The first function is constructed by assigning a plurality of first weight values as the plurality of first coefficients of the first function to the periods of the plurality of oscillation signals respectively, and the first voltage value or the first temperature is used as an input of the first function, and the first performance value or the approximate value of the first performance value is used as the output of the first function to determine the plurality of first weight values.
12. The performance calculation system according to claim 11, wherein: The second working state is that the working voltage has a second voltage value or the chip has a second temperature, and when the electronic device constructs the second function, the electronic device is further configured to perform the following operations: receiving the plurality of oscillation signals from the control circuit; measuring the second performance value of the chip; and The second function is constructed by respectively allocating a plurality of second weight values as the plurality of second coefficients of the second function to the periods of the plurality of oscillation signals, and the second voltage value or the second temperature value is used as an input of the second function, and the second performance value or the approximate value of the second performance value is used as the output of the second function to determine the plurality of second weight values.
13. The performance calculation system according to claim 12, wherein: When the electronic device adjusts the first coefficients of the first function or the second coefficients of the second function according to trends of the graphs of the first function and the second function, the electronic device is configured to perform the following operations: If the output of the first function obtained by using the second voltage value as an input of the first function is greater than or equal to the second performance value, adjusting the first coefficients of the first function; as well as If the output of the second function obtained by taking the first voltage value as an input of the second function is greater than or equal to the first performance value, the second coefficients of the second function are adjusted.
14. The performance calculation system according to claim 13, wherein: The graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively; the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively; and when the electronic device constructs the performance function of the chip, the electronic device is configured to perform the following operations: Selecting the one of the first line segment and the third line segment for mapping a corresponding voltage value to a higher performance value as a first portion of the graph of the performance function; selecting, from the second line segment and the fourth line segment, the one for mapping another corresponding voltage value to another higher performance value as a second portion of the graph of the performance function; as well as The performance function is constructed according to the first part, the second part and the coordinate point.
15. The performance calculation system according to claim 12, wherein: When the electronic device adjusts the first coefficients of the first function or the second coefficients of the second function according to trends of the graphs of the first function and the second function, the electronic device is configured to perform the following operations: If the output of the first function obtained by using the second voltage value as an input of the first function is less than or equal to the second performance value, adjusting the first coefficients of the first function; as well as If the output of the second function obtained by taking the first voltage value as an input of the second function is less than or equal to the first performance value, the second coefficients of the second function are adjusted.
16. The performance calculation system according to claim 15, wherein: The graph of the first function includes a first line segment and a second line segment located to the left and right of the coordinate point, respectively; the graph of the second function includes a third line segment and a fourth line segment located to the left and right of the coordinate point, respectively; and when the electronic device constructs the performance function of the chip, the electronic device is configured to perform the following operations: selecting, from the first line segment and the third line segment, the one for mapping a corresponding voltage value to a lower performance value as a first portion of the graph of the performance function; selecting, from the second line segment and the fourth line segment, the one for mapping another corresponding voltage value to another lower performance value as a second portion of the graph of the performance function; as well as The performance function is constructed according to the first part, the second part and the coordinate point.
17. The performance calculation system according to claim 10, wherein: The multiple outputs of the performance function include the first performance value or the approximate value of the first performance value, the second performance value or the approximate value of the second performance value, and a third performance value corresponding to the coordinate point.
18. The performance calculation system according to claim 10 or 17, wherein: The difference between the first performance value and the approximate value of the first performance value is 0.1-1% of the first performance value, and the difference between the second performance value and the approximate value of the second performance value is 0.1-1% of the second performance value.
19. An electronic device, characterized in that: For coupling to a chip, wherein the chip includes a plurality of oscillator circuit systems and a control circuit, The plurality of oscillator circuit systems are used to generate a plurality of oscillation signals and to sense the working state of the chip to adjust the periods of the plurality of oscillation signals. The control circuit is coupled to the plurality of oscillator circuit systems and is used to transmit the plurality of oscillation signals to the electronic device. The electronic device is configured to perform the following operations: When the chip is in a first working state, an output of a first function is set by a first performance value of the chip or an approximate value of the first performance value, wherein the first function has a plurality of first coefficients respectively multiplied by the periods of the plurality of oscillation signals; When the chip is in a second working state, an output of a second function is set by a second performance value of the chip or an approximate value of the second performance value to construct the second function, wherein the second function has a plurality of second coefficients respectively multiplied by the periods of the plurality of oscillation signals; Adjusting the first coefficients of the first function or the second coefficients of the second function according to trends of the graph of the first function and the graph of the second function, so that the graph of the first function intersects the graph of the second function at a predetermined coordinate point; as well as A performance function of the chip is constructed using a line segment of the graph of the first function at the coordinate point on one side of the coordinate point and a line segment of the graph of the second function at the other side of the coordinate point.
20. The electronic device according to claim 19, wherein: The multiple outputs of the performance function include the first performance value or the approximate value of the first performance value, the second performance value or the approximate value of the second performance value, and a third performance value corresponding to the coordinate point.
Citation Information
Patent Citations
Chip and efficiency monitoring method
CN111103522A
Oscilating circuit and method for callberating same
CN1489828A