IP Core Mapping Method, Medium, Device and System

Through multiple model training and genetic operation optimization, the problem that traditional genetic algorithms cannot effectively search for huge solution space in IP core mapping is solved, and high-quality mapping solutions and performance improvements are achieved.

CN117873952BActive Publication Date: 2025-06-24JIMEI UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410043975.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-01-11
Publication Date
2025-06-24
Estimated Expiration
2044-01-11

AI Technical Summary

Technical Problem

When solving IP core mapping problems, traditional genetic algorithms rely on random searches to effectively search for huge solution space, resulting in the inability to find high-quality mapping solutions.

Method used

A method of IP core mapping is proposed, multiple IP core mapping models are obtained through training of multiple models, initial subpopulations are generated, and populations are optimized through genetic operations and migration operations, and a high-quality mapping solution is finally obtained.

Benefits of technology

It effectively improves the quality of the final core mapping results, improves the performance of the on-chip network, and overcomes the shortcomings of traditional methods in the huge search space.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117873952B_ABST
    Figure CN117873952B_ABST
Patent Text Reader

Abstract

The present invention discloses an IP core mapping method, medium, device and system. Among them, the method includes the following steps: First, train multiple models respectively to obtain multiple IP core mapping models; Then, based on the IP core mapping models, generate an initial sub-population corresponding to each IP core mapping model, and use the initial sub-population as the current population; Then, perform genetic operations on the current population to obtain a second-generation population; Then, perform migration operations on the second-generation population, and set the second-generation population after the migration operation as the current population; Then, determine whether the current iteration number reaches a preset number threshold; If so, use the optimal individual in the current population as the optimal mapping solution; If not, return to the step of performing genetic operations on the current population; thereby effectively improving the quality of the final core mapping result and further improving the performance of the network on chip.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of data transmission, and particularly relates to an IP core mapping method, medium, device, and system. Background Art

[0002] With the increase in chip integration, the number of IP cores integrated in the chip and the communication complexity continue to increase. In recent years, the network-on-chip has gradually been recognized by the industry and has become the preferred interconnection architecture for high-speed data transmission between multiple IP cores in the chip.

[0003] The IP core mapping problem refers to allocating given IP cores to the network-on-chip to optimize performance metrics such as the communication cost, communication energy consumption, and communication delay of the network-on-chip. Since the solution result of the IP core mapping problem has an important impact on the performance of the network-on-chip, the IP core mapping problem has important research value and application value.

[0004] In related technologies, when solving the IP core mapping problem, most only use the traditional genetic algorithm for solution; however, the traditional genetic algorithm heavily relies on random search technology. And the solution space of the IP core mapping problem shows explosive growth as the problem scale increases, which makes the traditional genetic algorithm unable to search for high-quality mapping solutions in the huge search space. Summary of the Invention

[0005] The present invention aims to at least solve one of the technical problems in the related technologies to some extent. For this reason, an object of the present invention is to propose an IP core mapping method, which can effectively improve the quality of the final core mapping result and thus improve the performance of the network-on-chip.

[0006] In a first aspect, an embodiment of the present invention proposes an IP core mapping method, including the following steps:

[0007] S101, training multiple models respectively to obtain multiple IP core mapping models;

[0008] S102, generating an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model, and using the initial sub-population as the current population;

[0009] S103, performing genetic operations on the current population to obtain a second-generation population;

[0010] S104, performing migration operations on the second-generation population, and setting the second-generation population after the migration operation as the current population;

[0011] S105, determining whether the current iteration number reaches a preset number threshold; if so, execute step S160; if not, return to step S103;

[0012] S106, use the optimal individual in the current population as the optimal mapping solution.

[0013] According to the IP core mapping method of the embodiments of the present invention, first, train multiple models respectively to obtain multiple IP core mapping models; then, based on the IP core mapping models, generate an initial sub-population corresponding to each IP core mapping model, and use the initial sub-population as the current population; then, perform genetic operations on the current population to obtain the second-generation population; then, perform migration operations on the second-generation population, and set the second-generation population after the migration operation as the current population; then, determine whether the current iteration number reaches a preset number threshold; if so, use the current population as the optimal mapping solution; if not, return to the step of performing genetic operations on the optimal individual in the current population; thereby effectively improving the quality of the final core mapping result, and further improving the performance of the network-on-chip.

