Data visualization method based on dynamic resolution adjustment of chips under advanced technology
By adopting adaptive resolution rendering methods in the field of 3D-IC thermal analysis, dynamically adjusting image resolution and using different pixel interpolation algorithms, the problem of slow rendering of multivariate spatial data fields is solved, and faster data visualization and more efficient data analysis are achieved.
Patent Information
- Application Number
- CN202311308967.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-10
- Publication Date
- 2025-05-13
- Estimated Expiration
- 2043-10-10
AI Technical Summary
In the field of 3D-IC thermal analysis, it is difficult for the existing technology to effectively visualize large-scale multivariate spatial data fields, resulting in a significant decrease in rendering speed and unable to meet the data visualization needs of high frequency and large data volumes.
Adaptive resolution rendering method based on advanced technology is adopted to dynamically adjust the resolution according to the importance of the image area, and calculate the coordinates and values of pixel points in different regions through different pixel interpolation algorithms to optimize image display and performance.
It achieves the speed of rendering of 3D-IC thermal analysis data without reducing accuracy, improves the visualization speed and efficiency of multivariate data, and helps researchers better analyze and understand the original data.
Smart Images

Figure CN117313646B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of 3D-IC thermal analysis, and specifically is a data visualization method based on dynamic adjustment of chip resolution under advanced technology. Background Art
[0002] As chip manufacturing technology enters 3nm, integrated circuit technology has gradually approached the edge of the physical limit of Moore's Law. The advent of the post-Moore era has brought severe challenges to the semiconductor industry, and three-dimensional integrated circuit (3D-IC) technology is regarded as one of the effective technologies to continue Moore's Law. The widespread application of 3D-IC in chip design and simulation has generated more and more engineering data, and how to understand this important data has become an important part of solving problems. The substantial improvement of computer computing power and interactive performance has provided a medium for data processing and analysis.
[0003] In the field of 3D-IC thermal analysis, finite element analysis or finite volume analysis is often used to divide the chip structure. In order to speed up the calculation without reducing the accuracy, the grid is usually encrypted in the area with large temperature changes, while the grid density is reduced in other areas with stable temperature changes. Therefore, the obtained three-dimensional temperature field is usually unevenly distributed data.
[0004] At the same time, most current research focuses on the visualization of single variable fields, while multi-physics field analysis and visualization scenarios are widely used in scientific research and engineering practice. Especially with the rise of large-scale scientific and engineering computing applications, the complexity of scientific data has shown an unprecedented and explosive growth. These scientific data are not only huge in volume, but also usually contain multi-variable, time-varying and high-resolution characteristics.
[0005] At present, there are relatively few studies on the visualization of multivariable spatial data fields, while the corresponding demand is increasing. Existing technologies cannot meet the needs of high-frequency and large-volume data visualization in specific fields. As the application fields and disciplines of multivariable spatial data field problems gradually expand, more requirements for multi-physical quantity data calculation, result solution and visualization display are proposed. In addition to innovating and improving the multivariable spatial data field visualization technology itself, it is very important to study the interactive environment suitable for this presentation method.
[0006] Currently, most visualization analysis functions are oriented to general software, such as ParaView, etc., and there is a lack of a dedicated visualization analysis program for 3D-IC. For some visualization software suitable for finite volume method, when displaying data of tens or even hundreds of GB, the rendering speed has obviously reached a bottleneck while retaining a certain degree of accuracy. Summary of the invention
[0007] In response to the current explosive growth of engineering data and the significant decrease in the visualization speed of multivariate spatial data fields, this application proposes a visualization method based on adaptive resolution rendering under advanced technology, which dynamically adjusts the resolution according to the importance of the image area to achieve the goals of detail display and performance optimization.
[0008] The technical solution of this application is as follows:
[0009] The data visualization method based on dynamic resolution adjustment of chips under advanced technology includes the following steps:
[0010] Step 1: Dataset preparation and preprocessing:
[0011] Step 2: Build a model based on chip structure and power consumption:
[0012] Step 3: Calculate the coordinates of the pixel points within the resolution;
[0013] Step 4: Convert the temperature value into color information and generate texture at the same time;
[0014] Step 5: Based on the constructed model, use different pixel interpolation algorithms to calculate the coordinates of pixel points in different areas;
[0015] Step 6: Load and display the image;
[0016] Step 7: Wait for the next interactive operation and dynamically adjust the resolution based on the interactive operation.
[0017] Compared with the prior art, this application has the following advantages and beneficial effects:
[0018] In the field of 3D-IC thermal analysis, this application proposes a corresponding solution to the problem of visualizing massive data in multi-physics field coupling based on the complex structure of chip packaging, making the predicted results more accurate and the 3D graphics rendering time faster. This application can improve the visualization speed and efficiency of large-scale multivariate data and help researchers better analyze and understand the original data. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] Figure 1 is a flow chart of the method of the present invention;
[0020] Figure 2 Schematic diagram of mesh division and pixel points of the model constructed by the present invention;
[0021] Figure 3 A schematic diagram of the conversion from model coordinates to pixel coordinates constructed for the present invention;
[0022] Figure 4 It is the uml activity diagram of the present invention;
[0023] Figure 5 This is a schematic diagram of a model of an embodiment of the present invention;
[0024] Figure 6 A schematic diagram of mesh division of a model according to an embodiment of the present invention;
[0025] Figure 7 A schematic diagram of model grid classification for interpolation calculation according to an embodiment of the present invention. DETAILED DESCRIPTION
[0026] In the field of 3D-IC thermal analysis, finite element analysis or finite volume analysis is usually used to divide the chip structure, and then the temperature distribution is obtained by solving a set of equations.
[0027] The traditional three-dimensional spatial data field is a discrete data sampling set with three-dimensional spatial coordinates, which can be divided into regular or irregular grid structures. The uniform division method is simple, but under the same solution accuracy, the number of grids will be significantly more than the non-uniform division, so the solution time will also increase. In contrast, the non-uniform division method is more difficult, but it can reduce the number of grids and thus reduce the solution time without reducing the solution accuracy and fully considering the chip structure and power consumption. The principle of the two types of division methods is that in places where variables such as chip structure, material, and power consumption change suddenly, the temperature range changes greatly, and the grid needs to be encrypted to increase the solution accuracy, while in other stable places, the temperature changes smoothly, and the grid density can be appropriately reduced.
[0028] According to the above principles, during the visualization stage, computing power can be concentrated in key areas, such as areas with large structural changes, high power consumption density, and obvious temperature gradient changes, while in other areas with stable changes, computing power can be appropriately reduced.
[0029] The present invention proposes a data visualization method based on dynamic adjustment of chip resolution under advanced technology, which is suitable for visualization of large-scale multivariate data of 3D-IC.
[0030] The technical solution provided by the present application will be further described below in conjunction with specific embodiments and accompanying drawings. The advantages and features of the present application will become more apparent with the following description.
[0031] like Figure 1 As shown, the process of the data visualization method for dynamically adjusting the resolution of the chip under advanced technology of the present invention mainly includes the following steps:
[0032] Step 1: Dataset preparation and preprocessing: Input the thermal analysis results, then perform data set preparation and processing to organize discrete points into structural blocks;
[0033] Step 2: Build a model based on chip structure and power consumption: Input the chip structure file and power consumption file, build a model based on the existing information, divide the entire time and space domain into multiple categories of different importance, and assign corresponding priorities;
[0034] Step 3: Calculate the coordinates of the pixel points within the resolution;
[0035] Step 4: Convert the temperature value into color information and generate texture at the same time;
[0036] Step 5: Based on the constructed model, use different pixel interpolation algorithms to calculate the coordinates of pixel points in different areas;
[0037] Step 6: Load and display the image;
[0038] Step 7: Wait for the next interactive operation and dynamically adjust the resolution based on the interactive operation.
[0039] Step 1: Dataset preparation and preprocessing.
[0040] The raw data obtained after the thermal analysis is completed are usually three-dimensional discrete points, including the coordinates and temperature of the points, but other attributes of the points are lost. For this, it is necessary to reorganize it into effective information with attributes such as chip structure, material, and power consumption. Assume that each point contains three-dimensional space coordinates, temperature value (if it is transient, it is a sequence of temperature values), material properties, and power consumption density. At this time, it is impossible to intuitively find other points connected to a point. Even if it is found, it is only a connection in a geometric sense, and the physical structure cannot be distinguished. Therefore, the present invention reads the real physical structure of the chip at this stage, and reorganizes the points into interrelated physical blocks through the structural information of the chip. The blocks are composed of points, and the points belong to the blocks.
[0041] At this stage, the input is the original data file obtained after the thermal analysis is completed, and the output is the physical block information composed of interrelated points.
[0042] Step 2: Build a model based on chip structure and power consumption.
[0043] It is necessary to scan the valid information obtained from step 1, identify and segment multiple categories according to the grid division method, and then assign corresponding priority attributes to each category. In other words, a priority queue of regions is generated according to the importance of the regions. At present, the importance of regions is judged by the structure of the chip and the grid division method. By extension, not only the structure of the chip can be considered, but also the power consumption density and material properties of the chip can be comprehensively considered.
[0044] There is a special case here, that is, the global use of structured networks for uniform partitioning. In this case, there will be only one classification, and therefore only one priority, and the dynamic adjustment resolution algorithm degenerates to the same level as the unused chip structure and power consumption. In general, uniform partitioning is a special case of non-uniform partitioning.
[0045] Step 3: Select pixels within the initial area and calculate the coordinates of the pixels at the default resolution.
[0046] In this step, we first need to determine the required image resolution, that is, the number of pixels in width and height. Usually, the number of pixels per unit length in the image is built-in by the software (for example, 1280*960, 800*600). Then, according to the required resolution, calculate the coordinates of each pixel from left to right and from top to bottom.
[0047] Step 4. Generate texture.
[0048] In the present invention, texture is a 2D image, which contains coordinate information and color information. Taking the temperature obtained by thermal analysis as an example, since the temperature value does not contain color information, in order to produce an intuitive visual effect, the temperature value T = (t1, t2, t3...) is converted into RGB color value C (k r , k g , k b ), where k r , k g , k b They are the color values corresponding to red, green, and blue respectively.
[0049] First, calculate the maximum value t of all temperature values including time series and space max and the minimum value t min . Suppose there are N colors c i , i∈[0,n), then all temperatures can be divided into N-1 intervals, where the interval values are:
[0050]
[0051] Next, let t min Corresponding to c0, t max Corresponding to c N-1 , then there exists t i With a certain set color c i One-to-one correspondence, that is:
[0052] C(t min +i*Δ t )=c i , i∈[0,n),i∈Z
[0053] For points that do not meet the above conditions, linear interpolation is used to assign color attributes.
[0054] That is, for temperature t∈[t i , t i+1 ), k can be calculated according to the following formulas r , k g , k b :
[0055]
[0056] In summary, the color value C(k r , k g , k b ).
[0057] Step 5: Calculate the value of the pixel coordinates in step 3 using different image algorithms based on the model built in step 2.
[0058] Step 5 requires integrating all the results obtained in the first four steps and using different pixel interpolation algorithms according to the priority of the area to calculate the color value of the pixel coordinates.
[0059] Generally speaking, it is difficult to match pixel coordinates and texture coordinates one by one, so pixel interpolation or resampling algorithms are used to calculate the pixel values that do not correspond to texture coordinates.
[0060] like Figure 2 As shown in the figure, a certain point P (x, y, z) on the known model is a pixel point that needs to be displayed on the screen, but it does not belong to the known coordinate point calculated by thermal analysis based on matrix solution. Since it is within the range of the visualization space, its temperature and color values need to be obtained through pixel interpolation algorithm. That is, it is necessary to find the texture coordinates corresponding to this pixel coordinate, and then obtain the actual color value from the texture coordinates.
[0061] There are many types of image interpolation algorithms, such as nearest neighbor interpolation, bilinear interpolation, bicubic interpolation, Lanczos interpolation, bilinear interpolation, etc. Nearest neighbor interpolation is one of the simplest interpolation methods. It determines the value of the new pixel based on the value of the known pixel closest to the interpolation position. Bilinear interpolation uses the values of the surrounding 4 known pixels to perform a weighted average on the interpolation position to calculate the value of the new pixel. Bicubic interpolation is a further extension of bilinear interpolation. It uses the BiCubic basis function to calculate the weights of the surrounding 16 pixels. The value of the pixel is equal to the weighted superposition of the 16 pixels.
[0062] The above three methods can all derive the value of f(p′), where f(p′) can refer to the R, G, and B components of color C, or the temperature T, or even other variables that need to be calculated. However, different algorithms have their own advantages and disadvantages in terms of speed and accuracy. Although the nearest neighbor interpolation is faster, it may cause jagged edges on the image; bilinear interpolation considers the differences in the four pixels in the up, down, left, and right directions, and can produce smoother results; and bicubic interpolation can obtain accurate estimates by applying a cubic spline function, but it takes the longest time.
[0063] For modern CPUs, the resources consumed by these three methods are almost the same in the calculation of a single pixel. However, in the field of 3D-IC thermal analysis, it is usually necessary to perform multiple interpolation calculations on tens of millions of points. At this time, it is extremely important to reasonably allocate computer resources.
[0064] According to the model constructed in step 2, step 3 extracts several or dozens of categories from the divided grid and chip structure, and assigns each category a priority. For lower priorities, such as areas with rough division and stable temperature changes, a faster and less accurate interpolation method is used; for core areas of concern, such as areas with grid mutations and areas with high chip power consumption density, a slower but more accurate method is used.
[0065] Step 6: Load and display the image.
[0066] After steps 1-5, the coordinates and values of all pixels within the resolution have been obtained. At this time, the calculated data to be drawn is passed to the shader of OpenGL in the form of coordinates and indexes, allowing OpenGL to draw. After passing through the graphics rendering pipeline, OpenGL can display the graphics on the screen and complete the final visualization step. It should be noted that OpenGL is a cross-programming language and cross-platform programming graphics program interface. The use of OpenGL to draw images in this embodiment is only an example and not a limitation.
[0067] Step 7: Wait for user interaction and dynamically adjust the resolution based on the interaction
[0068] In addition to making innovative improvements to the multivariate spatial data field visualization technology itself, the present invention also studies an interactive environment suitable for this presentation method.
[0069] According to the needs of data analysis, if more detailed display of data is required, it will return to step 3 and repeat the above steps 3 to 6, so as to realize the step-by-step loading of massive data with multiple resolutions. When the area is enlarged to the maximum, that is, when the area of a pixel is smaller than the area of the smallest grid, it is considered that each area within the range is the object of focus, and they are given the same weight. The image interpolation algorithm with higher precision will be used to calculate the values of all pixels on the screen.
[0070] Figure 4 It is the uml activity diagram of the present invention. The activity diagram can be divided into four parts in total, namely data preprocessing, model building, texture generation, and image display.
[0071] In the data preprocessing part, firstly, the point coordinates and temperature values calculated by thermal analysis are input, and then these discrete points are combined into blocks with known surrounding structures.
[0072] In the model building part, it is necessary to input the chip structure and power consumption files, divide the chip into areas of different importance, and then assign different / same priorities to different areas, and then bind these priority areas and the blocks obtained in the preprocessing part.
[0073] In the texture generation part, the default solution is first used to calculate the temperature value corresponding to the point coordinates of the initialization area, and then the temperature value is converted into a color value. Different styles of textures will be generated depending on the type of texture (geometry / slice).
[0074] In the image display part, different algorithms will be selected according to the priority of the area. The values of the unknown points that need to be obtained in the screen canvas are calculated according to these algorithms. Then the known points and the unknown points are stored together in the structure of the picture and passed to OpenGL to realize the display of three-dimensional images.
[0075] Finally, the system waits for user interaction and further displays points that were not displayed during initialization or have low resolution based on the user's interaction.
[0076] Example
[0077] For Figure 5 The simple model shown in the figure is divided into rectangular grids to obtain the following Figure 6 The network shown. Figure 6 This is a top view of a layer divided in three dimensions. There are two types of division networks in the figure, namely the encrypted grid belonging to the inner layer (BEOL) and the ordinary grid of the outer layer (PCB).
[0078] Starting from the upper left corner, the entire network of this layer will be scanned. According to the scanning results, this layer should have the following three categories: Category 1, all pixels are in the outer grid; Category 2, all pixels are in the inner grid; Category 3, the pixel is at the junction of the inner grid and the outer grid.
[0079] Since the inner layer is the heat source, according to the principle of heat transfer, we can set the second and third categories to have higher priority, while the first category has a lower priority. And because the temperature gradient changes greatly at the interface, the third category is given the highest priority, and the second category is given the second priority.
[0080] In summary, three categories have been extracted based on the grid division method.
[0081] Then, if the coordinates of the pixel to be obtained are located in the area indicated by category 1, such as the ordinary grid area, Figure 7 Block 1 in the example will use nearest neighbor interpolation to calculate its value;
[0082] Similarly, if the coordinates of the pixel to be obtained are located in the area indicated by category 2, that is, the mesh encryption area, such as Figure 7 Block 2 in the example will use bilinear interpolation to calculate its value;
[0083] Similarly, if the coordinates of the pixel to be obtained are located in the area indicated by classification three, that is, the grid mutation area, such as Figure 7 Block 3 in will use bicubic interpolation to calculate its value.
[0084] Finally, the obtained values are passed to the vertex shader in the format of coordinates and indices to display the three-dimensional image.
[0085] The above description is only a description of the preferred embodiments of the present application, and is not intended to limit the scope of the present application. Any changes or modifications made by any person skilled in the art based on the above disclosed technical contents shall be deemed as equivalent effective embodiments and shall fall within the scope of protection of the technical solution of the present application.
Claims
1. A data visualization method based on dynamic resolution adjustment of chips under advanced technology, characterized in that: Includes steps: Step 1: Dataset preparation and preprocessing: The input thermal analysis result data is a three-dimensional discrete point, including the coordinates and temperature of the point. In this stage, the real physical structure of the chip is read in, and the points are reorganized into interrelated physical blocks through the chip's structural information. The blocks are composed of points, and the points belong to the blocks. In this stage, the input is the original data file obtained after the thermal analysis is completed, and the output is the information of the interrelated physical blocks composed of points. Step 2: Build a model based on chip structure and power consumption: Input the chip's structure file and power consumption file, build a model based on the existing information, divide the entire time and space domain into multiple categories of different importance, and assign corresponding priorities; Step 3: Calculate the coordinates of the pixel within the resolution: Step 3.1: Determine the required image resolution, i.e. the number of pixels in width and height; Step 3.2: Calculate the coordinates of each pixel from left to right and from top to bottom according to the required resolution of the image; Step 4: converting the temperature value into color information and generating texture data at the same time; The texture data includes coordinate information and color information; The temperature value Convert to color value The process includes: First, calculate the maximum value of all temperature values including time series and space and minimum value ; Assume there are N colors now , then divide all temperatures into N-1 intervals, where the interval values are: Next, let Corresponding to , correspond , then there exists With a certain set color One-to-one correspondence, that is: ; For points that do not meet the above conditions, linear interpolation is used to assign color attributes; that is, for any temperature in the interval , calculated according to the following formulas : Calculate the color value corresponding to any temperature t in the interval , Respectively represent the red, green, and blue color values; Step 5: According to the constructed model, different pixel interpolation algorithms are used to calculate the coordinates of the pixels in different areas. Step 5 needs to integrate all the results obtained in the first four steps and use different pixel interpolation algorithms to calculate the color values of the pixel coordinates according to the priority of the area. Step 6: Load and display the image; After steps 1-5, the coordinates and values of all pixels within the resolution have been obtained. At this time, the calculated data to be drawn is passed to the OpenGL shader in the form of coordinates and indices, allowing OpenGL to draw. After passing through the graphics rendering pipeline, OpenGL can display the graphics on the screen, completing the final visualization step; Step 7: Wait for the next interactive operation and dynamically adjust the image resolution based on the interactive operation.
Citation Information
Patent Citations
Infrared tracking and aiming system based on non-refrigeration type infrared detector
CN116781996A
Quality priority
US20030142875A1