Network name adaptive switching method based on intelligent PCB design

Through the intelligent PCB-designed network name adaptive switching method, the point packet algorithm and kernel density estimation method are used to automatically process the network name exchange of chip test interface boards, solving the problems of cumbersome manual operations and error-prone problems in the existing technology, and improving design efficiency and accuracy.

CN120197573AActive Publication Date: 2025-06-24BEIJING YUEXIN TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510668221.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-23
Publication Date
2025-06-24
Estimated Expiration
2045-05-23

AI Technical Summary

Technical Problem

In the chip testing industry, as the number of chip pins and the number of same-tests increases, the number of channel allocations of customized test interface boards increases exponentially, resulting in a large amount of signal layer consumption, complex routing, and difficult to achieve equal length matching. The existing technology requires a lot of manual operations and is prone to errors.

Method used

Adaptive switching method of network name based on intelligent PCB design is adopted, and adaptive switching of network names is realized through automated point grouping algorithms and kernel density estimation methods, reducing manual operation volume, and improving design efficiency and accuracy.

Benefits of technology

It greatly reduces the amount of manual operation of network name exchange during PCB design, improves design efficiency and accuracy, effectively avoids errors that are prone to manual operations, and reduces the work intensity of engineers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120197573A_ABST
    Figure CN120197573A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of PCB (Printed Circuit Board) design, and particularly discloses a network name self-adaptive switching method based on intelligent PCB design, which comprises the following steps of: finding a device of which a network name needs to be switched and a device of a fixed network name corresponding to the device, and storing the device and the device into a newly-built name file; traversing the Cline in the PCB (Printed Circuit Board); screening out the Cline, judging the attribution of the Cline in the name file, extracting basic information and storing the basic information in a temporary file; classifying data in the temporary file; judging whether the grouped data volumes are consistent or not, and generating a swap.txt file after the grouped data volumes are consistent; traversing netnames connected with all pins of the device, removing a specific type of net, and traversing the residual net; and searching the current net in the swap.txt file, and replacing the net in the schematic diagram. Through the automatic network name self-adaptive switching method, the design efficiency and accuracy are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of PCB design, and particularly to a network name adaptive exchange method based on intelligent PCB design. Background Art

[0002] In the chip testing industry, with the increase in the number of chip pins and the number of chips tested simultaneously, when customizing a test interface board for a chip, the number of channel allocations increases exponentially. If thousands of channels of numerous chips to be tested are directly connected point-to-point on the same board, it will consume a large number of signal layers, and the wiring is complex, making it difficult to achieve equal-length matching. Currently, the common practice is to pull the signal lines coming out from the DUT (device under test) end and the connector end to a close position, manually input the signal network names of the different-side wirings in a table, and then change them one by one in the schematic diagram. During the change process, errors need to be continuously checked. After that, the updated schematic diagram is imported into the board, and finally, it is checked in the board whether the wirings can be directly connected. Although some engineers will write scripts to simplify some steps, a large amount of manual operation is still required. Summary of the Invention

[0003] The purpose of the present invention is to provide a network name adaptive exchange method based on intelligent PCB design, to achieve the adaptive exchange of network names during the PCB design process and improve the degree of intelligence of the design.

[0004] The purpose of the present invention can be achieved by the following technical solutions: A network name adaptive exchange method based on intelligent PCB design includes the following steps: Open the Top layer and Bottom layer of the board according to the path where the board is located, find the devices whose network names need to be exchanged and the devices with corresponding fixed network names, and store the names of the devices in a newly created name file respectively; Obtain the PCB schematic diagram, and traverse the Conductor layer in the PCB and traverse the Cline in the Conductor layer; Screen out the qualified Cline according to the endpoint situation of the Cline; Find the corresponding symbol according to the via connected to one end of the screened Cline, judge its attribution in the name file, and extract the basic information of the corresponding Cline and store it in the corresponding temporary file respectively; Classify the data in the temporary file according to the direction of the clinesegment with the same layer and empty endpoints; Process the classified data by using the point grouping algorithm, judge whether the amount of grouped data is consistent, perform adaptive optimization calculation when it is inconsistent, and generate a swap.txt file after it is consistent; Find the corresponding device in the PCB schematic according to the device name in the temporary file, traverse the netnames connected to all pins of the device, remove the nets of specific types, and then traverse the remaining nets. Find the current net in the swap.txt file. If found, replace the net in the schematic with the net corresponding to the second column in swap.txt.

[0005] As a further solution of the present invention: before creating the name file, it is necessary to determine whether there is a file with the same name in the path where the board is located. If so, delete this file and create a new one; and the file path is the same as the board path.

