Ising machine core circuit, its unit and method for annealing the same
By designing units for Isin machine core circuits, multi-stage capacitive coupling and predefined annealing methods are used to solve the problem of limited applications of ROSC Isin machine, and a stable and highly accurate Isin machine core circuit is achieved, which improves the performance and efficiency of the system.
Patent Information
- Application Number
- CN202410175853.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-07
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-02-07
AI Technical Summary
The existing ROSC Isin machine is still limited in application, making it difficult to achieve stable and highly accurate Isin machine.
A unit for the core circuit of the Isin machine is designed, including a ring oscillator, a coupling module, a readout module and a storage module, which is annealed through multi-stage capacitive coupling and predefined timing and packets to achieve stable multi-stage coupling and high-accurate spin state reading.
It realizes the stability and high accuracy of the core circuit of the Isin machine, improves the flexibility and scalability of the system, can operate efficiently at room temperature, and significantly reduces energy consumption and solution time.
Smart Images

Figure CN117993513B_ABST
Abstract
Description
Technical Field
[0001] The present application relates generally to quantum computing and specifically to Ising machines. Background Art
[0002] Combinatorial optimization problems are widely found in fields such as artificial intelligence decision-making, drug development, Very-Large-Scale Integration (VSLI) layout and routing, and transportation. Solving these combinatorial optimization problems (e.g., maximum cut problem, Boolean satisfiability problem, and traveling salesman problem) requires the support of ultra-high computing power, consumes huge energy, and the solution time increases exponentially with the growth of the problem size. Therefore, it is difficult to effectively solve them using traditional von Neumann architecture classical computers.
[0003] As a special solver for combinatorial optimization problems, the Ising solver (also known as the "Ising machine") effectively solves combinatorial optimization problems by mapping the combinatorial optimization problem into an Ising model and converting the search for the optimal solution into finding the ground state of the Ising model.
[0004] In recent years, Ising machines based on various process platforms have been proposed, including quantum annealers based on superconducting qubits, coherent optical Ising machines, digital complementary metal-oxide-semiconductor (CMOS) Ising machines, and CMOS ring oscillator (ROSC) Ising machines.
[0005] Digital Ising machines rely on external random number generators to introduce randomness for annealing, and due to the discrete time characteristics of digital Ising machines, thousands of cycles are required for the iteration and update of spins. Coherent optical Ising machines require fiber optic cavities up to 1 km long and complex optical equipment. In addition, ultra-high-speed, high-power field programmable gate arrays (FPGAs) are required to assist in the coupling between spins. Quantum annealers benefit from the mutual inductance coupling between quantum bits to achieve fully parallel one-time spin updates, allowing the system to relax naturally to the ground state, but quantum annealers require extremely low working temperature (~15mK), which leads to huge cooling costs. As an effective simulation of quantum annealers, ROSC Ising machines can operate at room temperature and can significantly reduce energy consumption and solution time.
[0006] The application of current ROSC Ising machines is still limited. There is a need in the art for a stable, high-accuracy Ising machine. Summary of the invention
[0007] The present invention is provided to provide a stable and highly accurate Ising machine.
[0008] According to one aspect of the present invention, a unit for an Ising machine core circuit is provided, comprising: a ring oscillator, for generating two interaction signals and providing an output signal, wherein the two interaction signals are respectively associated with two opposite spin states, and the output signal is associated with a determined spin state of the unit; a plurality of coupling modules, each coupling module performing multi-stage capacitive coupling between the ring oscillator and an adjacent unit; a readout module, connected to the ring oscillator, for generating a readout signal based on the output signal, wherein the readout signal indicates the determined spin state of the unit; and a storage module, connected to the plurality of coupling modules, for storing information indicating a coupling weight between the unit and an adjacent unit.
[0009] A unit as described above, wherein the ring oscillator comprises: an odd number of multiple inverters connected in series, wherein the output ends of two adjacent inverters are used to provide the two interactive signals, the supply voltage of the upstream inverter among the two adjacent inverters is modulated by a locking signal to lock the phase, and the frequency of the locking signal is twice the oscillation frequency of the ring oscillator.
[0010] A unit as described in any of the above items, wherein the ring oscillator further includes: a NAND gate connected in series with the odd number of inverters, and the NAND gate is used to receive an enable signal to start the ring oscillator.
[0011] A unit as described in any one of the above items, wherein each coupling module is coupled to two nodes of the ring oscillator providing the two interaction signals, and is coupled to corresponding two nodes of the ring oscillator of the corresponding adjacent unit providing the corresponding two interaction signals.
[0012] A unit as claimed in any preceding claim, wherein each coupling module comprises a capacitor and a switch.
[0013] A unit as described in any of the above items, wherein the capacitor includes a plurality of capacitors connected in series and / or in parallel, and the switch includes a plurality of switches, wherein the coupling weight between the unit and an adjacent unit is determined at least in part based on the open and closed states of the plurality of switches and / or the capacitance values of the plurality of capacitors.
[0014] A unit as in any preceding claim, wherein the capacitor comprises a MOS capacitor.
[0015] A unit as described in any of the above items, wherein the ring oscillator is used to provide a first output signal, and the ring oscillator of an adjacent unit is used to provide a second output signal, the first output signal and the second output signal include a signal indicating a phase, and the readout module is used to: generate the readout signal at least partially based on a phase offset between the first output signal and the second output signal.
[0016] A unit as described in any one of the above items, wherein coupling weights between the unit and adjacent units are kept valid starting at a predefined timing and a predefined grouping for annealing.
[0017] A unit as claimed in any preceding claim, wherein the predefined timing defines a predetermined time period for starting to keep coupling weights valid, and the predefined grouping defines a sequence of a predetermined number of coupling weights that sequentially start to be kept valid within each predetermined time period.
[0018] A unit as described in any of the above items, wherein a first sequence of a first predetermined number of coupling weights is kept valid starting in sequence in each predetermined time period until the first sequence ends, and a second sequence of a first predetermined number of coupling weights is kept valid starting in sequence in each predetermined time period until the second sequence ends.
[0019] A unit as in any preceding item, wherein the first sequence and the second sequence are generated by randomly traversing coupling weights.
[0020] A unit as described in any of the above items, wherein a third sequence of a second predetermined number of coupling weights begins to be maintained valid in sequence within each predetermined time period until the third sequence ends, and a fourth sequence of a second predetermined number of coupling weights begins to be maintained valid in sequence within each predetermined time period until the fourth sequence ends, wherein the second predetermined number is different from the first predetermined number.
[0021] According to another aspect of the present invention, an Ising machine core circuit is provided, comprising a plurality of units as described in any one of the above items, wherein the plurality of units communicate with each other.
[0022] The Ising machine core circuit as described above, wherein the multiple units are coupled according to the King Graph topology.
[0023] According to another aspect of the present invention, there is provided a method for annealing an Ising machine core circuit, the Ising machine core circuit comprising a plurality of units, the plurality of units communicating with each other, each unit coupled with a corresponding adjacent unit to define a coupling weight, the method comprising: determining a coupling weight between each unit and a corresponding adjacent unit; determining a predefined timing; determining a predefined grouping; and starting to keep the coupling weight between each unit and the corresponding adjacent unit valid according to the predefined timing and the predefined grouping for annealing.
[0024] As the method described above, determining the predefined timing includes: determining a predetermined time period to start keeping the coupling weights valid, and determining the predefined grouping includes: determining a sequence of a predetermined number of coupling weights that are sequentially kept valid in each predetermined time period.
[0025] A method as described in any of the above items, wherein making the coupling weights between each unit and the corresponding adjacent unit start to remain valid according to the predefined timing and the predefined grouping includes: making a first sequence of a first predetermined number of coupling weights start to remain valid in sequence within each predetermined time period until the first sequence ends; and making a second sequence of a first predetermined number of coupling weights start to remain valid in sequence within each predetermined time period until the second sequence ends.
[0026] A method as described in any one of the above, wherein the first sequence and the second sequence are generated by randomly traversing coupling weights.
[0027] A method as described in any of the above items, wherein making the coupling weights between each unit and the corresponding adjacent unit start to remain valid according to the predefined timing and the predefined grouping also includes: making a third sequence of a second predetermined number of coupling weights start to remain valid in sequence within each predetermined time period until the third sequence ends; and making a fourth sequence of a second predetermined number of coupling weights start to remain valid in sequence within each predetermined time period until the fourth sequence ends, wherein the second predetermined number is different from the first predetermined number.
[0028] The Ising machine core circuit, its unit and the method for annealing the Ising machine core circuit according to the present invention are stable and highly accurate. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Embodiments of the present invention are described with reference to the accompanying drawings.
[0030] Figure 1 A schematic diagram for describing the Ising model is shown.
[0031] Figure 2 A structural block diagram of a core circuit of an Ising machine according to some embodiments of the present invention is shown.
[0032] Figure 3 A structural block diagram of a unit of an Ising machine core circuit according to some embodiments of the present invention is shown.
[0033] Figure 4 A circuit diagram of a ring oscillator of a unit of an Ising machine core circuit according to some embodiments of the present invention is shown.
[0034] Figure 5 A circuit diagram of a coupling module of a unit of an Ising machine core circuit according to some embodiments of the present invention is shown.
[0035] Figure 6 A circuit diagram of a readout module of a unit of an Ising machine core circuit according to some embodiments of the present invention and a schematic diagram of waveforms of its input signals and output signals are shown.
[0036] Figure 7 A circuit diagram of a 1-bit storage unit of a storage module of a unit of an Ising machine core circuit according to some embodiments of the present invention is shown.
[0037] Figure 8 A schematic diagram of shuffled progressive annealing (SPA) for an Ising machine core circuit and its cells according to some embodiments of the present invention is shown.
[0038] Fig. 9 A flow chart of a method for annealing an Ising machine core circuit according to some embodiments of the present invention is shown.
[0039] Fig.10 A flow chart showing a process of annealing an Ising machine core circuit according to a predefined timing and predefined grouping according to some embodiments of the present invention is shown. DETAILED DESCRIPTION
[0040] In the present application, the term “multi-level capacitive coupling” refers to that the coupled units are coupled via capacitance, and the coupling can reflect multiple coupling strengths through multiple capacitance values.
[0041] Figure 1 A schematic diagram for describing the Ising model is shown.
[0042] There are systems in nature where there are interactions between units, which can include phase change processes in nature, such as gas condensation, solid melting, phase coexistence near critical points, ferromagnetism / antiferromagnetism, alloy order / no transition, and superconducting state transition.
[0043] The Ising model is used to describe such systems. It was originally proposed to describe the atomic spin state inside ferromagnetic materials and its relationship with the macroscopic magnetic moment, and to explain the phenomenon that the magnetism disappears when the magnet is heated above the critical temperature (Curie temperature).
[0044] Figure 1 The Ising model of a system consisting of four interacting units is shown in FIG. i , σ j ) include two completely random states (e.g., +1, -1, in Figure 1 There are interactions between the coupled spin particles, Figure 1 The spin particle σ is shown in i , σ j The interaction between ij In addition, the external field will also affect each spin particle. Figure 1 The external field shows the effect of the spin particle σ i The role of h i .thus, Figure 1 The Hamiltonian H of the system shown in can be calculated by the following formula (1):
[0045] H(σ1,…,σ n )=-∑ i<j J ij σ i σ j -∑ i h i σ i (1)
[0046] For some specific problems, when it is converted into the Ising model, the effect of the external field on the spin particle is zero, then equation (1) becomes the following equation (2):
[0047] H(σ1,…,σ n )=-∑ i<j J ij σ i σ j (2)
[0048] Solving the Ising model is a process of continuously reducing the Hamiltonian H of the system (i.e., accompanied by the annealing of the system). In practical applications, the parameters in the actual problem can be mapped to the spin state of the spin particles in the Ising model, and the Hamiltonian of the system can be continuously reduced by simulating the annealing process through an algorithm or using the inherent physical annealing mechanism of the system. The actual combinatorial optimization problem can be solved by solving the Ising model, thereby solving the combinatorial optimization problem through quantum computing, overcoming the problems of insufficient computing power and high power consumption in classical computing.
[0049] Figure 2 A structural block diagram of an Ising machine core circuit 200 according to some embodiments of the present invention is shown.
[0050] The Ising machine core circuit 200 may include a plurality of units that communicate with each other. Figure 3-Figure 8 Details of the elements of the Ising machine core circuit 200 are described.
[0051] In some embodiments, the units of the Ising machine core circuit 200 are arranged in an array. As an example, Figure 2 These units are shown arranged in a 32×32 array. In some embodiments, the units of the Ising machine core circuit 200 are coupled according to the King graph topology. That is, the corresponding unit is coupled to its adjacent upper, lower, left, right, upper left, lower left, upper right, and lower right units (if any). Other coupling modes between the units are also possible.
[0052] Figure 3 FIG. 3 is a block diagram showing a structure of a unit 300 of an Ising machine core circuit according to some embodiments of the present invention. The unit 300 can be used as Figure 2 The cell (e.g., cell (1,1)) in the Ising machine core circuit 200 in FIG. 1 is a cell in the Ising machine core circuit 200 in FIG. 1 , but the present invention is not limited thereto. Figure 3 In FIG. 3 , the unit 300 is shown as a unit (1,1), but this is only exemplary. A person skilled in the art can implement the Ising machine core circuit (for example, Figure 2 Each unit of the Ising machine core circuit 200).
[0053] The unit 300 may include a ring oscillator 310 , a coupling block 330 , a readout module 350 , and a storage module 370 .
[0054] The ring oscillator 310 can be used to generate two interaction signals U(1,1)_0 and U(1,1)_1 respectively associated with two opposite spin states, and can be used to provide an output signal U(1,1)_6 associated with the determined spin state of the unit 300. The interaction signal associated with the spin state can be obtained through the oscillation signal generated by the ring oscillator 310. Through the interaction between the unit 300 and the adjacent unit (through the interaction signal of the ring oscillator), the determined spin signal of the ring oscillator 300 can be determined and read out. The annealing process required in solving the Ising model can be realized through the oscillation mechanism of the ring oscillator 310 itself. As a result, the unit 300 including the ring oscillator 310 can be used as an Ising machine core circuit (for example, Figure 2 The following will be combined with the Ising machine core circuit 200) unit. Figure 4 Further details of ring oscillator 300 are described.
[0055] The coupling block 330 may include a plurality of coupling modules: coupling module 0 331, coupling module 1 332, coupling module 2 333, coupling module 3 334, etc. Each of the coupling modules 0 331, coupling module 1 332, coupling module 2 333, and coupling module 3 334 may be used to perform multi-stage capacitive coupling between the ring oscillator 310 and an adjacent unit (e.g., a ring oscillator of an adjacent unit). Figure 5 Further details of each coupling module are described.
[0056] The existing Ising machine using a ring oscillator often uses resistors to couple between units. Inappropriate resistance coupling strength between units may cause the oscillator to stop oscillating or cause unsuccessful coupling, which limits the resolution of the coupling weight. Through coupling module 0 331, coupling module 1 332, coupling module 2 333, coupling module 3 334, etc., the units of the Ising machine core circuit are capacitively coupled, and the coupling is made more stable by means of the high-pass characteristics of the capacitor, thereby achieving stable multi-stage coupling. In addition, multi-stage coupling improves the flexibility and scalability of system applications.
[0057] The readout module 350 is connected to the ring oscillator 310. The readout module 350 is used to generate a readout signal OUT(1,1) based on the output signal U(1,1)_6 of the ring oscillator 350, and the readout signal OUT(1,1) indicates the determined spin state of the cell 300. Figure 6 Further details of the readout module 350 are described.
[0058] The storage module 370 is connected to the coupling module 0 331, the coupling module 1 332, the coupling module 2 333, the coupling module 3 334, etc. of the coupling block 330. The storage module 370 can be used to store information indicating the coupling weight between the unit 300 and the adjacent unit. In some embodiments, the storage module 370 may include a plurality of 1-bit storage units and their independent pre-charging circuits and amplifier circuits ( Figure 3 (not shown), the multiple 1-bit storage units may be, for example, multiple 1-bit static random access memories (SRAMs). Figure 7 Further details of the 1-bit storage unit of the storage module 370 are described.
[0059] Figure 4 FIG. 4 is a circuit diagram of a ring oscillator 400 of a unit of an Ising machine core circuit according to some embodiments of the present invention. The ring oscillator 400 may be used as Figure 3 The ring oscillator 310 in FIG. 1 is shown in FIG.
[0060] The ring oscillator 400 may include an odd number of inverters connected in series. Figure 4 8 inverters are shown in the figure, but those skilled in the art will appreciate that at least three inverters connected in series can be used to form a ring oscillator. Therefore, those skilled in the art may use an odd number of inverters greater or less than the configuration shown in the figure.
[0061] The output ends of two adjacent inverters 410 and 420 are used to provide interaction signals Ui_0 and Ui_1, respectively. The interaction signals Ui_0 and Ui_1 are associated with two opposite spin states, respectively. The ports where the interaction signals Ui_0 and Ui_1 are located can be interfaces where the unit where the ring oscillator 400 is located is coupled to the adjacent unit. As an example, the interaction signals Ui_0 and Ui_1 can be respectively Figure 3 The interactive signals U(1,1)_0 and U(1,1)_1 in the inverters 410 and 420 correspond to each other. The supply voltage of the upstream inverter 410 is modulated by the subharmonic injection locking signal SHIL_CLK to lock the phase. The frequency of the subharmonic injection locking signal SHIL_CLK is set to twice the oscillation frequency of the ring oscillator 400, so that the ring oscillator 400 can have two phase states, which can correspond to two opposite spin states (for example, +1 and -1).
[0062] The output signal Ui_6 at another node in the ring oscillator 400 may be associated with the determined spin state of the cell in which the ring oscillator 400 is located. As an example, the output signal Ui_6 may be associated with Figure 3 In some embodiments, the output signal Ui_6 may include a signal indicating a phase.
[0063] In some embodiments, the ring oscillator 400 may further include a NAND gate 430. The NAND gate 430 may be connected in series with an odd number of inverters. The NAND gate 430 may be used to receive an enable signal ROSC_EN to start the ring oscillator 400.
[0064] Those skilled in the art may design the size and parameters of the transistors of the inverter and / or the NAND gate according to actual configuration requirements to reduce the frequency of the ring oscillator 400 to match the peripheral circuits.
[0065] Figure 5 FIG. 5 is a circuit diagram of a coupling module 500 of a unit of an Ising machine core circuit according to some embodiments of the present invention. The coupling module can be used to Figure 3Each of the coupling modules 0 331, 1 332, 2 333, and 3 334 of the coupling block 330 of the unit 300 is described, but the scope of the present invention is not limited thereto.
[0066] As an example, the coupling module 500 is shown as a multi-stage capacitive coupling of the unit i 590 and the unit j 595. Both the unit i 590 and the unit j 595 can be combined with the above Figure 3 The unit 300 described is similar.
[0067] In some embodiments, the coupling module 500 can be coupled to two nodes (eg, reference 1 590 ) of the unit i 590 that provide two interactive signals. Figure 4 The two nodes providing interaction signals Ui_0 and Ui_1 in the adjacent unit j 595 are coupled, and can be coupled with the two nodes providing two interaction signals in the adjacent unit j 595.
[0068] In some embodiments, the coupling module 500 may include a capacitor and a switch. With the help of the high-pass characteristic of the capacitor, the coupling can be made more stable than the traditional resistive coupling.
[0069] In some embodiments, the capacitor may include multiple capacitors connected in series. In some embodiments, the capacitor may include multiple capacitors connected in parallel. In some embodiments, the capacitor may include multiple capacitors connected in series and multiple capacitors connected in parallel. By various combinations of the on / off states of the capacitors and switches, different capacitance values may be provided, which may correspond to multiple coupling strengths, thereby providing multiple levels of capacitive coupling.
[0070] In some embodiments, the capacitor may include a Metal-Oxide-Semiconductor (MOS) capacitor. Since the area of a MOS capacitor is smaller than that of a common capacitor, the area of the coupling module 500 may be further reduced.
[0071] In some embodiments, the coupling module 500 may include a network 510. The network 510 may include capacitors C1 and C2 connected in parallel, switches S1 and S2 connected in series across the capacitor C1, switches S3 and S4 connected in series across the capacitor C2, and a switch S5 connecting one end of the capacitor C1 to the other end opposite the capacitor C2. Various combinations of the open / closed states of the switches S1-S5 may provide different capacitance values within the network 510, thereby providing different coupling strengths between the cell i 590 and the cell j 595.
[0072] In some embodiments, the coupling module 500 may further include a network 520. The network 520 may include switches Si_0 and Si_1 connected in series with the unit i 590 and switches Sj_0 and Sj_1 connected in series with the unit j 595. Various combinations of the open / closed states of the switches Si_1, Si_1, Sj_0, and Sj_1 may provide different positive and negative couplings between the unit i 590 and the unit j 595. The positive and negative couplings may constitute a coupling weight (i.e., a coupling strength with a positive and negative sign) together with the coupling strength.
[0073] The following table 1 lists the Figure 5 The configuration of the coupling module 500 shown in FIG. 5 corresponds to the truth table.
[0074] Table 1 Coupling weight configuration truth table
[0075]
[0076] For a specific combinatorial optimization problem, the influence weights between the corresponding parameters can be mapped to a corresponding truth table, and thus, the combinatorial optimization problem can be solved by solving the Ising model through the Ising machine. Those skilled in the art can determine the required truth table according to the specific combinatorial optimization problem, and thus adjust the configuration of the coupling module 500 accordingly (for example, increase / decrease the number of capacitors, increase / decrease the capacitance value of capacitors, increase / decrease the number of switches, change the connection mode of capacitors, change the connection mode of switches, etc.) to adapt to the corresponding combinatorial optimization problem.
[0077] Figure 6 The circuit diagram of the readout module 600 of the unit of the Ising machine core circuit according to some embodiments of the present invention and the waveform diagram 650 of the input signal and the output signal thereof are shown. The readout module 600 can be used as Figure 3 The readout module 350 in FIG. 1 , but the scope of the present invention is not limited to this.
[0078] In some embodiments, the readout module 600 may receive the output signal Ui_6 provided by the ring oscillator of the unit in which it is located and the output signal Ui-1_6 provided by the ring oscillator of the adjacent unit. In some embodiments, the output signals Ui_6 and Ui-1_6 may include a signal indicating the phase. The readout module 600 may generate the readout signal Ui_OUT based on the phase offset between the signal Ui_6 and the signal Ui-1_6.
[0079] Because large-scale ring oscillator arrays have inherent phase noise, it is difficult to distinguish the states of certain spins, but the phase difference between the spins of adjacent units is almost always correct. Therefore, by comparing the phase between the signal indicating the spin state of the current unit and the signal of the spin state of the adjacent unit, the signal indicating the spin state of the current unit can be determined and output. This is more conducive to determining the spin state of the unit and helps to reduce the circuit area. This will be described below in conjunction with diagram 650.
[0080] In some embodiments, the readout module 600 may include an XOR gate 610, which may receive output signals Ui_6 and Ui-1_6 from ring oscillators of two adjacent units and output an XOR result thereof.
[0081] Optionally, in some embodiments, the readout module 600 may include a data selector 620. The data selector 620 may receive the XOR result output by the XOR gate 610 and the signal Ui_6, and output one of the XOR result or the signal Ui_6 under the selection of the selection signal SEL. This allows the readout module 600 to switch between the following two modes: i) generating the readout signal Ui_OUT based only on the output signal Ui_6 of the ring oscillator of the current unit; or ii) generating the readout signal Ui_OUT based on both the output signal Ui_6 of the ring oscillator of the current unit and the output signal Ui-1_6 of the ring oscillator of the adjacent unit. In some embodiments, the data selector 620 may be omitted. Accordingly, the readout module 600 may operate only in the above-mentioned mode ii).
[0082] In some embodiments, the readout module 600 may include a D flip-flop 630. The D flip-flop 630 is used to receive the selection result of the data selector 620, and output the selection result based on the edge of the clock signal CLK to generate the readout signal Ui_OUT.
[0083] Diagram 650 shows exemplary input signals and output signals of the readout module 600. At 651, the situation when the signals Ui_6 and Ui-1_6 are completely in phase is shown, and at this time, the signal Ui_OUT is a continuous low-level output. At 652, the situation when the signals Ui_6 and Ui-1_6 are roughly in phase is shown, and at this time, the signal Ui_OUT may include more 0s, and the signal Ui_OUT is basically at a low level, indicating that the current unit is in phase with the adjacent unit. At 653, the situation when the signals Ui_6 and Ui-1_6 are completely inverted is shown, and at this time, the signal Ui_OUT is a continuous high-level output. At 654, the situation when the signals Ui_6 and Ui-1_6 are roughly inverted is shown, and at this time, the signal Ui_OUT may include more 1s, and the signal Ui_OUT is basically at a high level, indicating that the current unit is inverted with the adjacent unit.
[0084] The design of reading out the signal based only on the output signal of the ring oscillator of the current unit requires judging eight phase states. In contrast, the design based on the phase offset between the output signals of the ring oscillators of the current unit and the adjacent unit only requires judging two phase states, making the judgment of the spin state of the unit more accurate and convenient. At the same time, the circuit area can also be reduced by about 2.2 times.
[0085] Figure 7 A circuit diagram of a 1-bit storage cell 700 (eg, a 1-bit SRAM) of a storage module of a cell of an Ising machine core circuit according to some embodiments of the present invention is shown. The 1-bit storage cell may be used as Figure 3 The storage module 370 of the unit 300 is a 1-bit SRAM.
[0086] The 1-bit memory cell 700 may include a precharge circuit 710, an SRAM cell 730, and an amplifier 750. The SRAM cell 730 is connected to the precharge circuit 710, and the amplifier 750 is connected to the SRAM cell 730.
[0087] In some embodiments, a storage module (e.g., Figure 3 The storage module 370 in FIG. 3 may include 24 1-bit storage cells (eg, 1-bit storage cell 700). In some embodiments, the 1-bit storage cell may include a 6T SRAM cell.
[0088] In some embodiments, inspired by adiabatic quantum annealing, a progressive annealing (PA) method can be used to keep the coupling weights between the current unit and the adjacent units valid in a predefined time sequence and predefined grouping for annealing. That is, during the annealing process, the coupling weights between adjacent units are made valid one by one (batch) in sequence, so that the system can transition from a simple initial state to a state determined by a problem such as the maximum cut. This ensures that the Hamiltonian of the system can change approximately slowly, making the instantaneous energy landscape more complex, and the state of the system will remain in the ground state.
[0089] In some embodiments, the predefined timing may define a predetermined time period during which the coupling weights are kept valid. In some embodiments, the predefined grouping may define a sequence of a predetermined number of coupling weights which are kept valid in turn within each predetermined time period.
[0090] In some embodiments, in order to take into account the impact of the annealing schedule on the solution process, the SPA method can also be used.
[0091] Figure 8 A schematic diagram of a SPA for an Ising machine core circuit and its units according to some embodiments of the present invention is shown.
[0092] Figure 8 Sequence set 810 , sequence set 820 , and sequence set 830 and legend 850 are shown in FIG. Figure 8 Each weight wi shown in can be related to Figure 5 The coupling weight determined by the coupling module 500 in corresponds to.
[0093] The sequence set 810 may include sequences 812, 814, and 816, wherein a corresponding coupling weight is kept valid in each predetermined time period τ1, and the coupling weight that has been kept valid previously is kept valid until the end of the sequence. For example, the annealing timing of sequence 812 is shown in the following Table 2:
[0094] Table 2 Annealing timing table of sequence 812
[0095]
[0096] The sequence set 820 may include sequences 822 and 824, each of which keeps the corresponding two coupling weights valid in each predetermined time period τ2, and the coupling weights that have been kept valid before are kept valid until the end of the sequence. For example, the annealing timing of sequence 822 is shown in the following Table 3:
[0097] Table 3 Annealing schedule of sequence 822
[0098]
[0099] The sequence set 830 may include a sequence that may include all 20 coupling weights w1-w20 in this example. By shuffling the coupling weights in a valid order one by one / batch by batch, some randomness may be introduced, allowing the system to explore different regions of the solution space, thereby increasing the diversity of solutions and the probability of finding the optimal solution. For example, for a random maximum cut problem with different weight precisions of a problem size of 16×16, the SPA method can improve the solution accuracy by 8%-15% compared to the non-annealing method.
[0100] In some embodiments, the predetermined time period τ i The time required for the phase of the ring oscillator array to stabilize after the coupling weight is changed may be used to determine the time required for the phase of the ring oscillator array to stabilize after the coupling weight is changed.
[0101] When the number n of coupling weights kept valid at each step changes from N to 1, the time scales gradually separate.
[0102] In some embodiments, each sequence of coupling weights can be determined by randomly traversing the coupling weights (e.g., coupling weights w1-w20), so that each traversal obtains each coupling weight involved once and only once in a random order. The generated random sequence can be reused, which reduces the need for an external random number generator.
[0103] Fig. 9 A flow chart of a method 900 for annealing an Ising machine core circuit according to some embodiments of the present invention is shown.
[0104] The method 900 can be used in various Ising machine core circuits, including but not limited to the above-mentioned Figure 2 The Ising machine core circuit 200 described above. The Ising machine core circuit to which the method 900 is applicable may include a plurality of units that communicate with each other. Each unit may be coupled to a corresponding adjacent unit to define a coupling weight. These units may include but are not limited to the above-mentioned combined Figure 3 Unit 300 described.
[0105] The method 900 may include, at block 910 , determining a coupling weight between each cell and a corresponding neighboring cell.
[0106] In some embodiments, adjacent cells may be capacitively coupled; accordingly, the coupling weight may be determined based on the capacitance value between adjacent cells. In some embodiments, adjacent cells may be resistively coupled; accordingly, the coupling weight may be determined based on the resistance value between adjacent cells. In other embodiments, adjacent cells may also be coupled in a manner that enables adjacent cells to act or influence each other.
[0107] The method 900 may include, at block 930 , determining a predefined timing.
[0108] In some embodiments, the step at block 930 may include: at block 935, determining a predetermined time period to start keeping the coupling weights valid. As an example, each predetermined time period may include the above combination Figure 8 Describes time periods whose duration is τ1, τ2, etc.
[0109] In some embodiments, the steps at block 930 may include, at block 950 , determining predefined groupings.
[0110] In some embodiments, the step at block 950 may include: at block 955, determining a sequence of a predetermined number of coupling weights that are sequentially maintained valid in each predetermined time period. As an example, the predetermined number may be 1, 2, ..., N, etc., where N is the total number of coupling weights involved. As an example, the sequence may include the above-mentioned combination Figure 8Depicted are sequences 812 , 814 , 816 containing a single coupling weight as an element, sequences 822 , 824 containing two coupling weights as elements, and a sequence 830 containing a total of N coupling weights.
[0111] The method 900 may include, at block 970 , starting to validate the coupling weights between each cell and the corresponding adjacent cells in a predefined timing and predefined grouping for annealing.
[0112] During the annealing process, the coupling weights between adjacent units are made effective one by one (batch), so that the system can transition from a simple initial state to a state determined by a problem such as the maximum cut. This ensures that the Hamiltonian of the system can change approximately slowly, making the instantaneous energy landscape more complex, and the state of the system will remain in the ground state.
[0113] Fig.10 FIG. 1 is a flowchart showing a process 1000 for annealing an Ising machine core circuit according to a predefined timing and a predefined grouping according to some embodiments of the present invention. The process 1000 may be Fig. 9 The specific implementation of step 970 in method 900 is described below, but the scope of the present invention is not limited to this.
[0114] Process 1000 may include, at block 1010, enabling a first sequence of a first predetermined number of coupling weights to be sequentially started and maintained in effect in each predetermined time period until the first sequence ends. As an example, the first sequence may be the above-mentioned Figure 8 One of the described sequences 812, 814 or 816. As an example, the timing in which the coupling weights are kept valid may be as shown in Table 2 above or similar thereto according to a specific sequence.
[0115] Process 1000 may include, at block 1030, enabling a second sequence of the first predetermined number of coupling weights to be sequentially started and maintained in effect in each predetermined time period until the second sequence ends. As an example, the second sequence may be the above-mentioned Figure 8 Another one of the described sequences 812, 814 or 816. As an example, the timing in which the coupling weights are kept valid may be as shown in Table 2 above or similar thereto according to a specific sequence.
[0116] In some embodiments, other sequences of the first predetermined number of coupling weights may be further enabled to start sequentially and remain effective in each predetermined time period until the sequence ends. Fig.10 The number of sequences to be operated can be determined as required.
[0117] Process 1000 may include, at block 1050, enabling a third sequence of the second predetermined number of coupling weights to be sequentially started and maintained in effect in each predetermined time period until the third sequence ends. As an example, the third sequence may be the above-mentioned Figure 8 As an example, the timing in which the coupling weights are kept valid may be as shown in Table 3 above or similar thereto according to a specific sequence.
[0118] Process 1000 may include, at block 1070, enabling a fourth sequence of the first predetermined number of coupling weights to be sequentially started and maintained in effect in each predetermined time period until the fourth sequence ends. As an example, the fourth sequence may be the above-mentioned Figure 8 As an example, the timing in which the coupling weights are kept valid may be as shown in Table 3 above or similar thereto according to a specific sequence.
[0119] In some embodiments, other sequences of the second predetermined number of coupling weights may be further enabled to start sequentially and remain effective in each predetermined time period until the sequence ends, such as Fig.10 The number of sequences to be operated can be determined as required.
[0120] In some embodiments, corresponding operations may be further performed on corresponding sequences of the third predetermined number, the fourth predetermined number, etc. of coupling weights, such as Fig.10 As shown by the ellipsis after box 1070 in .
[0121] By shuffling the coupling weights in a valid order one by one / batch by batch, some randomness can be introduced, allowing the system to explore different areas of the solution space, thereby improving the diversity of solutions and increasing the probability of finding the optimal solution. For example, for the random maximum cut problem with different weight precisions of the problem size of 16×16, the SPA method can improve the solution accuracy by 8%-15% compared with the non-annealing method.
[0122] In some embodiments, one or more of the first sequence, the second sequence, the third sequence, the fourth sequence, and the optional further sequences can be generated by randomly traversing the coupling weights involved. The generated random sequence can be reused, which reduces the need for an external random number generator.
[0123] Embodiments of the present invention have been described with reference to the accompanying drawings, the embodiments being illustrative and not restrictive.
Claims
1. A unit for an Ising machine core circuit, comprising: a ring oscillator for generating two interaction signals, the two interaction signals being respectively associated with two opposite spin states, and providing an output signal associated with the determined spin state of the cell; A plurality of coupling modules, each coupling module is coupled with two nodes of the two interactive signals provided by the ring oscillator, and is coupled with corresponding two nodes of the corresponding two interactive signals provided by the ring oscillator of the corresponding adjacent unit; a readout module connected to the ring oscillator and configured to generate a readout signal based on the output signal, the readout signal indicating the determined spin state of the cell; as well as A storage module is connected to the plurality of coupling modules and is used to store information indicating coupling weights between the unit and adjacent units.
2. The unit according to claim 1, characterized in that The ring oscillator comprises: An odd number of inverters are connected in series, wherein the output terminals of two adjacent inverters are used to provide the two interactive signals, the supply voltage of the upstream inverter among the two adjacent inverters is modulated by a locking signal to lock the phase, and the frequency of the locking signal is twice the oscillation frequency of the ring oscillator.
3. The unit according to claim 2, characterized in that The ring oscillator further comprises: A NAND gate is connected in series with the odd number of inverters, and the NAND gate is used to receive an enable signal to start the ring oscillator.
4. The unit according to claim 1, characterized in that Each coupling module performs multi-stage capacitive coupling between the ring oscillator and adjacent units.
5. The unit according to claim 4, characterized in that Each coupling module includes a capacitor and a switch.
6. The unit according to claim 5, characterized in that The capacitor includes a plurality of capacitors connected in series and / or in parallel, and The switch comprises a plurality of switches, wherein the coupling weight between the cell and an adjacent cell is determined at least in part based on the open and closed states of the plurality of switches and / or the capacitance values of the plurality of capacitors.
7. The unit according to claim 5, characterized in that The capacitor comprises a MOS capacitor.
8. The unit according to claim 1, characterized in that The ring oscillator is used to provide a first output signal, and the ring oscillator of the adjacent unit is used to provide a second output signal, the first output signal and the second output signal include a signal indicating a phase, The readout module is used for: The readout signal is generated based at least in part on a phase offset between the first output signal and the second output signal.
9. The unit according to claim 1, characterized in that The coupling weights between the cell and the adjacent cells are kept valid starting at a predefined timing and in a predefined grouping for annealing.
10. The unit according to claim 9, characterized in that The predefined timing defines the start of a predetermined time period for which the coupling weights are maintained effective, and The predefined grouping defines a sequence of a predetermined number of coupling weights that are kept valid starting in sequence in each predetermined time period.
11. The unit according to claim 10, characterized in that A first sequence of a first predetermined number of coupling weights is maintained effective starting in sequence in each predetermined time period until the first sequence ends, and A second sequence of the first predetermined number of coupling weights is kept valid starting in sequence in each predetermined time period until the second sequence ends.
12. The unit according to claim 11, characterized in that The first sequence and the second sequence are generated by randomly traversing coupling weights.
13. The unit according to claim 11, characterized in that A third sequence of the second predetermined number of coupling weights is sequentially maintained effective starting in each predetermined time period until the third sequence ends, and A fourth sequence of the second predetermined number of coupling weights is sequentially maintained effective starting in each predetermined time period until the fourth sequence ends, The second predetermined number is different from the first predetermined number.
14. An Ising machine core circuit, comprising: A plurality of units as claimed in any one of claims 1 to 13, Wherein, the plurality of units communicate with each other.
15. The Ising machine core circuit according to claim 14, characterized in that: The plurality of cells are coupled according to a King graph topology.
16. A method for annealing an Ising machine core circuit, the Ising machine core circuit comprising a plurality of cells, the plurality of cells communicating with each other, each cell coupled to a corresponding adjacent cell to define a coupling weight, the method comprising: Determine the coupling weight between each unit and the corresponding adjacent unit; Determine a predefined timing; Identify predefined groups; as well as The coupling weight between each cell and the corresponding adjacent cell starts to be kept valid according to the predefined timing and the predefined grouping so as to perform annealing.
17. The method according to claim 16, characterized in that Determining the predefined timing includes: determining a predetermined time period for starting to keep the coupling weight valid, and Determining the predefined grouping includes determining a sequence of a predetermined number of coupling weights that are sequentially started to be kept valid in each predetermined time period.
18. The method according to claim 16, characterized in that Enabling the coupling weight between each unit and the corresponding adjacent unit to start maintaining validity according to the predefined timing and the predefined grouping includes: causing a first sequence of a first predetermined number of coupling weights to be sequentially started and maintained valid in each predetermined time period until the first sequence ends; and A second sequence of the first predetermined number of coupling weights is sequentially started and maintained effective in each predetermined time period until the second sequence ends.
19. The method according to claim 18, characterized in that The first sequence and the second sequence are generated by randomly traversing coupling weights.
20. The method of claim 18, wherein: The coupling weight between each unit and the corresponding adjacent unit starts to remain valid according to the predefined timing and the predefined grouping, and further includes: causing a third sequence of a second predetermined number of coupling weights to start in sequence and remain valid in each predetermined time period until the third sequence ends; and making a fourth sequence of the second predetermined number of coupling weights start in sequence in each predetermined time period and remain effective until the fourth sequence ends, The second predetermined number is different from the first predetermined number.
Citation Information
Patent Citations
Ring oscillator-based Ising machine system
US11545963B1
Circuitry having fully connected ring oscillators
US20230132603A1