Device for automatically extracting impedance information
By designing a device that automatically extracts impedance information, the problem of time-consuming and error-prone traditional manual operations is solved, and the automatic impedance information extraction in PCB design is realized, improving efficiency and accuracy.
Patent Information
- Application Number
- CN202411977510.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-06
AI Technical Summary
In traditional PCB design, the extraction and recording of impedance information relies on manual operations, which consumes time and effort, and has a high error rate, which affects the progress and correctness of subsequent PCB debugging.
Design a device that automatically extracts impedance information. By setting up an impedance information extraction window, reading the PCB design file and obtaining impedance extraction rules, traversing the trace impedance information in the design file according to the selected rules, automatically creating single-ended and differential impedance variables, and listing them in the table.
It realizes automatic extraction of impedance information in PCB design, reduces manual filling errors, improves work efficiency, and ensures that the impedance information is synchronized with PCB design data.
Smart Images

Figure CN119946989A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of PCB design, and more particularly to a device for automatically extracting impedance information. Background Art
[0002] Printed Circuit Board (PCB) is the support for electronic components and also the carrier for the electrical connection of electronic components. The printed circuit board is etched with circuit patterns (i.e. conductive tracks and lines) on an insulating substrate and contains multiple layers of conductive layers to achieve electrical connection and signal transmission between electronic components.
[0003] In the field of modern electronic manufacturing, the design and processing of printed circuit boards are key links in the manufacture of electronic products. As electronic equipment develops towards high speed and high performance, signal integrity and electromagnetic compatibility on PCBs become particularly important. Among them, impedance control is one of the core elements to ensure signal integrity, especially in high-speed digital circuits and radio frequency (RF) applications.
[0004] In the current traditional PCB design process, when the PCB design is completed and the printed board needs to be processed, the impedance information in the PCB design needs to be extracted. This impedance information plays a vital role in whether the subsequent PCB can be debugged normally. In traditional technology, the extraction and recording of impedance information often rely on manual operation. This process is time-consuming and labor-intensive, especially for PCB design projects with a large number of layers. It takes a lot of time to fill in and check, and the error rate is high in the process, which directly affects the progress and correctness of subsequent PCB debugging. Summary of the invention
[0005] In order to solve the problem of manually extracting impedance information in PCB design, the present invention provides a device for automatically extracting impedance information.
[0006] The technical solution of the present invention is as follows:
[0007] A device for automatically extracting impedance information,
[0008] The impedance information extraction device sets an impedance information extraction window,
[0009] The impedance information extraction device reads the current PCB design file and obtains the impedance extraction rules. The impedance extraction rules are displayed in the impedance information extraction window.
[0010] The impedance information extraction device traverses the routing impedance information in the PCB design file according to the selected impedance extraction rule, creates single-ended impedance variables and differential impedance variables with the impedance information that meets the selected impedance extraction rule, and lists the single-ended impedance variables and differential impedance variables in the impedance information table of the impedance information extraction window.
[0011] In the above-mentioned device for automatically extracting impedance information, the impedance information table includes a single-ended impedance table and a differential impedance table. The single-ended impedance table records the impedance information of a single impedance line, and the differential impedance table records the impedance information of a differential pair.
[0012] In the above-mentioned device for automatically extracting impedance information, the impedance extraction rule table is a table control, the impedance extraction rule table sets column local variables and row local variables, and after setting the attributes and data formats of the column local variables and row local variables respectively, the column local variables and row local variables are imported into the impedance information table respectively, so that the impedance information table displays the contents of the column local variables and row local variables.
[0013] Furthermore, the process of setting each column of the impedance extraction rule table includes
[0014] Step A1. Set column local variables and assign values to column local variables;
[0015] Step A2. Set the properties of the column local variables;
[0016] Step A3. Set the data format of the column local variable;
[0017] Step A4. Insert the column local variable created in step A1 into the corresponding position of the table control in the impedance information extraction window.
[0018] Furthermore, the process of setting each row of the impedance extraction rule table includes all the following steps;
[0019] Step B1. Set row local variables, which include row number variables and row data variables;
[0020] Step B2. Establish a connection between the row data variable and the physical connection network, and set the acquired data of the physical connection network to be stored in the row data variable;
[0021] Step B3. Set the row content matching expression;
[0022] Step B4. Set the initial value of the row number variable to 1;
[0023] Step B5. Import the data that matches the row content matching expression into the row data variable, insert a row into the table control, import the row data variable that matches the row content matching expression into the table control, and increment the row number variable by 1;
[0024] Step B6: traverse the physical connection network and loop the content of step B5.
[0025] Furthermore, in step B5, including
[0026] Step T1. Set the impedance value matching expression with numbers 0-9;
[0027] Step T2. According to the impedance value matching expression of step T1, match whether the package information name contains numbers. If it contains numbers, go to step T3-1; if it does not contain numbers, go to step T3-2.
[0028] Step T3-1. Display the matched number as the impedance value in the table control, and convert the matched number into an integer. If the number is less than or equal to the preset value, it is set as single-ended impedance, and the impedance type is displayed as "SINGLE". If the number is greater than the preset value, it is set as differential impedance, and the impedance type is displayed as "DIFF".
[0029] Step T3-2. If the package information name is a default character, the default impedance value is displayed in the impedance value column, and "SINGLE" is displayed in the impedance type column. If the package information name is not a default character, a zero value is displayed in the impedance value column.
[0030] The above-mentioned device for automatically extracting impedance information, the action of the single-ended impedance variable or the differential impedance variable includes the following contents;
[0031] Step P1. Set the row local variable and assign the initial value of the row local variable to 1;
[0032] Step P2. Insert the impedance value, layer name, trace width, tolerance, default value or remark, and null value corresponding to the single-ended impedance variable or the differential impedance variable one by one in the row corresponding to the row local variable of the single-ended impedance table or the differential impedance table according to the column;
[0033] Step P3. Set the event processing of the single-ended impedance table or the differential impedance table, including cell selection, cell change and right-click pop-up menu events;
[0034] Step P4. The number of row local variables increases by 1 and the row number is updated;
[0035] Step P5. Traverse the physical connection network and repeat steps P2 to P4.
[0036] The above-mentioned device for automatically extracting impedance information, the impedance information extraction device sets a blank list, and when traversing the physical connection network of the current PCB design, the single-ended impedance variable and the differential impedance variable are respectively actuated, and the action process of the single-ended impedance variable and the differential impedance variable is added to the blank list to form an impedance information list. The impedance information extraction device traverses each element in the impedance information list and fills in text in the impedance information table according to each element.
[0037] In the above-mentioned device for automatically extracting impedance information, the impedance information extraction device sets a data modification control, obtains information of the data modification control, and replaces content data in the impedance information table corresponding to the information of the data modification control.
[0038] The above-mentioned device for automatically extracting impedance information draws a table according to the information content of the completed impedance information table, constructs a new result list, and saves the result list in .brd format.
[0039] According to the present invention of the above scheme, its beneficial effect is that the impedance information extraction device of the present invention can automatically extract the impedance information on the PCB design and automatically create an impedance information table to avoid a series of errors caused by manual filling, and the impedance information extraction device has an intuitive user interface, allowing users to easily view, edit and manage impedance information. Since the impedance information extraction device extracts the information of the PCB design in real time and generates a table, the data in the impedance information table can be synchronized with the PCB design data, and any design changes can be reflected in the impedance information table in real time. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0041] Figure 1 Schematic diagram of the interface structure of the impedance information extraction device.
[0042] Figure 2 This is a schematic diagram of the interface structure of the impedance information table. DETAILED DESCRIPTION
[0043] In order to make the technical problems, technical solutions and beneficial effects to be solved by the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0044] A device for automatically extracting impedance information, wherein the impedance information extraction device sets an impedance information extraction window, reads a current PCB design file and obtains an impedance extraction rule, the impedance extraction rule is displayed in the impedance information extraction window, and traverses the routing impedance information in the PCB design file according to the selected impedance extraction rule, creates a single-ended impedance variable and a differential impedance variable with the impedance information that meets the selected impedance extraction rule, and lists the single-ended impedance variable and the differential impedance variable in an impedance information table in the impedance information extraction window.
[0045] The creation process of the impedance information extraction device includes the creation of an impedance information extraction window, and the content of the impedance information extraction window includes an impedance information table, a display of the impedance information table, and an operation control. Figure 1 As shown, the content displayed in the impedance information table is a display of the impedance extraction rules, and the display parameters include the impedance line name, impedance value, type, etc. The operation controls include "Add Table", "Place Table" and "Help" buttons. The function of "Add Table" is a trigger for the impedance information extraction device to extract impedance according to the impedance rules, the function of "Place Table" is a trigger for table export, and the function of "Help" is a trigger for eliciting the operation guide of this impedance information extraction device. The impedance information table is a display area for the impedance information extracted by the impedance information extraction device according to the impedance rules, wherein there are two impedance information tables, namely a single-ended impedance table and a differential impedance table. The single-ended impedance table displays the impedance information of a single impedance line, and the differential impedance table displays the impedance information of a differential pair.
[0046] The creation process of the impedance information extraction device calls the ITAFormCreate function to create the form of the impedance information extraction window, uses the axlFormCreate function to create a form instance, uses the ITAFromInitCol function to define and initialize the controls inside the window, that is, the table controls, which organize and display data in the form of rows and columns, uses the axlFormCreate function to create operation controls, sets the text size through the ITASetTextSize function, and sets the text color through the axlFormColorize function.
[0047] The impedance information extraction device defines the ITAFromInitCol function to set the column content of the table control in the impedance information extraction window and determine the content of each column in the table control. Among them, the content of each column in the table includes setting the format of the table (including width, alignment, etc.), data type (including string, real number, enumeration, etc.), data content (that is, setting the data source of the column content or what the corresponding column title is), and connection relationship (that is, the association between the table control and other event programs, such as the association with "Add Table", the display association when "Add Table" is triggered, etc.). Specifically, the process of setting each column of the table includes all the steps below.
[0048] Step A1. Set the column local variable. Use the make_formGridCol function to create a new variable object and assign the column local variable a value.
[0049] Step A2. Set the properties of the column local variable, including field type (ie, data storage format), column width, alignment, column title (ie, header text of each column), and whether it is a drop-down table.
[0050] Step A3. Set the data format of the column local variable, including the minimum value, maximum value, decimal places, etc. of the column data.
[0051] Step A4. Insert the column local variable created in step A1 into the corresponding position of the table control in the impedance information extraction window through the axlFormGridInsertCol function (equivalent to the table control being an empty shell, creating a variable through the function, and then importing the variable into the empty shell table control, so that the table control has content, and the content changes with the variable).
[0052] The impedance information extraction device defines the ITAFormInitRow function to set the row content of the table control in the impedance information extraction window and determine the content of each row in the table control. Among them, the content of each row in the table includes establishing the relationship between each row and the physical connection network (because the row content is taken from the PCB design file, it is the main content of filling the table control, so it is necessary to establish an association with the physical connection network of the current PCB design), the expression of the impedance information extraction rule (used to match the content of the physical connection network), and the conditional judgment of the input content (after setting the expression, the expression needs to be used as a standard to judge whether the relevant data can be obtained). Specifically, the process of setting each row of the table includes all the steps below.
[0053] Step B1. Set row local variables, which include row number variables and row data variables, wherein the row number variable (rowNum) is used to record the row number, and the row data variable (PhysicalCnsList) is associated with the content of the physical connection network.
[0054] Step B2. Establish a connection between the row data variable and the physical connection network, call the axlCnsList function to obtain the content of the physical connection network in the current PCB design, and set it to be stored in the row data variable.
[0055] Step B3. Set a row content matching expression for matching electronic component names (i.e., a regular expression, which actually matches whether the name contains the required name characters. In the present invention, the matching character content is "POWER" and "PWR").
[0056] Step B4. Set the initial value of the row number variable to 1, indicating that the number of the first row displayed in the table control is "1".
[0057] Step B5. Import the data that matches the row content matching expression into the row data variable, insert a row into the table control, import the row data variable that matches the row content matching expression into the table control, and increment the row number variable by 1.
[0058] Step B6: traverse the physical connection network and loop the content of step B5.
[0059] Further, in step B6, the impedance information extraction device adds row data related to impedance rule matching in the table control by defining the ITAimpedanceMatchAddRow function, processes the numbers extracted from the package name of the physical connection network, and determines the impedance value and impedance type (single-ended impedance or differential impedance) based on these numbers. Specifically, step B5 includes the following content.
[0060] Step T1. Set an impedance value matching expression with numbers 0-9. The impedance value matching expression is essentially a regular expression used to match numbers in the package information name.
[0061] Step T2. According to the impedance value matching expression of step T1, match whether the package information name contains numbers. If it contains numbers, go to step T3-1; if it does not contain numbers, go to step T3-2.
[0062] Step T3-1. Use the matched number as the data in the second column, that is, display it as the impedance value in the table control, and convert the number to an integer (using the rounding method for conversion). If the number is less than or equal to 65, it is set to single-ended impedance, and the impedance type in the third column is displayed as "SINGLE". If the number is greater than 65, it is set to differential impedance, and the impedance type in the third column is displayed as "DIFF".
[0063] Step T3-2. If the package information name is the default character, the default impedance value is displayed in the second column representing the impedance value, and "SINGLE" is displayed in the second column representing the impedance type. If the package information name is not the default character, a zero value is displayed in the second column representing the impedance value.
[0064] In the present invention, an impedance with an impedance value less than 65 ohms is set as a single-ended impedance by default, and an impedance with an impedance value greater than 65 ohms is set as a differential impedance by default.
[0065] In the present invention, the default character of the package information name is "DEFAULT", the default impedance value is 50 ohms, and the representation of the zero value is "0.0".
[0066] According to the above content, steps B1 to B6 are to complete the filling of the impedance extraction rule table, by matching the name characters containing "POWER" and "PWR", that is, the internal packages with network names of "POWER" and "PWR", all are extracted as impedances, and their names are displayed in the first column of the impedance extraction rule table. The specific content of step B5, steps T1-T3 (including step T3-1 and step T3-2), is to disassemble the package information name, match the impedance value data and impedance type one by one, so as to complete the extraction of impedance rules.
[0067] After completing the above impedance rule extraction, the impedance information extraction device defines the ITAFormAction function to match the data in the impedance information table. After the impedance rules are extracted, the user selects any one of the impedance rules and clicks the "Add Table" button. ITAFormAction traverses the physical connection network, matches the impedance that meets the impedance rule, and extracts the attribute information of the corresponding impedance.
[0068] In this process, a single-ended impedance variable and a differential impedance variable are established, and two table controls (i.e., impedance information tables) are respectively made to correspond to these two variables. The content of the single-ended impedance variable and the differential impedance variable is the same, but the operation, or the table (position) where the data is filled and inserted is different. Specifically, the actions of these two variables include the following.
[0069] The operation of single-ended impedance variable includes the following.
[0070] Step C1. Set the row local variable rowNum50 (i.e., the row number variable) and assign the row local variable an initial value of 1.
[0071] Step C2. Insert the impedance value, layer name, trace width, tolerance, default value or remark, and null value corresponding to the single-ended impedance variable one by one in the row corresponding to the row local variable of the single-ended impedance table according to the column.
[0072] Step C3. Set the event processing of the single-ended impedance table, including cell selection, cell change, and right-click pop-up menu events.
[0073] Step C4: The number of row local variables is increased by 1 and the row number is updated.
[0074] Step C5: traverse the physical connection network and repeat steps C2 to C4.
[0075] Likewise, the operation of the differential impedance variable includes the following.
[0076] Step D1. Set the row local variable rowNum100 (ie, the row number variable) and assign the row local variable an initial value of 1.
[0077] Step D2. Insert the impedance value, layer name, trace width, tolerance, default value or remark, and null value corresponding to the differential impedance variable one by one in the row corresponding to the row local variable of the single-ended impedance table according to the column.
[0078] Step D3. Set the event processing of the single-ended impedance table, including cell selection, cell change, and right-click pop-up menu events.
[0079] Step D4: The number of row local variables is increased by 1 and the row number is updated.
[0080] Step D5. Traverse the physical connection network and repeat steps D2 to D4.
[0081] In the above content, the default value is "Default". The remarks here refer to the remarks information of the electronic component corresponding to the physical connection network. If the electronic component has remarks information, it will be copied after acquisition.
[0082] The event processing of step C3 or step D3 is to provide a modification event for the single-ended impedance table and the differential impedance table, so that the contents of the single-ended impedance table and the differential impedance table can be modified.
[0083] Impedance refers to the degree of resistance and reactance of a transmission line (i.e., PCB trace) to AC current at a specific frequency. Impedance is critical to the transmission speed and integrity of signals. During the PCB manufacturing process, the physical properties of the traces and boards need to be precisely controlled to ensure that the impedance value is within the specified tolerance range.
[0084] Trace width refers to the physical width of the copper foil trace on the PCB. Trace width directly affects the resistance and inductance of the trace, thereby affecting the impedance value. Tolerance refers to the deviation in width of the copper foil trace on the PCB. During the PCB manufacturing process, strict control of trace width and tolerance helps reduce processing errors and ensure that the trace impedance meets the design requirements.
[0085] The single-ended impedance variable and the differential impedance variable are filled with text objects into the impedance information table by defining the AddTablePath function and the ITAAddTableRowInfo function. The AddTablePath function creates a blank list as the path for storing the single-ended impedance variable and the differential impedance variable, and converts the fixed "mil" unit value to the current design unit through the axlMKSConvert function. When the single-ended impedance variable and the differential impedance variable are activated, the content of their actions is added to this blank list, and finally a list with the content of the single-ended impedance variable and the differential impedance variable is formed. The ITAAddTableRowInfo function obtains the content of the list according to the path of the blank list created by the AddTablePath function, and then traverses each element therein, and finally fills the text in the impedance information table, and determines the format of the text and the attribute parameters of the impedance information table (including text direction, table height, text center alignment, layer, etc.), such as Figure 2 shown.
[0086] After the impedance information table completes the automatic impedance information extraction, there is still a need for manual modification. The impedance information extraction device is provided with several data modification controls, namely "routing level", "routing width", "change line width" and "ChangeWidth". The two controls "routing level" and "routing width" are provided with drop-down lists, and the data of a row of the selected impedance information table is extracted to form a drop-down list of "routing level" and "routing width". The impedance information extraction device can obtain the line width data entered in the "change line width" control. Click the "ChangeWidth" button to trigger the ITAFormAction function content defined by the impedance information extraction device. The impedance information extraction device obtains the information content in the "routing level", "routing width" and "change line width" controls, and replaces the line width data in the "change line width" control with the content data of the information in the corresponding "routing level" and "routing width" controls in the impedance information table.
[0087] After the impedance information table is completed, click the "Place Table" button, and the impedance information extraction device draws a table according to the information content of the impedance information table, constructs a new result list, and saves the result list in .brd format. The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A device for automatically extracting impedance information, characterized in that: The impedance information extraction device sets an impedance information extraction window, The impedance information extraction device reads the current PCB design file and obtains the impedance extraction rules. The impedance extraction rules are displayed in the impedance information extraction window. The impedance information extraction device traverses the routing impedance information in the PCB design file according to the selected impedance extraction rule, creates single-ended impedance variables and differential impedance variables with the impedance information that meets the selected impedance extraction rule, and lists the single-ended impedance variables and differential impedance variables in the impedance information table of the impedance information extraction window.
2. The device for automatically extracting impedance information according to claim 1, characterized in that: The impedance information table includes a single-ended impedance table and a differential impedance table. The single-ended impedance table records the impedance information of a single impedance line, and the differential impedance table records the impedance information of a differential pair.
3. The device for automatically extracting impedance information according to claim 1, characterized in that: The impedance extraction rule table is a table control. The impedance extraction rule table sets column local variables and row local variables. After setting the properties and data formats of the column local variables and row local variables respectively, the column local variables and row local variables are imported into the impedance information table respectively, so that the impedance information table displays the contents of the column local variables and row local variables.
4. The device for automatically extracting impedance information according to claim 3, characterized in that: The process of setting each column of the impedance extraction rule table includes Step A1. Set column local variables and assign values to column local variables; Step A2. Set the properties of the column local variables; Step A3. Set the data format of the column local variable; Step A4. Insert the column local variable created in step A1 into the corresponding position of the table control in the impedance information extraction window.
5. The device for automatically extracting impedance information according to claim 3, characterized in that: The process of setting each row of the impedance extraction rule table includes all the steps below; Step B1. Set row local variables, which include row number variables and row data variables; Step B2. Establish a connection between the row data variable and the physical connection network, and set the acquired data of the physical connection network to be stored in the row data variable; Step B3. Set the row content matching expression; Step B4. Set the initial value of the row number variable to 1; Step B5. Import the data that matches the row content matching expression into the row data variable, insert a row into the table control, import the row data variable that matches the row content matching expression into the table control, and increment the row number variable by 1; Step B6: traverse the physical connection network and loop the content of step B5.
6. The device for automatically extracting impedance information according to claim 5, characterized in that: In step B5, including Step T1. Set the impedance value matching expression with numbers 0-9; Step T2. According to the impedance value matching expression of step T1, match whether the package information name contains numbers. If it contains numbers, go to step T3-1; if it does not contain numbers, go to step T3-2; Step T3-1. Display the matched number as the impedance value in the table control, and convert the matched number into an integer. If the number is less than or equal to the preset value, it is set as single-ended impedance, and the impedance type is displayed as "SINGLE". If the number is greater than the preset value, it is set as differential impedance, and the impedance type is displayed as "DIFF". Step T3-2. If the package information name is a default character, the default impedance value is displayed in the impedance value column, and "SINGLE" is displayed in the impedance type column. If the package information name is not a default character, a zero value is displayed in the impedance value column.
7. The device for automatically extracting impedance information according to claim 1, characterized in that: The actions of single-ended impedance variable or differential impedance variable include the following: Step P1. Set the row local variable and assign the row local variable an initial value of 1; Step P2. Insert the impedance value, layer name, trace width, tolerance, default value or remark, and null value corresponding to the single-ended impedance variable or the differential impedance variable one by one in the row corresponding to the row local variable of the single-ended impedance table or the differential impedance table according to the column; Step P3. Set the event processing of the single-ended impedance table or the differential impedance table, including cell selection, cell change and right-click pop-up menu events; Step P4. The number of row local variables increases by 1 and the row number is updated; Step P5. Traverse the physical connection network and repeat steps P2 to P4.
8. The device for automatically extracting impedance information according to claim 1, characterized in that: The impedance information extraction device sets a blank list. When traversing the physical connection network of the current PCB design, the single-ended impedance variable and the differential impedance variable are respectively actuated. The action process of the single-ended impedance variable and the differential impedance variable is added to the blank list to form an impedance information list. The impedance information extraction device traverses each element in the impedance information list and fills in text in the impedance information table in accordance with each element.
9. The device for automatically extracting impedance information according to claim 1, characterized in that: The impedance information extraction device sets a data modification control, obtains information of the data modification control, and replaces content data in the impedance information table corresponding to the information of the data modification control.
10. The device for automatically extracting impedance information according to claim 1, characterized in that: The impedance information extraction device draws a table according to the information content of the completed impedance information table, constructs a new result list, and saves the result list in a .brd format.