[0006] As a further solution of the present invention: before performing the operations of opening the Top layer and Bottom layer of the board, it also includes: Pull out the lines in the two devices whose network names need to be swapped, and the outgoing line directions are 0°, 45°, or 90°.

[0007] As a further solution of the present invention: the point grouping algorithm includes: Obtain the coordinate values of the Cline segment with an arbitrary outgoing line direction from the temporary file, project them onto the x-axis to obtain discrete data; Adopt the kernel density estimation method, select the Gaussian kernel function to process the discrete data, and estimate the probability density function of the data; Define the domain diameter according to the two adjacent lowest points in the approximate graph of the kernel density estimation function, define the domain center according to the center of the domain diameter, and classify the discrete data by domain; Sort the domain classifications in different categories in the x-axis direction, and then sort the data in each domain classification in the y-axis direction; Judge whether the corresponding grouped data amounts obtained from different temporary files are consistent. When they are inconsistent, adjust the domain diameter and reclassify until the data amounts are consistent.

[0008] As a further solution of the present invention: the bandwidth value in the kernel density estimation is 1mm.

[0009] As a further solution of the present invention: the formula of the Gaussian kernel function is as follows: ; ; Among them, K(x) represents the Gaussian kernel function, represents the probability density function, n represents the sample size, h represents the bandwidth, and x i represents the abscissa of the i-th data within the bandwidth h.

[0010] Advantages of the present invention: Through the automated network name adaptive exchange method of the present invention, the manual operation amount of network name exchange in the PCB design process is greatly reduced, and the design efficiency and accuracy are improved. Compared with the prior art, the present invention utilizes the combination of programming software and an adaptive algorithm to realize an automated process from board data extraction, processing to schematic network name exchange, effectively avoiding errors prone to manual operation, reducing the work intensity of engineers, and providing a more efficient and intelligent solution for the PCB design of the chip test interface board. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The present invention will be further described below with reference to the accompanying drawings.

[0012] Figure 1 is an example diagram of the outgoing lines of U1 and J1 in an embodiment of the present invention; Figure 2 is an example diagram of the completion of network name exchange between U1 and J1 in an embodiment of the present invention; Figure 3 is the execution flow chart of the extraction program of necessary files in the board in an embodiment of the present invention; Figure 4 is the processing flow chart of the output file in an embodiment of the present invention; Figure 5 is the schematic diagram and subsequent processing flow chart in an embodiment of the present invention; Figure 6 is a partial schematic diagram of the Temp_swap_cline_i.txt file in an embodiment of the present invention; Figure 7 is an approximate reference graph of the kernel density estimation function in an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0013] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0014] Please refer to Figure 1 shown, the present invention is a network name adaptive exchange method based on intelligent PCB design, including the following steps: Before performing board operations, pull out the lines in the two devices where the network names need to be exchanged, such as Figure 1As shown, for the outgoing lines from, for example, U1 to J1, all the outgoing lines pulled out from U1 on the left correspond one by one to the outgoing lines pulled out from J1 on the right, but their network names are not exactly the same. Of course, here only the examples of U1 and J1 are given, and all the devices in the board that require swapping network names need to have their outgoing lines done like U1 and J1.

[0015] After completing the above-mentioned outgoing lines, start the board operation. And before performing the board operation, the schematic diagram and the board path need to be provided. After opening the board, click on the devices that need to swap network names and the devices corresponding to the fixed network names of these devices. As Figure 1 shown, if the network name in device U1 needs to be updated to the network name in device J1, then after clicking U1, end the command and then click J1. Through the adaptive algorithm, the network name swapping and reallocation into the board are completed to achieve the one-to-one correspondence relationship of network names as Figure 2 shown.

[0016] Preparations in advance: Since the program cannot achieve automatic wiring, the lines in the two devices at both ends that need to swap network names need to be pulled out. As Figure 1 shown is the example of the outgoing lines of U1 and J1. The other outgoing lines in the board also need to be done like this under the condition of meeting the rules. According to the general wiring rules in the board, it should be noted that there are only three possible directions for the outgoing lines, which are 0°, 45°, or 90°. For the net that needs to go in an arc line, it can first use a straight line for wiring, and then use the corresponding tool to update it to an arc line after all the wiring is completed.

