A microcircuit model region decomposition modeling method and apparatus
By dividing the microcircuit model into sub-regions and optimizing it in CPU and GPU, the problem of GPU memory limitation is solved, improving the computational efficiency and accuracy of large-scale integrated circuit analysis and achieving efficient model reduction.
Patent Information
- Application Number
- CN202510196132.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2045-02-21
AI Technical Summary
In existing technologies, the limited memory of GPUs causes the amount of data in large-scale integrated circuit models to exceed their memory limits, and the slow data transfer speed between CPU and GPU leads to low GPU computing efficiency, making it impossible to effectively handle large-scale integrated circuit analysis problems.
The microscopic equivalent circuit model of large-scale electromagnetic problems is divided into several sub-regions. Data matrices are generated in the CPU and reduced in order in the GPU. Data transmission is optimized by label mapping matrix and transition matrix. The MIN method is used to iteratively find absorption condition values, minimize node absorption, update the reduced order matrix, and merge parallel branches to update impedance.
It effectively reduces the number of data transfers between the CPU and GPU, improves GPU computing efficiency, reduces model simulation time, maintains the accuracy of calculation results and program reusability, and enhances the scalability of large-scale microcircuit models.
Smart Images

Figure CN119885989B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of microcircuit module order reduction, in particular to a microcircuit model regional decomposition modeling method and device. BACKGROUND
[0002] Interconnection circuit is one of the key technologies of integrated circuit, which determines the data transmission speed and signal integrity performance of integrated circuit. With the development of interconnection circuit to multi-layer high density, the model order required for signal integrity analysis of interconnection circuit increases rapidly. Some researchers have creatively proposed microcircuit model based on physical equivalence, but the scalability still cannot meet the needs of large-scale circuit analysis. This project will carry out research on large-scale circuit regional decomposition modeling method based on microcircuit model.
[0003] The mathematical equivalent order reduction method based on circuit model, such as partial element equivalent circuit (PEEC), uses capacitance, inductance and resistance with physical meaning to describe the electromagnetic field, radiation, loss and other effects in integrated circuit, which can be solved by SPICE in time domain and frequency domain response, and is widely used in packaging, antenna, electromagnetic compatibility and other fields. In the early stage of transformation, although the number of nodes is reduced, the number of branches continues to increase, which leads to a significant increase in model order. In addition, due to the limitation of capacitance model, it is necessary to solve the inverse of large-scale potential coefficient matrix.
[0004] For large-scale integrated circuit analysis problem, microcircuit model avoids the bottleneck of using matrix inversion to obtain accurate solution, effectively reduces the simulation time of model. However, there are still the following scientific and technical problems: the scalability problem caused by the limited memory of GPU: when using GPU to accelerate microcircuit model algorithm, the data volume of industrial integrated circuit model is much larger than the memory of GPU, so CPU-GPU data transmission is required every iteration. The transmission speed between CPU and GPU is only one ten-thousandth of the calculation speed of GPU, which leads to the failure of GPU acceleration algorithm due to long waiting time. SUMMARY
[0005] The main purpose of the present application is to overcome the above-mentioned defects in the prior art, and to provide a microcircuit model regional decomposition modeling method and device.
[0006] The present application adopts the following technical scheme:
[0007] A microcircuit model regional decomposition modeling method comprises the following:
[0008] In the CPU, the microcircuit model of large-scale electromagnetic problem is divided into several sub-regions, and the data matrix corresponding to the sub-regions is obtained;
[0009] In the GPU, a reduced order matrix corresponding to the sub-region is created, and the sub-regions are sequentially reduced in order until the sub-regions are reduced in order: the data matrix of one of the sub-regions is transmitted into the corresponding reduced order matrix for processing to realize the model reduction of the sub-region, the data matrix in the reduced order matrix is updated, and information data is generated after the model reduction of the sub-region to pass the correlation between the sub-regions, and the data matrix in the reduced order matrix corresponding to the next sub-region is updated in combination with the information data when the model reduction of the next sub-region is performed, and so on.
[0010] According to the characteristics of the micro equivalent circuit model in a three-dimensional rectangular coordinate system, a plurality of sub-regions are divided, and the data matrix corresponding to the sub-regions includes: a coupling matrix PP between capacitors, an inductance between nodes and a coupling matrix M between inductances between nodes pm , a coupling matrix M between inductances on nodes and a coupling matrix M between inductances on nodes pp , a label mapping matrix, and a matrix M pmM , the matrix M pmM stores the coupling values between inductances of all nodes and inductances on all nodes of the sub-regions, and the label mapping matrix stores the mapping relationship between the node labels before the sub-regions are divided and the node labels after the sub-regions are divided.
[0011] The micro equivalent circuit model is divided into a plurality of sub-regions, and the data matrix of the sub-regions further includes a label matrix, the label matrix stores the starting label and the ending label of the nodes of each sub-region, and when the sub-regions are reduced in order, the data matrix of the corresponding sub-region is directly selected according to the label matrix.
[0012] In the GPU, a transition matrix is also created to store part of the data required for the reduction in order of the sub-regions, and the model reduction of the sub-regions includes:
[0013] The absorption condition value Δ of each node of the sub-region is calculated by using the MIN method, and the node with the minimum absorption condition value is found to be absorbed first, and other nodes are calculated by using the MIN method after absorbing the node and updating all the above matrices to find the next node with the minimum absorption condition value that needs to be absorbed, and the absorption condition value Δ is calculated as follows:
[0014]
[0015] Wherein, m II represents the self-coupling value of the newly added inductive element, m SS represents the self-coupling value of the originally existing inductive element, and m SIP represents the mutual coupling value between the newly added inductance element and the originally existing inductance element II P represents the self-coupling value of the newly added capacitance element SS P represents the self-coupling value of the originally existing capacitance element SI P represents the mutual coupling value between the newly added capacitance element and the originally existing capacitance element P represents the maximum frequency of the microwave device in operation
[0016] Each time a node is absorbed into a cycle, first, according to the needs of each iteration, the coupling data values of the node k to be absorbed and several nodes i connected around it are taken out from the data matrix and placed in the transition matrix X RM :
[0017]
[0018] PP i P represents the capacitance self-coupling matrix, M i P represents the inductance self-coupling matrix, M pmi P represents the coupling matrix of the inductance on several nodes i and the inductance between the rest of the nodes in the sub-region, M ppi P represents the inductance self-coupling matrix on the above several nodes i, M pmk P represents the inductance coupling matrix between the inductance on node k and the rest of the nodes in the sub-region.
[0019] Each time a node is absorbed, the data matrix of the sub-region is compressed, specifically by moving the last row and the last column data in the data matrix corresponding to the sub-region to the data position corresponding to the absorbed node.
[0020] After the model order reduction of the sub-region is completed, the following information data is generated:
[0021]
[0022] Specifically, x pk , x mk , x pmk represent the update information generated by the absorption of the kth node by the ith group of sub-regions, n represents the total number of nodes i connected around this node k, including the coupling data between the capacitance and all the capacitance, the mutual coupling data between the inductance of the nodes, and the coupling data between the inductance on the nodes and the inductance between the nodes; the update information X i generated by the order reduction of each sub-region forms a matrix X, which is used to update all the data matrices corresponding to the sub-regions, and N represents the total number of sub-regions to be absorbed.
[0023] When the model order reduction of the next sub-region is combined with the information data to update the data matrix in the order reduction matrix corresponding to it, the following is specifically as follows:
[0024] PP = PP + c0x p T x p
[0025] M = M + c1x m T x m
[0026] Mpp = Mpp + c2x pm T x p + c3x pm T x pm
[0027] Mpm = Mpm + c4x pm T x m + c5x p T x m ;
[0028] wherein c0, c1, c2, c3, c4, c5 are constants in the microcircuit model transformation, x p represents the mutual coupling information between capacitive elements, x m represents the mutual coupling information between inductive elements, x pm represents the mutual coupling information between inductive elements on the PpI branch and the inductance between nodes.
[0029] The model order reduction of the sub-region includes merging parallel branches. When the parallel branches are merged, all mutual impedances in the circuit need to be updated, then the parallel circuit elements and the related mutual coupling are as follows:
[0030] The self-impedance of the parallel branch S is:
[0031]
[0032] The mutual impedance between the parallel branch S and the remaining inductive branch or other PpI branch is:
[0033] z' RS = [(y SS + y SI )z RS + (y II + y SI )z RI ] / yt;
[0034] z' OS = [(y SS + y SI )z OS + (yII + y SI )z OI ] / yt;
[0035] wherein y SS , y II represent the self-impedance of one of the two parallel branches, y SI represents the mutual-impedance of the two parallel branches, z RS represents the coupling impedance of one of the two PPI branches to the ordinary branches not participating in the PPI branch merging, z OS represents the coupling impedance of one of the two PPI branches to the other PPI branches, z RI represents the coupling impedance of the other of the two parallel branches to the ordinary branches not participating in the PPI branch merging, z OI represents the coupling impedance of the other of the two parallel branches to the other PPI branches, z' RS represents the coupling impedance of the merged two PPI branches to the ordinary branches not participating in the PPI branch merging, z' OS represents the coupling impedance of the merged two PPI branches to the other PPI branches.
[0036] The mutual impedance between the other PPI branches and the remaining inductive branches is:
[0037]
[0038] wherein Z' OO represents the self-impedance of the merged other PPI branches, Z OO represents the self-impedance of the unmerged other PPI branches, Z' OR represents the coupling between the merged PPI branches and the ordinary branches, Z OR represents the coupling between the unmerged PPI branches and the ordinary branches, Z' RR represents the self-impedance of the merged other ordinary branches, Z RR represents the self-impedance of the unmerged other ordinary branches.
[0039] A microcircuit model region decomposition modeling device, comprising:
[0040] a sub-region division module, which divides a micro equivalent circuit model of a large-scale electromagnetic problem into a plurality of sub-regions in a CPU to obtain data matrices corresponding to the sub-regions;
[0041] The order reduction module creates an order reduction matrix corresponding to the sub-region in the GPU, and sequentially reduces the order of several sub-regions until the order reduction of the several sub-regions is completed: the data matrix of one of the sub-regions is transmitted into the corresponding order reduction matrix for processing to realize the model order reduction of the sub-region;
[0042] The update data module generates information data to transfer the correlation between the several sub-regions after the model order reduction is completed, and the data matrix in the corresponding order reduction matrix of the next sub-region is updated in combination with the information data when the model order reduction of the next sub-region is performed, and after the update is completed, another node in the sub-region is continuously absorbed, and so on.
[0043] From the above description of the application, compared with the prior art, the application has the following beneficial effects:
[0044] 1. The region decomposition modeling method used in the application is very suitable for model degradation of large-scale microcircuit models, and the large-scale microcircuit model is divided into multiple strip-shaped sub-regions, so that the data matrix size meets the limited memory size of the GPU, and the expansibility of the microcircuit model degradation algorithm is greatly enhanced.
[0045] 2. By using the symmetry and low correlation between the decomposed regions, the corresponding data of the sub-region in several vectors in the sub-region data can be used to iteratively update the data in another matrix without using full-region data calculation and update, which greatly reduces the number of data transmission between CPU and GPU and the total execution time of the algorithm. It is beneficial to solve and analyze the order reduction problem of large-scale interconnected packaging circuits using high-performance GPU parallel computing technology.
[0046] 3. The microcircuit model order reduction is performed from the last sub-region, from back to front, and the last sub-region is updated first, and then the previous sub-region is updated. This way of updating nodes can maximize the data storage location of the matrix, greatly reducing the complexity of verifying the correctness of the calculation results and improving the reusability of the program. BRIEF DESCRIPTION OF DRAWINGS
[0047] Figure 1 is the overall flowchart of the algorithm implementation of the application;
[0048] Figure 2 is a schematic diagram of a parallel plate capacitor used in a numerical calculation example;
[0049] Figure 3 is a schematic diagram of a parallel plate capacitor microcircuit model divided into regions;
[0050] Figure 4Fig. 1 is a schematic diagram of the sub-region segmentation of the inductive and capacitive data matrix corresponding to the modeling of the microcircuit model of the parallel-plate capacitor, and the data transmission relationship between the CPU and the GPU for the related inductive and capacitive data matrix;
[0051] Figure 5 Fig. 2 is a schematic diagram of the merging of the parallel capacitors;
[0052] Figure 6 Fig. 3 is a schematic diagram of the optimization of the data storage location of the data matrix during the sub-region decomposition node absorption process;
[0053] Fig. 4 is a schematic diagram of the optimization of the data storage location of the newly generated element data matrix during the sub-region decomposition node absorption process;
[0054] Figure 8 Fig. 5 is a schematic diagram of the iterative update of the other sub-region data using the sub-region data update information and one-time data transmission;
[0055] Figure 9 Fig. 6 is a schematic diagram of the reintegration and storage location of the update information data vector and the coefficient vector during the merging of the parallel capacitors;
[0056] Figure 10 Fig. 7 is a schematic diagram of the reintegration and storage location of the update information data vector and the coefficient vector during the merging of the parallel inductors;
[0057] Figure 11 Fig. 8 is a schematic diagram of the flag matrix and the stored row label indicating whether there is a merging of the parallel inductors during the iterative absorption of the nodes;
[0058] Figure 12 Fig. 9 is a data curve of the calculation using the overall method and the sub-region method in the present application after the absorption of one node;
[0059] Figure 13 Fig. 10 is a data difference curve of the calculation using the overall method and the sub-region method in the present application after the absorption of one node;
[0060] Figure 14 Fig. 11 is a data curve of the calculation using the overall method and the sub-region method in the present application after the absorption of multiple nodes;
[0061] Figure 15 Fig. 12 is a data difference curve of the calculation using the overall method and the sub-region method in the present application after the absorption of multiple nodes;
[0062] Figure 16 Fig. 13 is a data curve of the calculation using the overall method and the sub-region method in the present application after the absorption of two nodes and the merging of one pair of inductors;
[0063] Figure 17is the data difference curve of using the whole method to calculate after absorbing 2 nodes and merging 1 pair of inductance and using the sub-region method in the application to calculate.
[0064] The application will be further described below in conjunction with the drawings and specific embodiments. DETAILED DESCRIPTION
[0065] The application will be further described below in conjunction with the drawings and specific embodiments.
[0066] The application aims to realize large-scale microcircuit model sub-region modeling, and provides a strip region decomposition method to reduce the use of GPU memory space. By using the low correlation between sub-regions after region decomposition, a small amount of data vector is used to iteratively update the data of other sub-regions, ensuring that the sub-region model degradation result is consistent with the numerical result obtained by the way of passing all data into the GPU, and there is no precision loss and error.
[0067] The microcircuit model region decomposition modeling method of the application, referring to Figure 1 The overall flowchart of the microcircuit model reduction. The overall flowchart contains three main parts, the first part is to divide the microcircuit model and its data matrix into sub-regions, the second part is the main part of the microcircuit model reduction, and the third part is the update data matrix part. Specifically, it includes the following:
[0068] S1 divides the microcircuit model of large-scale electromagnetic problems into several sub-regions in the CPU, and obtains the data matrix corresponding to the sub-regions, that is, each sub-region has a corresponding data matrix.
[0069] According to the characteristics of the microcircuit model in the three-dimensional rectangular coordinate system, several sub-regions are divided. The data matrix corresponding to the sub-regions includes: the coupling matrix PP between the capacitors, the inductance between the nodes and the coupling matrix M between the inductance between the nodes pm , the coupling matrix M between the inductance on the node and the inductance on the node pp , the label mapping matrix and the matrix M pmM , the matrix M pmM stores the coupling values between the inductance of all nodes and the inductance on all nodes in the sub-region, and the label mapping matrix stores the mapping relationship between the node label before the sub-region division and the node label after the sub-region division.
[0070] Take the parallel plate capacitor as an example, the parallel plate capacitor is divided into upper and lower two plates, and there are 32 nodes, each node has an inductance element and a capacitance element below, and there are 50 inductance elements between the nodes. In the standard three-dimensional rectangular coordinate system, there are x, y, z three coordinates, and the placement position of the parallel plate capacitor in the rectangular coordinate system can be divided into two sub-regions about the x axis, the part of x < 0 is a sub-region named Domain0, indicating sub-region 0, and the part of x > 0 is another sub-region named Domain1, indicating sub-region 1.
[0071] Please refer to Figure 2 , Figure 2 For the numerical calculation example, the size of the capacitor is 4*4mm, the distance between the upper and lower two layers is 0.2mm, and the medium is air medium epr=3.
[0072] Please refer to Fig. 3, which shows the microcircuit model generated by the parallel plate capacitor. Fig. 3(a) shows the PEEC circuit model of the upper plate, and Fig. 3(b) shows the PEEC circuit model of the lower plate. The node number range of the upper plate is 0-15, and the node number range of the lower plate is 16-31. Each node is connected with an inductance element and a capacitance element below, and each two nodes are connected with an inductance element. The inductance element number range corresponding to two sub-regions is 0-24 and 25-49 respectively.
[0073] According to the characteristics of the microcircuit model in the three-dimensional rectangular coordinate system, the node area is divided into multiple sub-regions, and then the label mapping matrix x P_N2O , x P_O2N , x M_N2O , x M_O2N , x P_N2O representing the mapping matrix from the new label of the node where the capacitor is located to the old label, x P_O2N representing the mapping matrix from the old label of the node where the capacitor is located to the new label, x M_N2O representing the mapping matrix from the new label of the node where the inductor is located to the old label, x M_O2N representing the mapping matrix from the old label of the node where the inductor is located to the new label, and other data matrices are updated by using the label mapping matrix, such as the node label matrix X NODE of the two end points of the inductance element. Assuming that there are m nodes:
[0074]
[0075] Where, nd i0 represents the node (node) label of the two ends of the i-th inductor, and the edge label X NODE_SIDE :
[0076]
[0077] wherein, snd i0 The column label of the inductive coupling matrix is the label of the sub-region inductive element, and the row label is the label of the side-node of the i-th inductive element. The inductive coupling matrix is generated by matching the old and new label matrices x P_N2O , x P_O2N , x M_N2O , x M_O2N , M, M pp , M pm , M pmM , respectively, so as to divide the overall data matrix into two data matrices corresponding to the sub-regions, and the starting label and the ending label of each sub-region are separately stored in a label matrix. When using related data, the data matrix of the corresponding sub-region can be directly selected according to the label matrix. In the numerical example, nodes 0-15 and inductive element labels 0-24 are divided into a sub-region 0, and nodes 16-31 and inductive element labels 25-49 are divided into a sub-region 1.
[0078] S2 creates a reduced-order matrix corresponding to the sub-region in the GPU, and sequentially reduces the order of a plurality of sub-regions until the plurality of sub-regions are reduced in order: the data matrix of one sub-region is transmitted into the corresponding reduced-order matrix for processing to realize the model reduction of the sub-region, the data matrix in the reduced-order matrix is updated, and information data is generated after the model reduction of the sub-region is completed to pass the correlation between a plurality of sub-regions, and the data matrix in the corresponding reduced-order matrix of the next sub-region is updated in combination with the information data when the model of the next sub-region is reduced, and so on.
[0079] This step includes PEEC circuit model data matrix initialization, which is to transmit the data of each sub-region into the global memory of the GPU for standby. The absorption condition value Δ of each node of the sub-region is calculated by using the MIN method, and the node with the minimum absorption condition value is absorbed first, and other nodes are calculated by the MIN method after absorbing the node and updating all the above matrices to find the next node with the minimum absorption condition value that needs to be absorbed, and the absorption condition value Δ is calculated as follows:
[0080]
[0081] wherein, m II represents the self-coupling value of the newly added inductive element, m SS represents the self-coupling value of the existing inductive element, m SI represents the mutual coupling value between the newly added inductive element and the existing inductive element, P II represents the self-coupling value of the newly added capacitive element, P SSP represents the self-coupling value of the originally existing capacitive element SI P represents the mutual coupling value between the newly added capacitive element and the originally existing capacitive element, P represents the maximum frequency at which the microwave device operates;
[0082] Each time a node is absorbed into a cycle: first, according to the needs of each iteration, the coupling data values of the node k to be absorbed and several nodes i connected around it are taken out from the data matrix and placed in the transition matrix X RM :
[0083]
[0084] PP i P represents the self-coupling matrix of the capacitor, M i P represents the self-coupling matrix of the inductor, M pmi P represents the coupling matrix of the inductance on several nodes i and the inductance between the rest of the nodes in the sub-region, M ppi P represents the self-coupling matrix of the inductance on the above-mentioned several nodes i, M pmk P represents the coupling matrix of the inductance on node k and the rest of the nodes in the sub-region.
[0085] The model order reduction of the sub-region includes merging parallel branches, referring to Figure 5 , (a) is the impedance before merging the parallel branches, (b) is the impedance after merging the parallel branches, and (c) is the merged parallel capacitive branch.
[0086] Considering the parallel branches S and I, which can be a pair of PpI branches (a node below a series capacitor and an inductor element), or a pair of inductor branches, merged into branch S. The elements in the two branches not only couple with each other, but also couple with the rest of the circuit elements. The PpI branches and inductor branches of the rest of the circuit are distinguished by subscripts 0 and R respectively. When the parallel branches are merged, all mutual impedances in the circuit need to be updated.
[0087] For the sake of brevity, the parallel circuit elements and the related mutual coupling can be listed as follows: when the parallel branches are merged, all mutual impedances in the circuit need to be updated, then the parallel circuit elements and the related mutual coupling are listed as follows:
[0088] The self-impedance of the parallel branch S is:
[0089]
[0090] The mutual impedance between the parallel branch S and the remaining inductor branch or other PpI branch is:
[0091] z' RS = [(y SS +y SI )zRS +(y II +y SI )z RI ] / yt;
[0092] z' OS =[(y SS +y SI )z OS +(y II +y SI )z OI ] / yt;
[0093] where y SS , y II represent the self-coupling admittance of one of the two parallel branches to be merged, y SI represents the mutual coupling admittance of the two parallel branches, z RS represents the coupling impedance of one of the two parallel branches to be merged to the ordinary branch not participating in the merging of the PPI branch, z OS represents the coupling impedance of one of the two parallel branches to the other PPI branch, z RI represents the coupling impedance of the other of the two parallel branches to the ordinary branch not participating in the merging of the PPI branch, z OI represents the coupling impedance of the other of the two parallel branches to the other PPI branch, z' RS represents the coupling impedance of the merged two PPI branches to the ordinary branch not participating in the merging of the PPI branch, z' OS represents the coupling impedance of the merged two PPI branches to the other PPI branch.
[0094] The mutual impedance between the other PPI branch and the remaining inductive branch is:
[0095]
[0096] where Z' OO represents the self-coupling of the merged other PPI branch, Z OO represents the self-coupling of the unmerged other PPI branch, Z' OR represents the coupling between the merged PPI branch and the ordinary branch, Z OR represents the coupling between the unmerged PPI branch and the ordinary branch, Z' RR represents the self-coupling of the other ordinary branch after merging the PPI branch, Z RR represents the self-coupling of the other ordinary branch before merging the PPI branch.
[0097] In the sub-region reduction process of the application, after absorbing one node, the data matrix of the sub-region
[0098] PP, M, M pp , M pm , M pmM Compress: move the last row and last column data in the data matrix corresponding to the sub-region to the data position corresponding to the absorbed node, further saving GPU storage space. Importantly, absorbing the nodes of sub-region 0 first will cause data processing and verification to be abnormally cumbersome and poor in program reusability. Therefore, the nodes of sub-region 1 are absorbed first, greatly reducing the verification time cost.
[0099] The third part of the flow chart is to use the generated information data to transfer the correlation between data blocks after absorbing all the nodes of sub-region 1 (Domain 1), and then transfer the data matrix PP, M, M pp , M pm , M pmM from the CPU to the GPU, and update the data using the X matrix:
[0100]
[0101] Specifically, the X matrix stores the influence of each node update on all nodes in the global region inductance elements and capacitance elements, that is, information data. The X matrix is divided into multiple relevant information data corresponding to the sub-region, including the relevant information data corresponding to the nodes in PP, M, M pp , M pm , M pmM , and M nodes need to open Mx5 rows and k_link_num_i x PPmatsize_subD column data matrix space to store relevant update information. Each iteration updates once (Domain 0) to take out the corresponding node information and the coupling between the inductive and capacitive elements at different positions from the corresponding row. Among them, k_link_num_i represents the number of other nodes connected around the i-th node when absorbing the i-th node. Taking the coupling value between the capacitor element below the node and the capacitor element below other nodes as an example, PPmatsize_subD represents the number of couplings between the i-th node and the nodes in sub-region 0 (Domain 0) plus additional space. The i-th row label represents the i-th node, and the column label represents the coupling value between the k_link_num nodes around this node and all nodes in sub-region 0 (Domain 0).
[0102] The model of the next sub-region is reduced in order, and the data matrix in the corresponding reduced matrix is updated by the combination information data. Specifically, taking the coupling between the capacitor element under the node and other capacitor elements under the node as an example, by extracting the essence of the node absorption algorithm, it can be found that the combination information data updates the data matrix in the corresponding reduced matrix by using the following formula to generate:
[0103] PP = PP + c0x p T · x p
[0104] M = M + c1x m T · x m
[0105] Mpp = Mpp + c2x pm T · x p + c3x pm T · x pm
[0106] Mpm = Mpm + c4x pm T · x m + c5x p T · x m ;
[0107] Wherein, c0, c1, c2, c3, c4, c5 are constants in the transformation of the microcircuit model, x p represents the mutual coupling information between the capacitor elements, x m represents the mutual coupling information between the inductor elements, x pm represents the mutual coupling information between the inductor on the PpI branch and the node. Please refer to Figure 5 , and represent the self-coupling values of the two capacitor elements before merging the parallel branch, represents the mutual coupling value of the two capacitor elements before merging the parallel branch.
[0108] The following steps will describe the specific method of region division in the specific process of the node absorption of the present application.
[0109] Please refer to Figure 4Take the data matrix of the capacitor element as an example, the left side represents the operation in the CPU, assuming that a total of N nodes need to be absorbed, the global region is now divided into two sub-regions, sub-region 0 and sub-region 1, the nodes in sub-region 1 are absorbed first, then the nodes in sub-region 0 are absorbed, after the nodes in sub-region 1 are absorbed, information data is generated, and the information data is used to update sub-region 0.
[0110] Figure 4 The figure shows an important part of the region decomposition modeling, how to transfer the data matrix after the label matching from the CPU to the GPU. 401 represents the data matrix corresponding to sub-region 0 (sub-Domain0), 402 represents the data matrix corresponding to sub-region 1 (sub-Domain1), and 403 is sub-region 1 that needs to be absorbed. Assuming that there are M nodes in sub-region 1 that need to be absorbed, since in the process of implementing the region decomposition algorithm, the mutual influence between the nodes in the global region needs to be considered, specifically, the capacitor element needs to consider not only the coupling between itself and other nodes in the sub-region, but also the coupling between itself and all the nodes in sub-region 0 (sub-Domain0), so that after all the nodes are absorbed, the change information of each node in the global region is considered, and the coupling value between the surrounding elements generated by the nodes absorbed in each iteration of this sub-region and all the elements in sub-region 0 is stored in the information data matrix update_PreDomain_vector_mat allocated in advance in the GPU. After absorbing sub-region 1, use the update information generated by sub-region 1 to achieve only one data transmission between CPU and GPU, generate all the update information in the GPU, then transfer all the data matrices corresponding to sub-region 0, including GPU_PPmat_subD, GPU_Mmat_subD, etc. from the CPU to the GPU, according to the order of eliminating nodes, update each node and each matrix according to the row label of update_PreDomain_vector_mat.
[0111] Please refer to Figure 6Figure 6 shows the optimization of the sub-region node elimination process in the GPU in combination with the storage of the matrix elements. Specifically, 601 represents the self-coupling value and mutual coupling value of the node to be absorbed k, the node_k_subD row represents the mutual coupling value between node k and all nodes in the global region, which is stored in the matrix row label needs to be specified in the corresponding position of sub-region 1, because the starting position of sub-region 1 should be the next position of the end position of sub-region 0, 602 represents the last column and the last row of sub-region 1, which represents the coupling value between the node with the last position in sub-region 1 and other nodes, end_Ni_subD is the node label of the last row of sub-region 1, which represents the capacitor element coupling value between the node and all nodes in the global region, end_Ni represents the node label of the last row of sub-region 1, which is also the node label of the last column of the global region, which represents the capacitor element coupling value between the node and all nodes in sub-region 1. In this way, the next iteration absorbs the node in the second position, k1 node, which needs to fill the data in the end_Ni_subD-1 row end_Ni column to the position of the row and column where the k1 node is located, 603 represents the coupling value between the next absorbed node and all capacitor elements in sub-region 1 and the coupling value with the nodes in the global region. With the increase of the absorbed nodes, this data matrix can be optimized very little, plus a small amount of data matrix of the transferred information, which greatly saves the repeated transmission of data between CPU and GPU, and greatly reduces the occupied GPU memory resources.
[0112] In order to ensure the comprehensiveness of the node elimination update information, part of it is Mpmmat_subD, and the other part is MpmMmat_subD. The Mpmmat_subD matrix stores the coupling value between the inductance element on the node and the inductance element between two nodes in sub-region 1.
[0113] Referring to Figure 7, Figure 7(a) is the coupling value between the capacitor element below the node in the sub-region circuit model and the capacitor element below other nodes, which is stored in the matrix GPU_PPmat_subD. The matrix stores the coupling value between the capacitor element on all nodes in the global region and all nodes in sub-region 1 (Domain 1), which will also generate new capacitive element data in this step. Region 701 represents the position where the coupling value between the original capacitor elements is stored, region 702 represents the position where the coupling value between the newly generated capacitor element and the capacitor element on all nodes in sub-region 1 (Domain 1) is stored, region 703 represents the position where the coupling value between the newly generated capacitor element and the capacitor element on all nodes in the global region is stored, and region 704 represents the position where the coupling value between the newly generated capacitor element and itself and the coupling value between each other are stored.
[0114] Figure 7(b) is the coupling data storage matrix GPU_MpmMmat_subD between the inductive elements below the node and the inductive elements between the nodes in the sub-region circuit model. This matrix is generated to store the inductive element mutual coupling values between the inductive elements on all nodes in the global region and all nodes in sub-region 1 (Domain 1). In this step, new inductive and capacitive elements data are also generated. Region 705 represents the original data storage location. Region 706 represents the storage location of the coupling values between the newly generated inductive elements and the inductive elements on all nodes in the global region. Region 707 represents the storage location of the coupling values between the newly generated inductive elements and the inductive elements on all nodes in the sub-region. Region 708 represents the storage location of the coupling values between the newly generated inductive elements and themselves and between each other.
[0115] Referring to Figure 8 After node absorption, all updated information data is stored in a matrix, and the update of the sub-region 0 data matrix is performed in the GPU. Specifically, according to the above sub-region division method, the data matrix is divided into two parts, Domain 0 and Domain 1. The Domain 1 related data matrices are transmitted into the GPU for standby. Node absorption is performed on Domain 1, and the related data matrices inside Domain 1 are updated. At the same time, the data vector for updating Domain 0 is generated. These data vectors are collected and arranged according to certain rules, which facilitates the quick finding of corresponding data when updating the Domain 0 data matrix in the future, and saves the data transmission times between the CPU and the GPU. Only one data transmission is needed to use the parallel computing performance advantage of the GPU to reduce the order of the circuit model. The matrix storing the data vectors is update_PreDoamin_vector_mat, and the coefficient matrix storing the related coefficients is update_PreDoamin_coeff_mat. After absorbing the nodes of Domain 1, the data of Domain 0 is updated. The Domain 0 related data matrices are transmitted into the GPU. The data stored in update_PreDoamin_vector_mat and update_PreDoamin_coeff_mat are used to update the data in Domain 0.
[0116] After absorbing the nodes of Domain 1, the data of Domain 0 is updated. The Domain 0 related data matrices are transmitted into the GPU. The data stored in update_PreDoamin_vector_mat and update_PreDoamin_coeff_mat are used to update the data in Domain 0.
[0117] After absorbing the nodes of Domain 1, the data of Domain 0 is updated. The Domain 0 related data matrices are transmitted into the GPU. The data stored in update_PreDoamin_vector_mat and update_PreDoamin_coeff_mat are used to update the data in Domain 0.
[0118] The following describes the design of update_PreDoamin_vector_mat and update_PreDoamin_coeff_mat matrices. See Figure 9 Pc, Pcm, and Mc represent the node below the capacity element vector in the update node, respectively. The coefficient matrix is divided by the node in the row. Several nodes store several rows. Pc, Pcm, and Mc related to each node in the iteration are coded as a group. The row label is node. When reading data, only the row label needs to be read, and then the relevant data can be found to update and absorb the node. For the column, because k_link_num connected nodes are needed for each update, the column is divided into k_link_num groups. Each group represents the coupling data between one node connected to node and the remaining nodes, with a size of maxLC. The maximum row label is Mx3, and the maximum column label is k_link_numxmaxLC. The following is
[0119] update_PreDoamin_coeff_mat matrix, which stores the coefficient constants needed. The row represents the storage of coeffmat1 and coeffmat2 two groups of data, which are the coefficient constants needed by different data matrices. Two rows form a node data, and absorbing M nodes is Mx2 rows. The column is the k_link_num data corresponding to each coeffmat.
[0120] See Figure 10 When parallel inductors are merged, the coefficient matrix and the matrix storing the information vector are also needed. However, unlike the parallel capacitor elements on the node, only two groups of vectors Pc and Mc are needed here, so the maximum row label is Mx2, and the maximum column label is also k_link_numxmaxLC.
[0121] The coefficient matrix row represents the round of inductance absorption needed. Each iteration does not necessarily need to perform inductance absorption. According to the changes in the circuit structure, there may be one or more pairs of inductance absorption. The column of each row represents the constant coefficient corresponding to each pair of inductance absorption in this round. There are ind_num_comb in total.
[0122] See Figure 11, whether the parallel inductance elements need to be merged after the parallel capacitance elements are absorbed by the node. Since the circuit structure is constantly changing during the node absorption process, it is impossible to determine when we need to merge the parallel inductance elements, but the merging of the capacitance elements is needed every time. Therefore, according to the change of the circuit structure every time, if the circuit structure after the absorption of the capacitive node needs to be merged as shown in the figure, such as 1101 in the figure, the flag bit is set to 0, and the next round of node absorption is performed. The next time the inductance element needs to be merged, it is set to 1 as shown in 1102 in the figure, and so on. At the same time, the corresponding data can be found in the update information data and the coefficient data matrix during the next round of node absorption. The design iteration update order flag matrix is as follows:
[0123]
[0124] The storage updates the position information of the inductance and capacitance corresponding to the node.
[0125] The embodiment performs regional algorithm simulation on the parallel plate capacitance, compares the node absorption data after regionalization with the original method data, and presents the data curve and the difference curve in Figures 12-17 .
[0126] Figure 12 The numerical results of the parallel plate capacitance numerical example after absorbing one node are obtained. There are a total of 256 data points, and it can be seen that the data results calculated by the original method and the data calculated by the regional method used in the application are completely consistent.
[0127] Figure 13 is the difference between the data results calculated by the original method and the data results calculated by the regional method used in the application after absorbing one point. It can be seen that the difference values of the 256 points are all 0.
[0128] Figure 14 The numerical results of the parallel plate capacitance numerical example after absorbing two nodes are obtained. There are a total of 256 data points, and it can be seen that the data results calculated by the original method and the data calculated by the regional method used in the application are completely consistent.
[0129] Figure 15 is the difference between the data results calculated by the original method and the data results calculated by the regional method used in the application after absorbing two points. It can be seen that the difference values of the 256 points are all 0.
[0130] Figure 16The numerical results of the parallel-plate capacitor numerical example after absorbing 2 nodes and merging 1 pair of parallel inductance are shown in the following table. There are totally 625 data points, and it can be seen that the data calculated by the original method using overall calculation and the data calculated by the sub-region method used in the application are completely consistent.
[0131] Figure 17 The difference between the data calculated by the original method using overall calculation and the data calculated by the sub-region method used in the application after absorbing 2 nodes and merging 1 pair of parallel inductance for the parallel-plate capacitor numerical example, and it can be seen that the difference of 625 points is all 0.
[0132] Based on this, the application further provides a microcircuit model region decomposition modeling device for executing the microcircuit model region decomposition modeling method.
[0133] The sub-region division module divides the micro equivalent circuit model of the large-scale electromagnetic problem into a plurality of sub-regions in the CPU to obtain a data matrix corresponding to the sub-regions.
[0134] The order reduction module creates an order reduction matrix corresponding to the sub-regions in the GPU, and sequentially reduces the orders of the plurality of sub-regions until the order reduction of the plurality of sub-regions is completed: the data matrix of one of the sub-regions is transmitted into the corresponding order reduction matrix for processing to realize the model order reduction of the sub-region.
[0135] The update data module generates information data to transfer the correlation between the plurality of sub-regions after the model order reduction is completed, and combines the information data to update the data matrix in the order reduction matrix of the next sub-region when the model order reduction of the next sub-region is performed, and after the update is completed, another node in the sub-region is absorbed, and the process is repeated.
[0136] The sub-region division module of the application is used to execute the above step S1, and the order reduction module and the update data module are used to execute the above step S2.
[0137] The application is regionally decomposed modeling for an industrial-grade large-scale PEEC circuit, the microscopic circuit model is divided into multiple regions suitable for the case of tight GPU memory resources, the circuit model is reduced in regions, due to the low correlation between regions, the data vector generated after the reduction of each region is used to iteratively update the data of other regions according to the number and position information of the absorbing nodes in the model reduction process, the characteristics of GPU parallel computing are used to speed up the reduction of the microscopic circuit model, the problem that the massive data of the large-scale electromagnetic field cannot be quickly reduced in the GPU with limited memory resources is solved, and the storage data matrix in the absorbing node process is optimized. On this basis, the essence of updating nodes is studied, it is found that only one data matrix is input each time, and after absorbing several nodes, information data is generated and output to transfer the correlation between data matrices, and the next data block is input for updating.
[0138] It should be noted that although several modules or units of the device for action execution are mentioned in the foregoing detailed description, such a division is not mandatory. Indeed, according to embodiments of the disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into several modules or units embodied by several modules or units.
[0139] Through the above description of the embodiments, those skilled in the art can easily understand that the example embodiments described herein can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solutions according to the embodiments of the disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes several instructions to make a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) execute the method according to the embodiments of the disclosure.
[0140] Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the aspects disclosed herein. The disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure that come within known or customary practice within the art to which the disclosure pertains.
[0141] The above is only a specific embodiment of the present application, but the design concept of the present application is not limited thereto, and any non-essential modification of the present application using this concept shall be regarded as an infringement of the protection scope of the present application.
Claims
1. A method for domain decomposition modeling of microcircuits, characterized in that, Including the following: In the CPU, the microscopic equivalent circuit model of a large-scale electromagnetic problem is divided into several sub-regions, and the data matrix corresponding to the sub-regions is obtained. In the GPU, a reduction matrix corresponding to the sub-region is created. The reduction of the sub-regions is performed sequentially until the reduction of the sub-regions is completed. The data matrix of one of the sub-regions is passed into the corresponding reduction matrix for processing to realize the model reduction of the sub-region. The data matrix in the reduction matrix is updated, and information data is generated after the model reduction of the sub-region is completed to convey the correlation between the sub-regions. When the model of the next sub-region is reduced, the data matrix in its corresponding reduction matrix is updated in combination with the information data, and so on. Based on the characteristics of the microscopic equivalent circuit model in a three-dimensional Cartesian coordinate system, the system is divided into several sub-regions. The data matrix corresponding to each sub-region includes: a coupling matrix between capacitors. The coupling matrix between the inductances of the nodes and the inductances between the nodes. The coupling matrix between the inductance at a node and the inductance between nodes. The coupling matrix between the inductors at the nodes Label mapping matrix and matrix The matrix The system stores the coupling values between the inductances of all nodes in the sub-region and the inductances on all nodes. The label mapping matrix stores the mapping relationship between the node labels before and after the sub-region is divided.
2. The method for domain decomposition modeling of microcircuits as described in claim 1, characterized in that, The micro equivalent circuit model is divided into several sub-regions. The data matrix of each sub-region also includes a label matrix. The label matrix stores the start and end labels of the nodes in each sub-region. When reducing the order of the sub-region, the corresponding data matrix of the sub-region is selected directly according to the label matrix.
3. The method for domain decomposition modeling of microcircuits as described in claim 1, characterized in that, A transition matrix is also created in the GPU to store some of the data needed for the model reduction of the sub-region, which includes: The absorption condition value of each node in the sub-region is calculated using the MIN method. The node with the smallest absorption condition value is absorbed first. Other nodes absorb this node and update all the aforementioned matrices before calculating their condition values using the MIN method. This iterative process finds the next node with the smallest absorption condition value to be absorbed. The absorption condition value... The calculation formula is as follows: ; in, This represents the self-coupling value of the newly added inductive element. This represents the self-coupling value of the original inductive element. This represents the mutual coupling value between the newly added inductor and the existing inductor. This represents the self-coupling value of the newly added capacitor element. This represents the self-coupling value of the original capacitive element. This represents the mutual coupling value between the newly added capacitor element and the existing capacitor element. This represents the maximum operating frequency of the microwave device. Each time a node is absorbed, the loop begins: First, according to the needs of each iteration, the relevant coupling data values of the node to be absorbed k and several surrounding connected nodes i are taken from the data matrix and placed in the transition matrix. middle: ; Represents the capacitor autocoupling matrix, Represents inductor autocoupling matrix, The coupling matrix represents the inductance between several nodes i and the inductance between the nodes in the sub-region. Represents the inductor autocoupling matrix at the aforementioned nodes i, This represents the inductance coupling matrix between node k and the other nodes in the sub-region.
4. The method for domain decomposition modeling of microcircuits as described in claim 3, characterized in that, For each node absorbed, the data matrix of the sub-region is compressed. Specifically, the last row and last column of the data matrix corresponding to the sub-region are moved to the data positions corresponding to the absorbed node.
5. The method for domain decomposition modeling of microcircuits as described in claim 1, characterized in that, After the model reduction in the sub-region is completed, the following information data is generated: ; ; Specifically, , , These represent the update information generated by the k-th node absorbed by the i-th sub-region, where n represents the total number of nodes i connected around node k, including coupling data between capacitors and all capacitors, mutual coupling data between inductors of nodes, and coupling data between inductors on nodes and inductors between nodes; and the update information generated by order reduction in each sub-region. Composition matrix The data matrix corresponding to all the sub-regions is updated using the matrix X, where N represents the total number of sub-regions that need to be absorbed.
6. The method for domain decomposition modeling of microcircuits as described in claim 5, characterized in that, When reducing the model order of the next sub-region, the data matrix in the corresponding reduction matrix is updated in conjunction with the information data, as follows: ; in, This is a constant during the transformation of the microcircuit model. Indicates the mutual coupling information between capacitor elements. Indicates the mutual coupling information between inductive components. This indicates the mutual coupling information between the inductance on the PpI branch and the inductance between nodes.
7. The method for domain decomposition modeling of microcircuits as described in claim 5, characterized in that: The model reduction of the sub-region includes merging parallel branches. When parallel branches are merged, all mutual impedances in the circuit need to be updated. The parallel circuit elements and related mutual couplings are listed below: The self-impedance of the parallel branch S is: ; The mutual impedance between the parallel branch S and the remaining inductance branch or other PpI branches is: in , These represent the self-coupling admittance of one of the branches of the two parallel branches, respectively. This represents the mutual coupling admittance of two parallel branches. This represents the coupling impedance between one of the two PpI branches and other ordinary branches that do not participate in merging PpI branches. This represents the coupling impedance between one branch and other PpI branches. This represents the coupling impedance between the other branch of the two parallel branches and other ordinary branches that do not participate in merging the PpI branches. This represents the coupling impedance between the other branch of a parallel branch and other PpI branches. This represents the coupling impedance between the merged two PpI branches and other ordinary branches that did not participate in the merging of the PpI branches. This represents the coupling impedance between the merged two PpI branches and other PpI branches. The mutual impedance between other PpI branches and the remaining inductance branch is: in, This indicates the self-coupling after merging other PpI branches. This indicates self-coupling before the merging of other PpI branches. This indicates the coupling between other PpI branches and ordinary branches after merging PpI branches. This indicates the coupling between other PpI branches and ordinary branches before merging PpI branches. This indicates the self-coupling of other ordinary branches after merging PpI branches. This indicates the self-coupling of other ordinary branches before merging PpI branches.
8. A microcircuit modeling domain decomposition device, characterized in that, include: The sub-region partitioning module divides the microscopic equivalent circuit model of a large-scale electromagnetic problem into several sub-regions in the CPU, and obtains the data matrix corresponding to the sub-regions. The order reduction module creates an order reduction matrix in the GPU corresponding to the sub-region, and sequentially reduces the order of several sub-regions until the order reduction of several sub-regions is completed. The data matrix of one of the sub-regions is passed into the corresponding order reduction matrix for processing to realize the model order reduction of the sub-region. The data module is updated. After the model reduction is completed, information data is generated to convey the correlation between several sub-regions. When the model of the next sub-region is reduced, the data matrix in the corresponding reduction matrix is updated in combination with the information data. After the update is completed, the nodes in another sub-region are absorbed, and so on. Based on the characteristics of the microscopic equivalent circuit model in a three-dimensional Cartesian coordinate system, the system is divided into several sub-regions. The data matrix corresponding to each sub-region includes: a coupling matrix between capacitors. The coupling matrix between the inductances of the nodes and the inductances between the nodes. The coupling matrix between the inductance at a node and the inductance between nodes. The coupling matrix between the inductors at the nodes Label mapping matrix and matrix The matrix The system stores the coupling values between the inductances of all nodes in the sub-region and the inductances on all nodes. The label mapping matrix stores the mapping relationship between the node labels before and after the sub-region is divided.
Citation Information
Patent Citations
Efficient time domain method for analyzing transient strong electromagnetic pulse response of unmanned aerial vehicle
CN111767509A
Integrated circuit order reduction method and device and medium
CN115146570A