[0014] In some embodiments, generating an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model includes: generating an initialization population corresponding to each IP core mapping model based on each IP core mapping model; for each initialization population, sort the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; select a preset number of high-quality candidate mapping solutions as the initial sub-population according to the sorting result.

[0015] In some embodiments, the genetic operations include one or more of crossover operations, mutation operations, and selection operations.

[0016] In some embodiments, performing migration operations on the second-generation population includes: sorting the individuals in the second-generation population according to the fitness level; for each second-generation population, randomly obtain a preset number of individuals from other second-generation populations, and perform simulated annealing processing on the preset number of individuals; based on the sorting of the individuals in the second-generation population, replace the individuals in the second-generation population with the preset number of individuals after simulated annealing processing.

[0017] In some embodiments, the multiple IP core mapping models include: a first MPN network model trained by a supervised method, a second MPN network model trained by a reinforcement learning method, a first MAN network model trained by a supervised method, and a second MAN network model trained by a reinforcement learning method.

[0018] In a second aspect, an embodiment of the present invention proposes a computer-readable storage medium, on which an IP core mapping program is stored, and when the IP core mapping program is executed by a processor, the above-mentioned IP core mapping method is implemented.

[0019] In a third aspect, an embodiment of the present invention provides a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the above-mentioned IP core mapping method is implemented.

[0020] In a fourth aspect, an embodiment of the present invention provides an IP core mapping system, including: a training module configured to train multiple models respectively to obtain multiple IP core mapping models; an initial generation module configured to generate an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model and use the initial sub-population as the current population; a genetic operation module configured to perform genetic operations on the current population to obtain a second-generation population; an iterative search module configured to perform migration operations on the second-generation population and set the second-generation population after the migration operation as the current population. The iterative search module is further configured to determine whether the current iteration number reaches a preset number threshold. When the determination result is no, it returns to perform genetic operations on the current population by the genetic operation module, and when the determination result is yes, it uses the optimal individual in the current population as the optimal mapping solution.

[0021] According to the IP core mapping system of the embodiment of the present invention, by setting a training module configured to train multiple models respectively to obtain multiple IP core mapping models; an initial generation module configured to generate an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model and use the initial sub-population as the current population; a genetic operation module configured to perform genetic operations on the current population to obtain a second-generation population; an iterative search module configured to perform migration operations on the second-generation population and set the second-generation population after the migration operation as the current population. The iterative search module is further configured to determine whether the current iteration number reaches a preset number threshold. When the determination result is no, it returns to perform genetic operations on the current population by the genetic operation module, and when the determination result is yes, it uses the optimal individual in the current population as the optimal mapping solution.

[0022] In some embodiments, the initial generation module is further configured to generate an initialization population corresponding to each IP core mapping model based on each IP core mapping model; for each initialization population, sort the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; and select a preset number of high-quality candidate mapping solutions as the initial sub-population according to the sorting result.

[0023] In some embodiments, the genetic operations include one or more of crossover operations, mutation operations, and selection operations.

[0024] Additional aspects and advantages of the present invention will be given in part in the following description, become apparent in part from the following description, or be learned by practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 is a schematic flowchart of an IP core mapping method according to an embodiment of the present invention;

[0026] Figure 2 is a schematic flowchart of an IP core mapping method according to another embodiment of the present invention;

[0027] Figure 3 is a schematic block diagram of an IP core mapping system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0028] Embodiments of the present invention will be described in detail below. Examples of the embodiments are shown in the drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the drawings are exemplary and are intended to explain the present invention and should not be construed as limiting the present invention.

[0029] The IP core mapping method according to an embodiment of the present invention will be described below with reference to the drawings.

[0030] Please refer to Figure 1 , Figure 1 which is a schematic flowchart of an IP core mapping method according to an embodiment of the present invention; as Figure 1 shown, the IP core mapping method includes the following steps:

[0031] S101, training multiple models respectively to obtain multiple IP core mapping models.