[0017] Extraction of necessary files in the board: 1. Obtain input information: Obtain the PCB schematic diagram and the path where the board is located; According to the path where the board is located, open the Top and Bottom layers of the board and find the devices that need to swap network names. The software will store the device names in the newly created "Temp_swap_name.txt" file, and the file path is the same as the board path. Before creating the file, it is necessary to judge whether there is a file with the same name in the board path. If it exists, delete this file and then create a new one; Obtain the devices corresponding to the fixed network names of the above-mentioned devices. The software will store the device names in the newly created "Temp_fix_name.txt" file, and the file path is the same as the board path. Before creating the file, it is necessary to judge whether there is a file with the same name in the board path. If it exists, delete this file and then create a new one; As Figure 1 shown, U1 is the device that needs to swap network names, and J1 is the device corresponding to the fixed network name of U1.

[0018] 2. Find the Conductor layer: There are two different types of layers in the PCB, namely the Plane layer and the Conductor layer. Generally, the Plane layer is used for large-area copper plating, such as Ground signals, and the copper in these layers accounts for a relatively high proportion; the Conductor layer is used for signal routing, such as digital and analog signals, and the copper in these layers accounts for a relatively low proportion.

[0019] Find the types of different layers, record all Conductor layers as n, and start traversing these Conductor layers from i = 1.

[0020] 3. Find the Cline in the Conductor layer (the signal line in the PCB is Cline, and the non-signal line is Line); Find all Cline in the i-th Conductor and traverse all Cline in the i-th Conductor layer.

[0021] 4. Judge the endpoint situation of the Cline: The signal line connection in the board is from one or more holes to one or more holes at the other end. For digital signals, in most cases, it is hole-to-hole connection in the inner layer. For power signals, in most cases, it is to cover all the holes to be connected with copper skin. For the Cline that needs to exchange network names, according to Figure 1 the requirements, it only needs to be connected from one hole, and the other end can be temporarily suspended.

[0022] Judge the connection situation at both ends of all Cline in the current layer: If the number of endpoints is greater than 2, directly ignore it; If the number of endpoints is equal to 2 and there are vias at both ends, it is a Cline that has been connected, directly ignore it; if both ends are nil (null value), it is a dangling line (extra line), directly delete this Cline; if one end is a via and the other end is nil, find the Cline that is suspected to need to have its network name exchanged.

[0023] 5. Judge the ownership of the Cline: According to the Cline that is suspected to need to have its network name exchanged found in step 4), find out which symbol the via fanned out by this via is through the via connected to one end of it, and then judge whether this symbol is in the "Temp_swap_name.txt" or "Temp_fix_name.txt" file according to the input information provided in step 1).

[0024] If it is in the "Temp_swap_name.txt" file, extract the basic information of this Cline and store it in the temporary file Temp_swap_cline_i.txt. The information required is: net_name; the coordinate points (X s , Y s ) where the endpoints are null; the direction of the Cline segment with null endpoints; If it is in the "Temp_fix_name.txt" file, extract the basic information of this Cline and store it in the temporary file Temp_fix_Cline_i.txt. The information required is: net_name (network name); the coordinate points (X f , Y f ) where the endpoints are null; the direction of the Cline segment with null endpoints; If this symbol cannot be found in either the "Temp_swap_name.txt" or "Temp_fix_name.txt" file, ignore this Cline and do not extract any information.

[0025] 6. Output file check: After traversing all Clines and layers, perform a line-by-line data comparison on the two output files Temp_swap_Cline_i.txt and Temp_fix_Cline_i.txt. If the number of lines of data in the same layer is the same for both files, it means that the number of outgoing lines at both ends of the nets that need to be swapped in this layer is consistent, and the output files are correct. If there are differences in the data, pop up an error message for the corresponding net with errors, prompting the user to check the outgoing lines in the corresponding layer.

[0026] Processing of the output files in the board: 1. Output data classification: Traverse the files Temp_swap_Cline_i.txt and Temp_fix_Cline_i.txt according to the same layer i, and classify the data according to the direction of the Cline segment with null endpoints.

[0027] If the direction is 45°, then obtain p coordinate quantities, from A1 to Ap; If the direction is 0°, then obtain q coordinate quantities, from B1 to Bq; If the direction is 90°, then obtain r coordinate quantities, from C1 to Cr.

[0028] Data processing: We know that all coordinates are distributed in a two-dimensional rectangular coordinate system. For the outgoing lines with a direction of 0° or 90°, their abscissas or ordinates are similar or the same. If we rotate the entire coordinate axis by 45°, we can also simplify the coordinates with a direction of 45°. Therefore, the data processing methods used in these three classifications are the same, except for the corresponding angles. Here, we only describe the data with a direction of 0° as an example, and the data with 90° and 45° are processed with reference to the data of 0°.

