ADAPTIVE ANTI-AGING SENSOR BASED ON CUCKOO ALGORITHM
20230085939 · 2023-03-23
Assignee
Inventors
- Pengjun Wang (Zhejiang, CN)
- Hai Ming ZHANG (Zhejiang, CN)
- Yue Jun ZHANG (Zhejiang, CN)
- Gang Li (Zhejiang, CN)
- Bo Chen (Zhejiang, CN)
Cpc classification
H03K19/00369
ELECTRICITY
International classification
H03K17/00
ELECTRICITY
G06F1/04
PHYSICS
H03K17/14
ELECTRICITY
Abstract
An adaptive anti-aging sensor based on a cuckoo algorithm, comprising a control module, a reference voltage-controlled oscillator, two shaping circuits, a frequency difference circuit, a resolution adjustment circuit, a 16-bit counter, a parallel-to-serial circuit, an adaptive module, and a digital-to-analog converter. A lookup table is prestored in the adaptive module; when aging monitoring is performed on a voltage-controlled oscillator in an integrated circuit, the adaptive module uses the cuckoo algorithm to determines the optimal working voltage of the currently monitored voltage-controlled oscillator, and the control module accordingly changes the input voltage of the voltage-controlled oscillator of the integrated circuit. The present invention has the advantages that the degree of aging of the integrated circuit is reflected by monitoring the degree of aging of the voltage-controlled oscillator in the integrated circuit, and the optimal working voltage of the voltage-controlled oscillator in the integrated circuit is adaptively adjusted.
Claims
1. An adaptive anti-aging sensor based on a cuckoo algorithm, comprises a control module, a reference voltage-controlled oscillator, two shaping circuits of the same structure, a frequency difference circuit, a resolution adjustment circuit, a 16-bit counter, a parallel-to-serial circuit, an adaptive module and a digital-to-analog converter; the control module has a feedback terminal, a first voltage output terminal, a second voltage output terminal and a control signal output terminal, the reference voltage-controlled oscillator and each of the shaping circuits have an input terminal and an output terminal respectively, the frequency difference circuit has a set terminal, a clock terminal and an output terminal, the resolution adjustment circuit has an input terminal, an output terminal and a control terminal, the 16-bit counter has a set terminal, a reset terminal and 16 bits of parallel output terminals, the adaptive module has a control terminal, 16 bits of parallel input terminals and 16 bits of parallel output terminals, the digital-to-analog converter has 16 bits of parallel input terminals and an output terminal, the parallel-to-serial circuit has a clock terminal, 16 bits of parallel input terminals and an output terminal, the two shaping circuits are referred to as a first shaping circuit and a second shaping circuit respectively, a voltage-controlled oscillator in an integrated circuit is referred to as a voltage-controlled oscillator under test, the reference voltage-controlled oscillator is completely identical with the voltage-controlled oscillator under test, the first voltage output terminal of the control module is used for connecting to an input terminal of the voltage-controlled oscillator under test, the second voltage output terminal of the control module is connected to the input terminal of the reference voltage-controlled oscillator, the control signal output terminal of the control module is connected to the control terminal of the resolution adjustment circuit and the control terminal of the adaptive module respectively, the input terminal of the first shaping circuit is connected to an output terminal of the voltage-controlled oscillator under test, the output terminal of the reference voltage-controlled oscillator is connected to the input terminal of the second shaping circuit, the output terminal of the first shaping circuit is connected to the set terminal of the frequency difference circuit, the output terminal of the second shaping circuit is connected to the clock terminal of the frequency difference circuit, the clock terminal of the parallel-to-serial circuit and the set terminal of the 16-bit counter respectively, the output terminal of the frequency difference circuit is connected to the input terminal of the resolution adjustment circuit, the output terminal of the resolution adjustment circuit is connected to the reset terminal of the 16-bit counter, the 16 bits of parallel output terminals of the 16-bit counter are connected to the 16 bits of parallel input terminals of the parallel-to-serial circuit and the 16 bits of parallel input terminals of the adaptive module respectively, the 16 bits of parallel output terminals of the adaptive module are connected to the 16 bits of parallel input terminals of the digital-to-analog converter, and the output terminal of the digital-to-analog converter is connected to the feedback terminal of the control module; the control module generates two voltage signals and a level control signal, wherein a first voltage signal is an aging voltage signal VDC which is outputted via the first voltage output terminal, a second voltage signal is a reference voltage signal VDD which is outputted via the second voltage output terminal, the level control signal is a high level or a low level which is outputted via the control signal output terminal, an initial state of the level control signal is the low level, the aging voltage signal VDC passes through the voltage-controlled oscillator under test to generate an aging frequency signal A, the reference voltage signal VDD passes through the reference voltage-controlled oscillator to generate a reference frequency signal B, the aging frequency signal A is shaped by the first shaping circuit to obtain a first frequency signal f.sub.ctr, the reference frequency signal B is shaped by the second shaping circuit to generate a second frequency signal f.sub.ref, the frequency difference circuit obtains a beat frequency signal f.sub.out by comparing the first frequency signal f.sub.ctr with the second frequency signal f.sub.ref, the beat frequency signal f.sub.out is a difference between the second frequency signal f.sub.ref and the first frequency signal f.sub.ctr, the beat frequency signal f.sub.out is output to the input terminal of the resolution adjustment circuit from the output terminal of the frequency difference circuit, the output terminal of the resolution adjustment circuit outputs a set signal rst, the set signal rst is a divide-by-2 signal of the beat frequency signal f.sub.out when the level control signal accessed to the control terminal of the resolution adjustment circuit is the low level, the set signal rst is a divide-by-4 signal of the beat frequency signal f.sub.out when the level control signal accessed to the control terminal of the resolution adjustment circuit is the high level, the set signal rst is accessed to the reset terminal of the 16-bit counter, the 16-bit counter counts the second frequency signals f.sup.ref accessed to the set terminal of the 16-bit counter within a cycle of the set signal rst and then outputs a count value as 16 bits of parallel output signals Q0-Q15 in a binary form via the 16 bits of parallel output terminals of the 16-bit counter, and the parallel-to-serial circuit converts the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter into serial data Q[0:15] which outputs at the output terminal of the parallel-to-serial circuit under an action of the first frequency signal f.sub.ref, the adaptive module is pre-stored with a lookup table, the lookup table is obtained by emulating the adaptive anti-aging sensor to artificially simulate a aging process of the voltage-controlled oscillator under test, a specific emulation process is as follows: the first voltage output terminal of the control module is connected to the input terminal of the voltage-controlled oscillator under test, the input terminal of the first shaping circuit is connected to the output terminal of the voltage-controlled oscillator under test, and parameters of the voltage-controlled oscillator under test and parameters of the reference voltage-controlled oscillator are initialize set: a threshold voltage V.sub.TP of PMOS transistors is 0.7V, a threshold voltage V.sub.TN of NMOS transistors is 0.3V, and a process parameter α of the PMOS transistors and the NMOS transistors is 0.9; a delay time Time of the voltage-controlled oscillator under test under different parameters is measured with Cadence software later, the parameters of the reference voltage-controlled oscillator are maintained to initial values during a measurement process, a regulated range of the threshold voltage V.sub.TP of the PMOS transistors of the voltage-controlled oscillator under test is 0.6V-0.8V and an adjustment amount is 1 mV per time, a regulated range of the threshold voltage V.sub.TN of the PMOS transistors is 0.2V-0.4V and an adjustment amount is 1 mV per time, a regulated range of the process parameter a of the PMOS transistors and the NMOS transistors is 0.8-1 and an adjustment amount is 0.001 per time, the aging voltage signal VDC and the reference voltage signal VDD are both set to 1.2V during each measurement, the level control signal S outputted by the control module is set as the low level firstly, whether a decimal value corresponding to the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter at this moment is less than 40 is determined; if less than 40, other conditions remain unchanged, the 16 bits of parallel output signals Q0-Q15 output by the 16-bit counter at this moment are recorded after the level control signal S is adjusted to the high level, if greater than 40, the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter at this moment are recorded directly, the currently recorded 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter are used as an index address of the lookup table, and the corresponding threshold voltage V.sub.TP, the corresponding threshold voltage V.sub.TN and the corresponding process parameter α of the PMOS transistors and the NMOS transistors at this moment are stored in the lookup table as storage data for the index address, and the above measurement process is repeated, if there are the same 16 bits of parallel output signals Q0-Q15 in a subsequent measurement process, one set of corresponding parameters needs is only recorded until the decimal value corresponding to the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter appears from 0 to 300, so that establishing of the lookup table is finished and the lookup table is stored in the adaptive module, there are 301 index addresses in the lookup table at this moment, which respectively correspond to 16 bits of binary data from 0 to 300, exist in the lookup table; when the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter are input to the adaptive module, the adaptive module firstly acquires, from the lookup table, storage data V.sub.TP, V.sub.TN, α and Time of an index address which is the 16 bits of parallel output signals Q0-Q15 currently inputted into, and then determines an optimal working voltage of the currently voltage-controlled oscillator under test through a cuckoo algorithm based on the acquired storage data V.sub.TP, V.sub.TN, α and Time, a specific process is as follows: A, setting a maximum number of iterations of the cuckoo algorithm as n, wherein n=1000, setting a global optimal solution V; B, setting an iteration variable, which denotes as s, initializing s, wherein s=1; C, performing an s.sup.th iteration, specifically as follows: C-1, generating, with adopting to a random function, 100 voltage data which are within 0-2000 mV and expressed by 16 bits of binary data, an m.sup.th voltage data is denoted as V.sub.DC.sup.s[m], and m=1, 2, . . . , 100; determining whether V.sub.DC.sup.s[m] is equal to V.sub.TN or V.sub.TP, if so, considering V.sub.DC.sup.s[m] as a bad value, discarding the bad value, and randomly generating a new V.sub.DC.sup.s[m] until 100 voltage data V.sub.DC.sup.s[1]˜V.sub.DC.sup.s[100] which are not equal to V.sub.TN or V.sub.TP are obtained; C-2, sequentially substituting V.sub.DC.sup.s[1]˜V.sub.DC.sup.s[100] into formula
2. The adaptive anti-aging sensor based on the cuckoo algorithm according to claim 1, wherein each of the shaping circuits comprises a first PMOS transistor, a second PMOS transistor, a first NMOS transistor, a second NMOS transistor and a first inverter; a source of the first PMOS transistor and a source of the second PMOS transistor are both accessed to a power source, a gate of the first PMOS transistor, a drain of the second PMOS transistor and a drain of the second NMOS transistor are connected at a connecting terminal which is the output terminal of the shaping circuit, a drain of the first PMOS transistor, a gate of the second PMOS transistor and a drain of the first NMOS transistor are connected, a gate of the first NMOS transistor and an input terminal of the first inverter are connected at a connecting terminal which is the input terminal of the shaping circuit, an output terminal of the first inverter and a gate of the second NMOS transistor are connected, and a source of the first NMOS transistor and a source of the second NMOS transistor are both grounded.
3. The adaptive anti-aging sensor based on the cuckoo algorithm according to claim 1, wherein the frequency difference circuit is realized through a first D flip-flop, the first D flip-flop has an input terminal, a clock terminal and an output terminal, the input terminal of the first D flip-flop is the set terminal of the frequency difference circuit, the clock terminal of the first D flip-flop is the clock terminal of the frequency difference circuit, the output terminal of the first D flip-flop is the output terminal of the frequency difference circuit.
4. The adaptive anti-aging sensor based on a cuckoo algorithm according to claim 1, wherein the resolution adjustment circuit comprises a first 2-to-1 multiplexer, a second D flip-flop and a third D flip-flop, the first 2-to-1 multiplexer has a first input terminal, a second input terminal, a selection terminal and an output terminal, and the second D flip-flop and the third D flip-flop each have an input terminal, a clock terminal, an output terminal and an inverted output terminal, the input terminal of the second D flip-flop is connected to the inverted output terminal of the second D flip-flop, the clock terminal of the second D flip-flop is the input terminal of the resolution adjustment circuit, the output terminal of the second D flip-flop, the clock terminal of the third D flip-flop and the first input terminal of the first 2-to-1 multiplexer are connected, the input terminal of the third D flip-flop and the inverted output terminal of the third D flip-flop are connected, the output terminal of the third D flip-flop and the second input terminal of the first 2-to-1 multiplexer are connected, the selection terminal of the first 2-to-1 multiplexer is the control terminal of the resolution adjustment circuit, and the output terminal of the first 2-to-1 multiplexer is the output terminal of the resolution adjustment circuit.
5. The adaptive anti-aging sensor based on the cuckoo algorithm according to claim 1, wherein the 16-bit counter comprises 16 D flip-flops and 16 inverters, each of the D flip-flops has an input terminal, a clock terminal, a reset terminal and an output terminal respectively, the reset terminals of the 16 D flip-flops are connected at a connecting terminal which is the reset terminal of the 16-bit counter, the input terminal of the k.sup.th D flip-flop and the output terminal of the k.sup.th inverter are connected, k=1, 2, . . . , 16, the output terminal of the h.sup.th D flip-flop, the input terminal of the h.sup.th inverter and the clock terminal of the (h+1).sup.th D flip-flop are connected at a connecting terminal which is the h.sup.th output terminal of the 16-bit counter, h=1, 2, . . . , 15, the output terminal of the 16.sup.th D flip-flop and the input terminal of the 16.sup.th inverter are connected at a connecting terminal which is the 16.sup.th output terminal of the 16-bit counter, first output terminal to 16.sup.th output terminal of the 16-bit counter are the 16 bits of parallel output terminals of the 16-bit counter.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
DESCRIPTION OF EMBODIMENTS
[0033] The invention will be described in further detail below in conjunction with the accompanying drawings and embodiments.
[0034] Embodiment: as shown in
[0035] The adaptive module is pre-stored with a lookup table, the lookup table is obtained by emulating the adaptive anti-aging sensor to artificially simulate the aging process of the voltage-controlled oscillator under test, the specific emulation process is as follows: the first voltage output terminal of the control module is connected to the input terminal of the voltage-controlled oscillator under test, the input terminal of the first shaping circuit is connected to the output terminal of the voltage-controlled oscillator under test, and parameters of the voltage-controlled oscillator under test and parameters of the reference voltage-controlled oscillator are initialize set: a threshold voltage V.sub.TP of PMOS transistors is 0.7V, a threshold voltage V.sub.TN of NMOS transistors is 0.3V, and a process parameter α of the PMOS transistors and the NMOS transistors is 0.9; a delay time Time of the voltage-controlled oscillator under test under different parameters is measured with Cadence software later, the parameters of the reference voltage-controlled oscillator are maintained to initial values during the measurement process, a regulated range of the threshold voltage V.sub.TP of the PMOS transistors of the voltage-controlled oscillator under test is 0.6V-0.8V, the adjustment amount is 1 mV per time, a regulated range of the threshold voltage V.sub.TN of the NMOS transistors is 0.2V-0.4V, the adjustment amount is 1 mV per time, a regulated range of the process parameter a of the PMOS transistors and the NMOS transistors is 0.8-1, the adjustment amount is 0.001 per time, the aging voltage signal VDC and the reference voltage signal VDD are set to 1.2V during each measurement, the level control signal S outputted by the control module is set as a low level firstly, whether a decimal value corresponding to the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter at this moment is less than 40 is determined, if less than 40, other conditions remain unchanged, and the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter at this moment are recorded after adjusting the level control signal S to a high level, if greater than 40, the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter at this moment are recorded directly, the currently recorded 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter are used as an index address of the lookup table, and the corresponding threshold voltage V.sub.TP, the corresponding threshold voltage V.sub.TN and the corresponding process parameter α of the PMOS transistors and the NMOS transistors at this moment are stored in the lookup table as storage data for the index address, and the above measurement process is repeated, if there are the same 16 bits of parallel output signals Q0-Q15 in the subsequent measurement process, one set of corresponding parameters is only recorded until the decimal value corresponding to the 16 bits of parallel output signals Q0-Q15 outputted by the 16-bit counter appears from 0 to 300, so that the establishing of the lookup table is finished and the lookup table is stored in the adaptive module, there are 301 index addresses in the lookup table at this moment, which respectively correspond to the 16 bits of binary data from 0 to 300;
[0036] When the 16 bits of parallel output signals Q0-Q15 output by the 16-bit counter are input to the adaptive module, the adaptive module firstly acquires, from the lookup table, storage data V.sub.TP, V.sub.TN, α and Time of an index address which is the 16 bits of parallel output signals Q0-Q15 currently inputted into, and then determines an optimal working voltage of the currently voltage-controlled oscillator under test through a cuckoo algorithm based on the acquired data V.sub.TP, V.sub.TN, α and Time. The specific process is as follows:
[0037] A, a maximum number of iterations of the cuckoo algorithm is set as n, wherein n=1000, a global optimal solution V is set;
[0038] B, an iteration variable is set, which denotes as s, s is initialized, let s=1;
[0039] C, an s.sup.th iteration is performed, specifically as follows:
[0040] C-1, 100 voltage data which are within 0-2000 mV and expressed by 16 bits of binary data are generated by a random function, wherein an generated m.sup.th voltage data is denoted as V.sub.DC.sup.s[m], and m=1, 2, . . . , 100; whether V.sub.DC.sup.s[m] is equal to V.sub.TN or V.sub.TP is determined; if so, V.sub.DC.sup.s[m] is considered as a bad value the value is discarded and a new V.sub.DC.sup.s[m] is randomly generated until 100 voltage data V.sub.DC.sup.s[1]˜V.sub.DC.sup.s[100] which are not equal to V.sub.TN or V.sub.TP are obtained;
[0041] C-2, V.sub.DC.sup.s[1]˜V.sub.DC.sup.s[100] are sequentially substituted into formula
to obtain is t.sub.p.sup.s[1]˜t.sub.p.sup.s[100] by calculation, wherein t.sub.p.sup.s[m] represents an m.sup.th aging delay time;
[0042] C-3, absolute values of differences between t.sub.p.sup.s[1]˜t.sub.p.sup.s[100] and Time are calculated respectively, the absolute value of the difference between t.sub.p.sup.s[m] and Time is denoted as Diff.sup.s[m], and a minimum value is searched out from Diff.sup.s[1]˜Diff.sup.s[100], if multiple identical minimum values appear, one minimum value is selected randomly, the minimum value is denoted as Diff.sup.s[i], i is an integer greater than or equal to 1 and less than or equal to 100, voltage data V.sub.DC.sup.s[i] corresponding to Diff.sup.s[i] is used as an optimal solution V.sub.DC of a current generation of individuals;
[0043] C-4, if the current value of s is 1, the value of the optimal solution V.sub.DC.sup.s of the current generation of individuals is assigned to the global optimal solution V, the global optimal solution V is updated for an s.sup.th time to obtain a global optimal solution V subsequent to the s.sup.th iteration;
[0044] If the current value of s is not 1, V.sub.DC.sup.s is compared with a global optimal solution V subsequent to an (s−1).sup.th iteration, if V.sub.DC.sup.s is less than the global optimal solution V subsequent to the (s−1).sup.th iteration, V is updated with adopting to V.sub.DC.sup.s to obtain a global optimal solution V subsequent to the s.sup.th iteration, if V.sub.DC.sup.s is greater than or equal to the global optimal solution V subsequent to the (s−1).sup.th iteration, the value of V is unchanged, and the global optimal solution V subsequent to the (s−1).sup.th iteration is directly used as the global optimal solution V which the s.sup.th iteration;
[0045] C-5, whether Diff.sup.s[i] is equal to 0 or whether s is equal to 1000 is determined, if one of them is met, the global optimal solution V subsequent to the s.sup.th iteration which used as the optimal working voltage V.sub.DC0-V.sub.DC15 is outputted from the 16 bits of parallel output terminals of the adaptive module, the iteration process is ended, if neither of the two is met, C-6 is performed;
[0046] C-6, a generated voltage data V.sub.DC.sup.s+1[1]˜V.sub.SC.sup.s+1[100] of an (s+1).sup.th generation is updated with adopting to formula V.sub.DC.sup.s+1[m]=V.sub.DC.sup.s[m]+φ⊕Levy(λ) wherein λ is a random number which is generated through an RC4 algorithm and is greater than or equal to 0 and less than or equal to 3, λ is regenerated whenever voltage data is generated, φ is a step controlled amount, φ=1, ⊕ is dot-to-dot multiplication, Levy(λ) is a random search path, and Levy(λ)=s.sup.−λ; whether V.sub.DC.sup.s+1[m] is equal to V.sub.TN or V.sub.TP is determined, if so, V.sub.DC.sup.s+1[m] is considering as a bad value, the value is discarded, a new V.sub.DC.sup.s+1[m] is regenerated randomly by formula V.sub.DC.sup.s+1[m]=V.sub.DC.sup.s[m]+φ⊕Levy(λ) until 100 voltage data V.sub.DC.sup.s+1[1]˜V.sub.DC.sup.s+1[100] which are not equal to V.sub.TN or V.sub.TP are obtained;
[0047] C-7, the value of s is updated with adopting to a sum of the current value of s adding 1, the steps is repeated from C-2 for the next iteration until the iteration process is ended, so as to obtain the optimal working voltage V.sub.DC0-V.sub.DC15, which is outputted from the 16 bits of parallel output terminals of the adaptive module;
[0048] The digital-to-analog converter converts the optimal working voltage V.sub.DC0-V.sub.DC15 outputted by the adaptive module into an analog voltage to output to the feedback terminal of the control module, the control module adjusts the magnitude of the aging voltage signal VDC outputted at the first output terminal thereof to as the magnitude of the analog voltage outputted at the output terminal of the digital-to-analog converter.
[0049] In this embodiment, as shown in
[0050] In this embodiment, as shown in
[0051] In this embodiment, as shown in
[0052] In this embodiment, as shown in
[0053] The aging monitoring process of the adaptive anti-aging sensor based on a cuckoo algorithm provided by the invention is simulated, and an analog simulation curve is shown in