[0032] In some embodiments, the multiple IP core mapping models include: a first MPN network model trained by a supervised method, a second MPN network model trained by a reinforcement learning method, a first MAN network model trained by a supervised method, and a second MAN network model trained by a reinforcement learning method.

[0033] As an example, as Figure 2As shown, four IP core mapping models can be set respectively, including the MPN-s1 model (the first MPN model), the MPN-r1 model (the second MPN model), the MAN-s1 model (the first MAN model), and the MAN-r1 model (the second MAN model); that is to say, the MPN network is trained by the supervised method and the reinforcement learning method respectively to obtain the MPN-sl model and the MPN-rl model. Similarly, the MAN network is trained by the supervised method and the reinforcement learning method respectively to obtain the MAN-sl model and the MAN-r1 model. In this way, four models for the IP core mapping problem, namely the MPN-s1 model, the MPN-r1 model, the MAN-s1 model, and the MAN-r1 model, are obtained. Then, M = 4 models are initialized with the pre-trained model parameters.

[0034] S102. Based on the IP core mapping model, generate an initial sub-population corresponding to each IP core mapping model, and use the initial sub-population as the current population.

[0035] In some embodiments, generating an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model includes: generating an initialization population corresponding to each IP core mapping model based on each IP core mapping model; for each initialization population, sorting the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; and selecting a preset number of high-quality candidate mapping solutions as the initial sub-population according to the sorting result.

[0036] As an example, assume there are M = 4 IP core mapping models. In the population, each individual has a somatic chromosome, which is labeled with the mapping solution m. A high-quality mapping solution m corresponds to a higher fitness. In the initialization, the population is divided into M = 4 sub-populations. For each sub-population, sample a pre-trained model to obtain S = 3000 candidate mapping solutions, and sort the candidate mapping solutions according to the quality of the candidate mapping solutions. Then, select N = 100 high-quality candidate mapping solutions as the initial sub-population of this sub-population. In this way, use M = 4 pre-trained models to generate the initial sub-populations of M = 4 different sub-populations. Since the MPN-s1 model, the MPN-r1 model, the MAN-s1 model, and the MAN-r1 model are obtained through different network structures and training methods, the M = 4 models contain different prior knowledge and experiences learned from the training data, and different initial sub-populations will be obtained. These initial sub-populations will fall into different search regions, which helps to improve the global search ability and more effectively find potential optimal solutions.

[0037] S103. Perform genetic operations on the current population to obtain the second-generation population.

[0038] In some embodiments, the genetic operations include one or more of crossover operation, mutation operation, and selection operation.

[0039] As an example, each current population generates a new generation population (i.e., the second-generation population) using crossover operation, mutation operation, and selection operation. The crossover operation, mutation operation, and selection operation are genetic operations, and any existing genetic operation can be selected. Without loss of generality, the most basic crossover operation, mutation operation, and selection operation are selected here. Specifically, in the crossover operation, two individuals in the current sub-population are randomly selected first, and a cut is randomly determined, and then the second part of the chromosome is exchanged to obtain two new individuals. In the mutation operation, an individual in the current sub-population is randomly selected, and two exchange positions are randomly determined, and then the genes at these two positions are exchanged to obtain a new individual. In the selection operation, the individuals with high fitness in the current sub-population are intercepted and retained according to the fitness.

[0040] S104, perform a migration operation on the second-generation population, and set the second-generation population after the migration operation as the current population.

[0041] In some embodiments, performing a migration operation on the second-generation population includes: sorting the individuals in the second-generation population according to the fitness; for each second-generation population, randomly obtaining a preset number of individuals from other second-generation populations, and performing simulated annealing processing on the preset number of individuals; based on the sorting of the individuals in the second-generation population, replacing the individuals in the second-generation population with the preset number of individuals after the simulated annealing processing.