[0029] Use the point grouping algorithm to divide q coordinates in the 0° data into b coordinate groups according to the probability density, and sort the groups according to the merge sort. The groups obtained from the Temp_swap_Cline_i.txt file are named SB1~SBb, and the groups obtained from the Temp_fix_Cline_i.txt file are named FB1~FBb. Judge whether the data volumes in SBj and FBj are the same (j refers to a certain group). If they are not the same, an adaptive optimization calculation between the problem groups needs to be performed according to the feedback value; after the data is the same, generate a swap.txt file, and output the net_name in SX1~SXx and FX1~FXx to this file in groups and in order to form two columns of data, with the headers swap net name and fixnet name (X refers to A, B, or C, that is, the data in the above 45°, 0°, or 90° groups). Schematic diagram and subsequent processing: 1. Search for network names in the device: Find the corresponding devices in the schematic diagram file according to the device names in Temp_swap_name.txt, and traverse these devices. Search for the net name connected to all pins of the device, remove power, ground, and dummy nets, and traverse these nets.

[0030] 2. Network name exchange: Judge whether this net can be found in swap.txt. If it cannot be found, ignore this net. If it is found, replace the net in the schematic diagram with the corresponding net in the second column of swap.txt. After traversing all nets and symbols, all the network names that need to be exchanged will be exchanged, and the schematic diagram processing is completed.

[0031] 3. Subsequent processing: After the network name exchange in the schematic diagram is completed, you can use the file recording the script provided by the software to record a script program for guiding the board. After executing this script program, a latest board will be obtained according to the latest schematic diagram data.

[0032] Point grouping algorithm: 1. Data distribution characteristics The data obtained from the board is described with the angle of the Cline segment being 0°. Figure 6 It is a schematic diagram of the local Cline segment in the Temp_swap_cline_i.txt file. The part within the box represents the part where the endpoints are null values, that is, the corresponding position at the other end after leading out from the symbol.

[0033] We know that the directions of these lines are 0°, so when modeling, we can ignore these lines and only consider the endpoint coordinates. In addition, since we need to group and classify them along the x-axis, we can also ignore the influence brought by the y-axis. We only need to project each endpoint coordinate onto the x-axis and then perform data processing. After they are classified, we sort different categories in the x-axis direction to prevent the confusion of the category correspondence relationships in the two files.

[0034] However, after the category sorting, we cannot sort the data within each category along the x-axis because there may be overlaps, or the order may not be sorted correctly due to the wire routing. So within each category, we will sort in the y-axis direction so that the data in the same category in Temp_swap_Cline_i.txt and Temp_fix_Cline_i.txt can have the correct correspondence relationship.

[0035] To sum up, we can easily find that during the entire modeling process, both projection and sorting are relatively simple. The difficult point lies in classifying the discrete data projected onto the x-axis according to the relationship of the probability distribution. Below we will use the following algorithm to solve this difficulty.

[0036] 2. Algorithm implementation: 1) Obtain discrete data: Obtain the coordinate values with the Cline segment angle of 0° from the Temp_swap_Cline_i.txt file, and project all coordinates onto the x-axis to obtain a set of discrete data.

[0037] Kernel density estimation (KDE) is a non-parametric method used to estimate the probability density function of data. KDE is based on a kernel function and, with a certain bandwidth parameter, estimates the probability density of data points by weighted averaging of the kernel functions near each data point, that is, making inferences about the population based on a finite data sample.

[0038] The kernel function usually selects the Gaussian kernel, which is one of the most commonly used kernel functions in KDE. The formula of the Gaussian kernel function is as follows: ; ; K(x): Gaussian kernel function; : Probability density function. According to the degree of data aggregation, the y value is large for high aggregation and small for low aggregation, and 0 for no aggregation.

[0039] n: Sample size; h: Bandwidth is an important parameter. The choice of bandwidth will affect the smoothness and sensitivity of the estimation. A larger bandwidth will result in a smooth estimation result but may mask details. A smaller bandwidth will result in a more refined estimation result but may introduce noise and overfitting. We will choose different bandwidths according to different data. According to experience, we define this value as 1mm; x i : Represents the abscissa of the i-th data within the bandwidth h.

[0040] 3) Domain classification: As Figure 7 shown is a reference graph approximated by a kernel density estimation function. There are high points and low points in the graph. High points indicate a large concentration of data points here, and low points indicate a small concentration of data here.

[0041] We define the domain diameter according to two adjacent lowest points, define the domain center according to the center of the domain diameter, and classify these discrete data according to different domains.

[0042] 4) Data sorting: Sort the different domain classifications obtained in different categories according to the x-axis direction, and then sort the data in the domain classification according to the y-axis direction. The groups obtained from the Temp_swap_Cline_i.txt file are named SB1~SBb, and the groups obtained from the Temp_fix_Cline_i.txt file are named FB1~FBb.