[0042] As an example, for each second-generation population, introduce K = 2 annealed individuals from each of the other second-generation populations respectively, and replace the (4 - 1)×2 = 6 individuals with the worst fitness in the current second-generation population. Specifically, first each second-generation population randomly selects K = 2 individuals from each of the other second-generation populations respectively, so that (4 - 1)×2 = 6 individuals for migration will be obtained. Since different second-generation populations fall in different search regions, the (4 - 1)×2 = 6 individuals are different from the current second-generation population. Then, the (4 - 1)×2 = 6 individuals are processed by the simulated annealing algorithm respectively. The simulated annealing algorithm adopts the Boltzmann update mechanism and accepts solutions that make the optimization objective worse with a certain probability, so as to improve the ability to jump out of the local solution, thereby improving the quality of these (4 - 1)×2 = 6 individuals. Finally, the (4 - 1)×2 = 6 individuals processed by simulated annealing are added to the second-generation population and replace the (4 - 1)×2 = 6 individuals with the worst fitness in the second-generation population. The migration operation is similar to the communication between populations. Introducing annealed new individuals from other second-generation populations can maintain the diversity of the population and avoid premature convergence of the population. Introducing simulated annealing in the migration operation can improve the ability of the sub-population to jump out of the local optimum and improve the local search ability of the genetic algorithm.

[0043] As an example, in the simulated annealing algorithm, first initialize the system temperature Temperature, and take the solution to be processed as the optimal mapping solution m b and the current mapping solution m. Then comes the iterative process. A neighboring mapping solution m′ is obtained by swapping the positions of two elements in the current mapping solution m. If the neighboring mapping solution m′ is better than the current mapping solution m, then accept the neighboring mapping solution m′ as the current mapping solution. Otherwise, generate a random number α. When α is less than or equal to the probability e ΔC / Temperature , the neighboring mapping solution m′ can also be accepted as the current mapping solution m, where ΔC is equal to the difference between the communication cost of the current mapping solution m and the communication cost of the neighboring mapping solution m′ divided by the parameter F. Then, reduce the system temperature Temperature and update the searched optimal mapping solution m b . Repeat the iterative process until the maximum number of iterations I = 30 of the simulated annealing algorithm, end the search, and output the optimal mapping solution m b .

[0044] S105. Determine whether the current iteration number reaches the preset number threshold; if so, execute step S160; if not, return to step S103.

[0045] S106. Take the optimal individual in the current population as the optimal mapping solution.

[0046] In summary, according to the IP core mapping method of the embodiments of the present invention, first, multiple models are trained respectively to obtain multiple IP core mapping models; then, based on the IP core mapping models, an initial sub-population corresponding to each IP core mapping model is generated, and the initial sub-population is used as the current population; then, genetic operations are performed on the current population to obtain the second-generation population; then, migration operations are performed on the second-generation population, and the second-generation population after the migration operation is set as the current population; then, it is judged whether the current iteration number reaches a preset number threshold; if so, the optimal individual in the current population is used as the optimal mapping solution; if not, the step of performing genetic operations on the current population is returned; thereby effectively improving the quality of the final core mapping result, and further improving the performance of the network-on-chip.

[0047] To implement the above embodiments, an embodiment of the present invention proposes a computer-readable storage medium, on which an IP core mapping program is stored. When the IP core mapping program is executed by a processor, the above-mentioned IP core mapping method is implemented.

[0048] To implement the above embodiments, an embodiment of the present invention proposes a computer device, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the above-mentioned IP core mapping method is implemented.

[0049] To implement the above embodiments, an embodiment of the present invention proposes an IP core mapping system, as Figure 3 shown. The IP core mapping system includes: a training module 10, an initial generation module 20, a genetic operation module 30, and an iterative search module 40.

[0050] Among them, the training module 10 is used to train multiple models respectively to obtain multiple IP core mapping models;

[0051] The initial generation module 20 is used to generate an initial sub-population corresponding to each IP core mapping model based on the IP core mapping models, and use the initial sub-population as the current population;

[0052] The genetic operation module 30 is used to perform genetic operations on the current population to obtain the second-generation population;

[0053] The iterative search module 40 is used to perform migration operations on the second-generation population, and set the second-generation population after the migration operation as the current population;

[0054] The iterative search module 40 is further used to judge whether the current iteration number reaches a preset number threshold, and when the judgment result is no, return to perform genetic operations on the current population by the genetic operation module, and when the judgment result is yes, use the optimal individual in the current population as the optimal mapping solution.

[0055] In some embodiments, the initial generation module 20 is further configured to generate an initialization population corresponding to each IP core mapping model based on each IP core mapping model; for each initialization population, sort the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; and select a preset number of high-quality candidate mapping solutions as the initial sub-population according to the sorting result.

[0056] In some embodiments, the genetic operations include one or more of a crossover operation, a mutation operation, and a selection operation.

[0057] It should be noted that the above description of the IP core mapping method also applies to the IP core mapping system and will not be elaborated here.

[0058] In summary, according to the IP core mapping system of the embodiments of the present invention, by setting a training module, the training module is configured to train multiple models respectively to obtain multiple IP core mapping models; an initial generation module, the initial generation module is configured to generate an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model and use the initial sub-population as the current population; a genetic operation module, the genetic operation module is configured to perform genetic operations on the current population to obtain a second-generation population; an iterative search module, the iterative search module is configured to perform a migration operation on the second-generation population and set the second-generation population after the migration operation as the current population; the iterative search module is further configured to determine whether the current iteration number reaches a preset number threshold, and when the determination result is no, return to perform genetic operations on the current population by the genetic operation module, and when the determination result is yes, use the optimal individual in the current population as the optimal mapping solution.

[0059] Note that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a definite sequence list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other systems that can fetch and execute instructions from the instruction execution system, apparatus, or device), or in combination with these instruction execution systems, apparatuses, or devices. For the purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer diskette case (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium can even be paper or other suitable media on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or other suitable processing as necessary, and then stored in a computer memory.

[0060] It should be understood that various parts of the present invention can be implemented by hardware, software, firmware, or a combination thereof. In the above-described embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following techniques well known in the art can be used: discrete logic circuits having logic gate circuits for implementing logical functions on data signals, application specific integrated circuits having appropriate combinational logic gate circuits, programmable gate arrays (PGAs), field programmable gate arrays (FPGAs), etc.

[0061] In the description of this specification, the description referring to terms such as "one embodiment", "some embodiments", "example", "specific example", or "some examples", etc. means that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.

[0062] In the description of the present invention, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings. They are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as a limitation to the present invention.

[0063] In addition, the terms "first" and "second" are only used for descriptive purposes and should not be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" may explicitly or implicitly include at least one of such features. In the description of the present invention, the meaning of "a plurality of" is at least two, such as two, three, etc., unless otherwise specifically and clearly defined.

[0064] In the present invention, unless otherwise clearly specified and defined, the terms "mounted", "connected", "coupled", "fixed", etc. shall be construed in a broad sense. For example, it may be a fixed connection, a detachable connection, or an integral body; it may be a mechanical connection or an electrical connection; it may be directly connected or indirectly connected through an intermediate medium, and it may be the internal communication of two elements or the interaction relationship between two elements, unless otherwise clearly defined. For those of ordinary skill in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.

[0065] In the present invention, unless otherwise clearly specified and defined, the first feature being "on" or "under" the second feature may be that the first and second features are in direct contact, or the first and second features are indirectly in contact through an intermediate medium. Moreover, the first feature being "above", "over" and "on top of" the second feature may be that the first feature is directly above or obliquely above the second feature, or merely indicates that the first feature has a higher horizontal height than the second feature. The first feature being "under", "beneath" and "underneath" the second feature may be that the first feature is directly below or obliquely below the second feature, or merely indicates that the first feature has a lower horizontal height than the second feature.

[0066] Although the embodiments of the present invention have been shown and described above, it can be understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those of ordinary skill in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. An IP core mapping method, characterized in that: The following steps are involved: S101, training multiple models respectively to obtain multiple IP core mapping models; S102, based on the IP core mapping model, generating an initial sub-population corresponding to each IP core mapping model, and using the initial sub-population as the current population; S103, performing genetic operations on the current population to obtain a second generation population; S104, performing a migration operation on the second generation population, and setting the second generation population after the migration operation as the current population; S105, determining whether the current number of iterations reaches a preset number threshold; If yes, execute step S160; if no, return to step S103; S106, taking the best individual in the current population as the optimal mapping solution; In S101, the multiple IP core mapping models include: a first MPN network model trained by a supervised method, a second MPN network model trained by a reinforcement learning method, a first MAN network model trained by a supervised method, and a second MAN network model trained by a reinforcement learning method, and M=4 models are initialized as pre-trained model parameters; In S102, based on the IP core mapping model, an initial subpopulation corresponding to each IP core mapping model is generated, including: Based on each IP core mapping model, generate an initialization population corresponding to each IP core mapping model; For each initialization population, sorting the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; According to the sorting results, a preset number of high-quality candidate mapping solutions are selected as the initial sub-population; In S103, the second generation population is migrated, including: Sort the individuals in the second generation population according to their fitness; For each second-generation population, randomly obtain a preset number of individuals from other second-generation populations, and perform simulated annealing on the preset number of individuals; Based on the ranking of individuals in the second generation population, a preset number of individuals after simulated annealing are used to replace individuals in the second generation population; For each second-generation population, a preset number of individuals from other second-generation populations are randomly obtained, and the preset number of individuals are subjected to simulated annealing; based on the order of individuals in the second-generation population, the preset number of individuals after simulated annealing are used to replace individuals in the second-generation population. Specifically, the method includes: first, each second-generation population randomly selects K=2 individuals from other second-generation populations, so that (4-1)×2=6 individuals for migration are obtained. Since different second-generation populations fall in different search areas, (4-1)×2=6 individuals are different from the current second-generation population; then, the (4-1)×2=6 individuals are respectively subjected to simulated annealing algorithm processing, so as to improve the quality of the (4-1)×2=6 individuals; finally, the (4-1)×2=6 individuals subjected to simulated annealing processing are added to the second-generation population, and the (4-1)×2=6 individuals with the worst fitness in the second-generation population are replaced; In the simulated annealing algorithm, the system temperature Temperature is first initialized, and the solution to be processed is taken as the optimal mapping solution m b and the current mapping solution m; followed by an iterative process, by exchanging the positions of two elements in the current mapping solution m to obtain a neighboring mapping solution m′; if the neighboring mapping solution m′ is better than the current mapping solution m, then the neighboring mapping solution m′ is accepted as the current mapping solution, otherwise, a random number α is generated, and when α is less than or equal to the probability e ΔC / Temperaature , the neighboring mapping solution m′ can also be accepted as the current mapping solution m, where ΔC is equal to the difference between the communication cost of the current mapping solution m and the communication cost of the neighboring mapping solution m′ divided by the parameter F; then, reduce the system temperature Temperature and update the searched optimal mapping solution m b ; Repeat the iterative process until the maximum number of iterations of the simulated annealing algorithm is I = 30, end the search, and output the optimal mapping solution m b .

2. The IP core mapping method according to claim 1, characterized in that: The genetic operation includes one or more of a crossover operation, a mutation operation and a selection operation.

3. An IP core mapping system, the system implementing the method according to claim 1, characterized in that: include: A training module, wherein the training module is used to respectively train multiple models to obtain multiple IP core mapping models; An initial generation module, the initial generation module is used to generate an initial sub-population corresponding to each IP core mapping model based on the IP core mapping model, and use the initial sub-population as the current population; A genetic operation module, wherein the genetic operation module is used to perform genetic operations on the current population to obtain a second-generation population; an iterative search module, the iterative search module being used to perform a migration operation on the second generation population and set the second generation population after the migration operation as the current population; The iterative search module is also used to determine whether the current number of iterations reaches a preset number threshold, and when the judgment result is no, return to the genetic operation module to perform genetic operations on the current population, and when the judgment result is yes, use the best individual in the current population as the optimal mapping solution.

4. The IP core mapping system as claimed in claim 3, characterized in that: The initial generation module is also used to generate an initialization population corresponding to each IP core mapping model based on each IP core mapping model; For each initialization population, sorting the candidate mapping solutions in the initialization population according to the quality of the candidate mapping solutions; A preset number of high-quality candidate mapping solutions are selected as the initial subpopulation according to the sorting results.

5. The IP core mapping system as claimed in claim 4, characterized in that: The genetic operation includes one or more of a crossover operation, a mutation operation and a selection operation.

Citation Information

Patent Citations

  • Multi-population simulated annealing hybrid genetic algorithm based on similarity expelling

    CN104615869A

  • Mapping method applied to network-on-chip IP core mapping problem

    CN113988286A