[0043] 5) Domain adaptive adjustment: Judge whether the data volumes in SBj and FBj are the same (j refers to a certain group). If they are the same, generate a swap.txt file, and output the net_name in SX1~SXx and FX1~FXx to this file in groups and in order to form two columns of data, with the table headers being swapnet name and fix net name.

[0044] If they are inconsistent, based on the data volume of both sides, return to the domain group with the smaller data volume, expand the domain diameter of this domain group, shrink the domain diameters of the two adjacent domain groups, and reclassify these discrete data for domain classification until the data volumes in SBj and FBj are consistent. Since data judgment has been performed during the data output process, the total data volumes in the two files are consistent. By using this method of adaptively adjusting the domain diameter, the correct domain grouping can be effectively obtained.

[0045] The above has described an embodiment of the present invention in detail, but the described content is only a preferred embodiment of the present invention and cannot be considered as limiting the scope of implementation of the present invention. All equivalent changes and improvements made according to the scope of the present invention application shall still fall within the scope covered by the patent of the present invention.

Claims

1. A network name adaptive switching method based on intelligent PCB design, characterized in that, It includes the following steps: Open the Top layer and Bottom layer of the board according to the path where the board is located, find the devices whose network names need to be exchanged and the devices with corresponding fixed network names, and store the names of the devices into a newly created name file respectively; Obtain the PCB schematic diagram, traverse the Conductor layer in the PCB and traverse the Cline in the Conductor layer; Filter out the qualified Cline according to the endpoint conditions of the Cline; Find the corresponding symbol according to the via connected to one end of the filtered Cline, judge its belonging in the name file, and extract the basic information of the corresponding Cline and store it into the corresponding temporary file respectively; Classify the data in the temporary file according to the Cline segment direction of the same layer and the endpoints being null values; Use the point grouping algorithm to process the classified data, judge whether the grouped data volumes are consistent, perform adaptive optimization calculation when they are inconsistent, and generate the swap.txt file after they are consistent; Find the corresponding device in the PCB schematic diagram according to the device name in the temporary file, traverse the net_name connected to all pins of the device, remove the nets of specific types and then traverse the remaining nets; Find the current net in the swap.txt file, and if found, replace the net in the schematic diagram with the net corresponding to the second column in the swap.txt; 2. The network name adaptive switching method based on intelligent PCB design according to claim 1, characterized in that Before creating the name file, it is necessary to judge whether there is a file with the same name in the path where the board is located. If so, delete this file and create a new one; and the file path is the same as the board path.

3. A network name adaptive switching method based on intelligent PCB design according to claim 1, characterized in that, Before performing the operation of opening the Top layer and Bottom layer of the board, it also includes: Pull out the lines in the two devices whose network names need to be exchanged, and the outgoing line direction is 0°, 45° or 90°; 4. A network name adaptive switching method based on intelligent PCB design according to claim 3, characterized in that The point grouping algorithm includes: Obtain the coordinate values of the Cline segment with an arbitrary outgoing line direction from the temporary file, project them onto the x-axis to obtain discrete data; Adopt the kernel density estimation method, select the Gaussian kernel function to process the discrete data, and estimate the probability density function of the data; Define the domain diameter according to the adjacent two lowest points in the approximate graph of the kernel density estimation function, define the domain center according to the center of the domain diameter, and classify the discrete data by domain; Sort the domain classifications in different categories in the x-axis direction, and then sort the data in each domain classification in the y-axis direction; Judge whether the corresponding grouped data volumes obtained from different temporary files are consistent. When they are inconsistent, adjust the domain diameter and reclassify until the data volumes are consistent.

5. A network name adaptive switching method based on intelligent PCB design according to claim 4, characterized in that, The bandwidth value in the kernel density estimation is 1mm.

6. A network name adaptive switching method based on intelligent PCB design according to claim 4, characterized in that, The formula of the Gaussian kernel function is as follows: ; ; where \(K(x)\) represents the Gaussian kernel function, represents the probability density function, \(n\) represents the sample size, \(h\) represents the bandwidth, and \(x\) i represents the abscissa of the \(i\)-th data within the bandwidth \(h\).

Citation Information

Patent Citations

  • Chip pin exchanging method for circuit diagram design

    CN104200011A

  • PCB and IC packaging collaborative design method and device

    CN108038274A

  • Large-scale schematic diagram checking method and system

    CN114282491A

  • Chip pin processing method and device, storage medium and electronic equipment

    CN119903805A

  • Check support apparatus, method, and computer product

    US20080141194A1