CN101667219B - Optimization method of printed-circuit board test path - Google Patents

Optimization method of printed-circuit board test path Download PDF

Info

Publication number
CN101667219B
CN101667219B CN2009101910183A CN200910191018A CN101667219B CN 101667219 B CN101667219 B CN 101667219B CN 2009101910183 A CN2009101910183 A CN 2009101910183A CN 200910191018 A CN200910191018 A CN 200910191018A CN 101667219 B CN101667219 B CN 101667219B
Authority
CN
China
Prior art keywords
container
point
network
file
test point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009101910183A
Other languages
Chinese (zh)
Other versions
CN101667219A (en
Inventor
周尚波
胡鹏
何革
柳玉炯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN2009101910183A priority Critical patent/CN101667219B/en
Publication of CN101667219A publication Critical patent/CN101667219A/en
Application granted granted Critical
Publication of CN101667219B publication Critical patent/CN101667219B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses an optimization method of a printed-circuit board test path, which is characterized in that the optimization method comprises the following steps: A. reading an ipc file to obtain the network number, and the information of front and back mark and coordinate of a point to be tested, and information of adjacent networks; B. preprocessing the information; C. optimizing the path and E and outputting a test file: after open circuit is optimized, a CONTI.LST file is generated according to the standard of the IPC file. The information of all points and adjacent networks of the circuit board to be tested are read by the ipc file, all network numbers are recombined and rearranged according to the principle of four-probe test, and the path of probe running is optimized as far as possible in the premise of not missing any networks, thus leading the path of probe running of a flying probe tester to be shortest; and by practical application, the result shows that the efficiency on testing time is improved by 3 percent to 16 percent compared with the existing software, therefore, the optimization method can be widely used in the manufacturing industry of printed-circuit boards and the electronic industry.

Description

Optimization method of printed-circuit board test path
Technical field
The present invention relates to the printed circuit board technical field of measurement and test, relate in particular to a kind of optimization method of printed-circuit board test path.
Background technology
Printed-wiring board (PWB) (PCB) finished product detection is the important step in the production procedure, finished product detection mainly check the finished product of PCB have or not open a way, short circuit or lines cross faults such as erosion.Along with development of semiconductor, PCB become scale more and miniaturization, in functional promotion, its difficulty of test also increases thereupon.According to statistics, the average cost of the visual detection of electronic manufacturing field can reach more than 50% of whole manufacturing process cost.
The most frequently used means of testing of present stage PCB is divided into scalar measuring technology and automated imaging detection system, is flying probe tester in the non-vector test technology and use maximum.Flying probe tester is used Ohm law, judges the break-make situation of PCB lead-in wire according to the resistance value between two circuit node.This is traditional circuit measuring means, just in recent years it with at a high speed, after the mechanical moving element of precision combines, efficiency of measurement is higher, adaptability is stronger, under the situation that can't use traditional needle-bar on-line testing instrument, flying probe tester is the most important equipment on the PCB production line, uses very extensive.
Use flying probe tester to carry out the PCB test, generally need through following step:, determine the test point set on the plank at first according to certain test request; Secondly according to test point set, drill hole information and adjacent networks information, determine the combination and the order of test point; On the test needle-bar, pcb board is made electric tests such as short circuit, open circuit at last.
Though the test file that existing P CB design software can generate the test point set automatically and determine the row preface, the path of its spanned file is not to be optimal path, can influence testing efficiency like this, and for the producer of generation in enormous quantities, its influence is particularly evident.The path optimization's question marks that take the needle of PCB are similar to travelling salesman (Travel Salesman Problem, TSP) problem, the TSP problem is one and defines the problem that still is difficult to handle easily that belong to np complete problem, solving this type of problem algorithm commonly used has genetic algorithm, simulated annealing etc.At present also some software application are arranged these algorithms handle the problem of PCB path optimization, but they not well set up model according to the characteristics of flying probe tester, thereby do not reach good efficient.
Summary of the invention
Technical matters to be solved by this invention provides a kind of optimization method of printed-circuit board test path.
According to a kind of technical scheme of the present invention, a kind of optimization method of printed-circuit board test path is characterized in that: described method comprises the steps:
A, read the ipc file, obtain network number, front and back mark, coordinate information under the tested point, and the information of adjacent networks;
B, information is carried out pre-service, pretreated purpose is divided into positive millet cake and reverse side dot information file to dot information file exactly, and set up respective index;
B1, but but all tested point information that extract are divided into front test point and two parts of reverse side test point, sort from small to large according to " network number numerical value+x coordinate+y coordinate ", but but obtain front test point file and reverse side test point file;
B2, but but but but front test point file and reverse side test point file are set up front test point index information file and reverse side test point index information file respectively, but but be used for writing down respectively the position of the initial test point of front test point file and each network number of reverse side test point file;
For the convenience of fetching data thereafter, set up the index information of two files respectively at this, but but the position of writing down the initial test point of each network number in front test point file and the reverse side test point file respectively, but but and write to front test point index information file and reverse side test point index information file;
But but B3, according to front test point index information file and reverse side test point index information file sets up the type information file of network, file line number expression network number wherein, numeric representation network type; And have only reverse side test point, network two sides all to have test point, network to have only positive test point to define to network respectively;
Because each network test vertex type difference for the convenience of a pairing, need define each network type.Wherein, described have only positive test point, two sides test point is all arranged, have only the reverse side test point be the statement network type because when open circuit point is matched, need separately carry out a pairing according to different network types, merge again at last.
C, optimization path
C1, set up container: but but but but read the type information file of front test point file, reverse side test point file, front test point index information file, reverse side test point index information file, network respectively, be kept at respectively in first container, second container, the 3rd container, the 4th container, the 5th container, simultaneously, set up the 6th container, be used to preserve the good positive test point information of pairing; Set up the 7th container, be used to preserve the good reverse side test point information of pairing, set up the 8th container, be used to preserve last pairing result;
C2, open circuit point pairing
Is the network number of C21, the current pairing of judgement less than or equal to the network sum?
Numerical value of each row in C22, judgement the 5th container is what equal, and when the network of the current pairing of numeric representation has only positive test point, carries out positive millet cake pairing, when all there is test point on the network two sides of the current pairing of numeric representation, carries out two-sided some pairing; When the network of the current pairing of numeric representation has only the reverse side test point, carry out the pairing of reverse side point;
C23, in order further to shorten line number, after all pairings are finished, carry out the merging of positive test point and reverse side test point;
The purpose of open circuit point pairing is exactly separately to carry out a pairing according to different network types, merges at last again;
Describe at this open test file of earlier needs being optimized out, so-called open test, exactly in order to test continuous two situations whether point opens a way in the consolidated network, the point that requires each row to prepare in theory all is same network, and optimize the open test file in order to reach, reach the purpose that reduces line number, need fill up each row to two some combination pairings of heterogeneous networks as far as possible.
C3, open circuit are optimized:
C31, initialization chained list read the information that first in the 8th container gone, and first node of chained list is carried out initialization;
C32, continue to read the information of the next line in the 8th container, moving hand is to first node place of chained list;
C33, calculate the displacement of this row information at each node place;
Whether C34, judgement exist striker in the process of calculating displacement, promptly the x axial coordinate of left side point if there is striker, is then adjusted coordinate greater than the x axial coordinate of the right point, carries out the calculating of displacement again;
C35, judge whether pointer arrives the chained list tail;
If the C36 pointer does not arrive the chained list tail, move the pointer to the next node place of chained list, repeating step C32, C33, C34, C35 when pointer arrives the chained list tail, are inserted into the node place with minimum displacement with the information of the row that reads in;
C37, judge in the 8th container all row information whether run through;
C38, when the information of all row in the 8th container when not running through, repeating step C32 is to step C37; After the information of all row in the 8th container runs through, chained list information is write test file;
E, output test file: after open circuit optimization is finished, will generate the CONTI.LST file according to the IPC file standard.
According to a preferred version of the present invention, when carrying out the pairing of positive millet cake among the step C22, method is as follows:
Is the number of point of network number of judging the current pairing in first container more than or equal to 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, get remaining point and be pressed in the 6th container; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, get two continuous points and be pressed in the 6th container, and the previous point that deletion is pressed in first container.
According to a preferred version of the present invention, carry out the pairing of two-sided point among the step C22, and the positive millet cake number of this network is during greater than reverse side point number, method is as follows:
Is the number of the point of the network number of the current pairing in C221, judgement first container greater than 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, carry out step C222;
Is the number of the point of the network number of the current pairing in C222, judgement second container more than or equal to 2? when the number of the point of the network number of the current pairing in second container less than 2 the time, carry out step C224; When the number of the point of the network number of the current pairing in second container more than or equal to 2 the time, carry out step C223;
C223, be pressed in the 8th container after from first container and second container, respectively getting the combination of 2 points; Each deletes the previous point that is pressed into from first container and second container again; Return and carry out step C222;
Is the number of the point of the network number of the current pairing in C224, judgement first container greater than 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container greater than 2 the time, carry out step C225;
C225, from first container, get and get remaining point in 2 points and the 2nd container and be pressed into the 8th container, and from first container, delete these 2 points of being got, return then and carry out step C224;
C226, be pressed in the 8th container after getting the remaining some combination of first container and second container.
According to a preferred version of the present invention, the merging method of positive test point of step C23 and reverse side test point is as follows:
Do you C231, judge that the 6th container is empty? when the 6th container is not sky, the pairing of the residue in the 7th container row is pressed in the 8th container; When the 6th container is sky, proceed step C232;
Do you C232, judge that the 7th container is empty? when the 7th container is not sky, the pairing of the residue in the 6th container row is pressed in the 8th container; When the 7th container is sky, proceed step C233, C234;
C233, respectively get delegation in the 6th container and the 7th container, be pressed in the 8th container after being combined into new delegation;
The row that is pressed into the 8th container in C234, deletion the 6th container and the 7th container.
The beneficial effect of optimization method of printed-circuit board test path of the present invention is: the present invention is read all dot informations and the adjacent networks information of circuit board to be tested by the ipc file, according to 4 pins test principle, again each network number is carried out combination and permutation, under the prerequisite of any network of not test leakage, optimize the path that takes the needle as far as possible, the path that makes flying probe tester take the needle is the shortest, through practical application, the result has improved 3% to 16% than existing software on test duration efficient, can be widely used in printed circuit board manufacturing and electron trade.
Description of drawings
Below with reference to accompanying drawing embodiments of the invention are further described.
Fig. 1 is an optimization method of printed-circuit board test path process flow diagram of the present invention.
Fig. 2 is the ipc of a reading document flowchart of the present invention.
Fig. 3 is tested point classification process figure of the present invention.
But but Fig. 4 is the form of front of the present invention test point file and reverse side test point file.
But but Fig. 5 is the form of front of the present invention test point index information file and reverse side test point index information file.
Fig. 6 is the form synoptic diagram of the type information file of network of the present invention.
Fig. 7 is an open circuit point pairing process flow diagram of the present invention.
Fig. 8 is a positive millet cake pairing process flow diagram among the present invention.
Fig. 9 is a kind of process flow diagram of two-sided some pairing among the present invention.
Figure 10 is that positive and negative millet cake pairing merges process flow diagram among the present invention.
Figure 11 is that open circuit is optimized process flow diagram among the present invention.
Figure 12 is first two row shortest path calculation specifications figure among the present invention.
Figure 13 is the capable shortest path calculation specifications of n, n+1 figure among the present invention.
Figure 14 CONTI.LST file layout synoptic diagram.
Embodiment
Referring to Fig. 1, a kind of optimization method of printed-circuit board test path, described method comprises the steps:
Described method comprises the steps:
A, read the ipc file, obtain network number, front and back mark, coordinate information under the tested point, and the information of adjacent networks;
The ipc file that this method is used is the normative document of flying probe industry, its standard No. is IPC-D-356: the test data form of bottom circuit board bare board, each provisional capital of file can not surpass 80 characters, for each character bit strict definition is arranged all, wherein comprise bulk information, comprise a little positional information, size, plank number of plies or the like, position definition according to its strictness, needs in conjunction with short-circuit test, as long as we read network number, front and back mark, the coordinate information under the tested point in the file, and the information of adjacent networks.
The IPC-D-356 formatted file comprises Header, IMAGE PRIMARY, IMAGE 2, IMAGE NNNN, IMAGE PANEL, End of File Marker several sections usually.The file that the present invention uses only comprises Header, IMAGE PRIMARY and End of File Marker part.The preceding 7 behavior Header information of ipc file comprise JOB (engineering name), CODE (option code), UNITS (measuring unit's sign), TITLE (data header), NUM (part number), REV (revision number), VER (ipc version information) or the like.The present invention will extract has only the UNITS field, and it has defined measuring unit.
IMAGE PRIMARY field indicates the beginning of the record of general data on the plate, and this part comprises main link information on the panel to be tested and test channel assignment information etc.The main information that this method will be extracted is also in this part, in conjunction with the needs of short-circuit test, as long as read network number, front and back mark, the coordinate information under the tested point in the file, and the information of adjacent networks.
From here on, each provisional capital is 80 characters, is defined as follows:
Columns 1-3: the operational character of allowing, comprise multiple operational character definition, we only consider 317,017,327,027,099 and 379,079 these operational characters.Illustrated in table 1.
Table 1 Columns 1-3 explanation
Operational character The operational character definition
317 Represent a unique point or through hole
017 The extendible portion of last record (317), other information of recording feature point or through hole
327 Surface equipment feature
027 The extendible portion of last record (327), other information of recording surface equipment feature
099 The position of last record description test point
379 Adjacent networks information
079 The extendible portion of last record (379), other parts of record adjacent networks information
Promptly the rower of 379 and 079 beginning shows adjacent networks information, and other rowers show test point information.
Columns 4-17:Net Name/Node Number (no space allowed) promptly puts the network identity at place.
Column?32:May?contain?M?to?indicate?a?Mid?Net?point.Otherwise?left?blank。It is halfway mark.
Columns 39-41: but test point information sees Table 2.
But table 2 test point information explanation
?Column?39 =" A " can survey code
?Columns?40-41 =" 00 " through hole, test point can be tested (PTH)=" 01 " test point in any one side and can be tested (Primary side)=" 0n " test point in main one side and can test at " n " face, and " n " represents last one deck of test board usually
The circuit board bare board test can only be tested the site of pros and cons, if the test board two-ply just has only " 00 ", " 01 ", " 02 " information.
Columns 42-57: test point coordinate information describes in detail and sees Table 3.
The explanation of table 3 test point coordinate information
Column?42 To comprise " X " and specify the X position
Column?43 "+" or "-" or space t specify sign symbol (space="+")
Columns 44-49 To comprise 6 numerals and represent the X coordinate, unit is 0.0001 inch or 0.001 millimeter, and 0 may replace with the space
Column?50 To comprise " Y " and specify the Y position
Column?51 "+" or "-" or space t specify sign symbol (space="+")
Columns 52-57 To comprise 6 numerals and represent the Y coordinate, unit is 0.0001 inch or 0.001 millimeter, and 0 may replace with the space
Columns 73-74: solder mask information describes in detail and sees Table 4.
The explanation of table 4 solder mask information
?Column?73 To comprise " S " and represent solder mask information
?Column?74 =0 expression does not have solder mask=main test surfaces of 1 expression to have solder mask=2 expressions, second face to have solder mask=3 expression two sides that solder mask is all arranged
These information that draw according to analysis, the rule that we choose test point is: with 327,027,317,017,099 beginning, Columns 73-74 is the dot information of " S0 ", " S1 " and " S2 ", and test point is preferentially chosen non-mid point (being that Columns 32 is not " M "), does other processing for mid point.
In specific embodiment, the flow process that reads the ipc file is referring to shown in Figure 2.
B, information is carried out pre-service:
B1, but but all tested point information that extract are divided into front test point and two parts of reverse side test point, sort from small to large according to " network number numerical value+x coordinate+y coordinate ", but but obtain front test point file and reverse side test point file;
Description according to table 3, which layer columns 40-41 representative point can be tested at, and on behalf of both sides, " 00 " all can test, and " 01 " representative can be tested in the front, because general circuit board under test is a two-ply, i.e. " 02 " representative has only reverse side to test.According to this rule, all tested point information that extract are divided into two parts: but but front test point and reverse side test point, sort from small to large according to network number numerical value+x coordinate+y coordinate, but but and write front test point file and reverse side test point file respectively, Fig. 3 is seen in concrete operations.
Wherein, but but the form of front test point file and reverse side test point file as shown in Figure 4, in specific embodiment, for the processing of back convenient, but but definition front test point file and reverse side test point file initial row number are 0.
B2, but but but but front test point file and reverse side test point file are set up front test point index information file and reverse side test point index information file respectively, but but be used for writing down respectively the position of the initial test point of front test point file and each network number of reverse side test point file;
But but form such as Fig. 5 of front test point index information file and reverse side test point index information file.
Preceding 3 row with the file among Fig. 5 illustrate: but No. 1 network is gone since the 0th in the test point file of front, and first test point of No. 2 networks is at the 147th row, first test point of No. 3 networks is at the 148th row, illustrate that but No. 1 network has 147 front test points, but No. 2 networks there is 1 front test point.But but reverse side test point index information file is used for representing the index information of reverse side test point file, and its statement implication also in like manner.
But but B3, according to front test point index information file and reverse side test point index information file sets up the type information file of network, file line number expression network number wherein, numeric representation network type; And have only reverse side test point, network two sides all to have test point, network to have only positive test point to carry out the numerical value definition to network respectively;
But but see Table 6, and save as the type information file of network, form such as Fig. 6 of the type information file of network according to the type information that the information of front test point index information file and reverse side test point index information file is set up network; Wherein, file line number expression network number, Base Serial Number is 0, the numeric representation network type.
The explanation of table 6 network type
Numerical value Network type
0 The beginning flag of file
1 This network has only the reverse side point
10 All have a few on this network two sides
100 This network has only positive millet cake
In the present embodiment, definition represents that this network has only the reverse side test point when numerical value equals 1, when numerical value equals 10, represent that all there is test point on this network two sides, when numerical value equals 100, represents that this network has only positive test point; For example, in Fig. 6, the numerical value of file the 1st, 2,3 row is respectively 10,10,100, represents that all there is test point on No. 1 network and No. 2 network two sides, and No. 3 network has only the front that test point is arranged.
C, optimization path
C1, set up container: but but but but read the type information file of front test point index information file, front test point file, reverse side test point file, reverse side test point index information file, network respectively, be kept at respectively in first container, second container, the 3rd container, the 4th container, the 5th container, simultaneously, set up the 6th container, be used to preserve the good positive test point information of pairing; Set up the 7th container, be used to preserve the good reverse side test point information of pairing, set up the 8th container, be used to preserve last pairing result;
C2, open circuit point pairing:
Suppose that No. 3 networks have only positive test point, No. 4 network has only the reverse side test point, No. 1 network and No. 2 network front and back test points, so for No. 3 networks and No. 4 networks, make up after then can preparing a little, and No. 1 network and No. 2 networks are because existing positive test point, the reverse side test point is arranged again, can make up with No. 3 networks or No. 4 networks, also can No. 1 positive and negative millet cake in network or No. 2 networks self make up, also can No. 1 point in network and No. 2 networks make up in twos.
Is the network number of C21, the current pairing of judgement less than or equal to the network sum?
Order according to network number is matched, suppose to have 100 networks, at first judge the type of this network, judge that promptly network has only positive millet cake or has only reverse side point or the front and back point, and 7 carry out a pairing with reference to the accompanying drawings, get a network at every turn, and in first container or second container, get a little and match, after finishing, the whole pairings of the point of this network carry out the pairing of next network again, and till the all-network limit, and the network of each pairing is called the network number of current pairing, for example, current at the 10th network of pairing, the network number of so current pairing is 10;
Numerical value of each row in C22, judgement the 5th container is what equal, and when the network of the current pairing of numeric representation has only positive test point, carries out positive millet cake pairing, when all there is test point on the network two sides of the current pairing of numeric representation, carries out two-sided some pairing; When the network of the current pairing of numeric representation has only the reverse side test point, carry out the pairing of reverse side point;
In specific embodiment, when carrying out the pairing of positive millet cake among the step C22, method is as follows, process flow diagram such as Fig. 8.
Is the number of point of network number of judging the current pairing in first container more than or equal to 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, get remaining point and be pressed in the 6th container; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, get two continuous points and be pressed in the 6th container, and the previous point that deletion is pressed in first container.
In like manner, if network has only the reverse side test point, reverse side test point method of matching is with positive millet cake method of matching, and difference is the point that takes out in second container.
Carry out the pairing of two-sided point, and the positive millet cake number of this network is during greater than reverse side point number, method is as follows, and flow process as shown in Figure 9.
C221, judge the current pairing in first container network number point number greater than? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, carry out step C222;
Is the number of the point of the network number of the current pairing in C222, judgement second container more than or equal to 2? when the number of the point of the network number of the current pairing in second container less than 2 the time, carry out step C224; When the number of the point of the network number of the current pairing in second container more than or equal to 2 the time, carry out step C223;
C223, be pressed in the 8th container after from first container and second container, respectively getting the combination of 2 points; Each deletes the previous point that is pressed into from first container and second container again; Return and carry out step C222;
Is the number of the point of the network number of the current pairing in C224, judgement first container greater than 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container greater than 2 the time, carry out step C225;
C225, from first container, get and get remaining point in 2 points and the 2nd container and be pressed into the 8th container, and from first container, delete these 2 points of being got, return then and carry out step C224;
C226, be pressed in the 8th container after getting the remaining some combination of first container and second container.
Carry out two-sided some pairing, if the positive millet cake number of this network is during less than reverse side point number, only need change first container among step C221, C224, the C225 into second container, change second container among the step C222 into first container, all the other with step C221 to step C226.
In specific embodiment, when all there is test point on the network two sides, guarantee that earlier the test point of pros and cons fits over same delegation as far as possible, promptly earlier the few side of the test point of this network has been joined earlier, the more remaining test point of pairing.
C23, in order further to shorten line number, after all pairings are finished, carry out the merging of positive test point and reverse side test point; Because the network that has has only positive test point, and the network that has has only the reverse side test point, in order further to shorten line number, after all pairings are finished, carry out the merging of positive test point and reverse side test point, finally all match points are all put into the 8th container, particular flow sheet such as Figure 10.
When carrying out the merging of positive test point and reverse side test point, method is as follows:
Do you C231, judge that the 6th container is empty? when the 6th container is not sky, the pairing of the residue in the 7th container row is pressed in the 8th container; When the 6th container is sky, proceed step C232;
Do you C232, judge that the 7th container is empty? when the 7th container is not sky, the pairing of the residue in the 6th container row is pressed in the 8th container; When the 7th container is sky, proceed step C233, C234;
C233, respectively get delegation in the 6th container and the 7th container, be pressed in the 8th container after being combined into new delegation;
The row that is pressed into the 8th container in C234, deletion the 6th container and the 7th container.
C3, open circuit are optimized, and idiographic flow is seen Figure 11:
C31, initialization chained list read the information that first in the 8th container gone, and first node of chained list is carried out initialization;
C32, continue to read the information of the next line in the 8th container, moving hand is to first node place of chained list;
C33, calculate the displacement of this row information at each node place;
Whether C34, judgement exist striker in the process of calculating displacement, promptly the x axial coordinate of left side point if there is striker, is then adjusted coordinate greater than the x axial coordinate of the right point, exchanges the position of 2 of this row, carries out the calculating of displacement again;
C35, judge whether pointer arrives the chained list tail;
If the C36 pointer does not arrive the chained list tail, move the pointer to the next node place of chained list, repeating step C32, C33, C34, C35 when pointer arrives the chained list tail, are inserted into the node place with minimum displacement with the information of the row that reads in;
C37, judge in the 8th container all row information whether run through;
C38, when the information of all row in the 8th container when not running through, repeating step C32 is to step C37; After the information of all row in the 8th container runs through, chained list information is write test file;
E, output test file: after open circuit optimization is finished, will generate the CONTI.LST file according to the IPC file standard.Flying probe tester can directly read this document and test.The form of this document as shown in figure 14.
Wherein, step C33 calculates the displacement of this row information at each node place and adopts following method:
C331, the first two row shortest paths of calculating:
Referring to Figure 12,
With (x i j, y i j) point coordinate in (j=1,2,3,4) expression i capable j network, d jThe distance of expression map network, d jBe calculated as follows:
d j = max ( | x i j - x i + 1 j | , | y i j - y i + 1 j | )
Max () is for getting max function;
Be d jGet | x i j-x I+1 j|, | y i j-y I+1 j| the maximal value among both.
It is as follows to define the mobile final path that i is capable and j is capable:
D(i,j)=max(d 1,d 2,d 3,d 4)
The distance calculation of the map network of then first two row is as follows:
net?1: d 1 = max ( | x 1 1 - x 2 1 | , | y 1 1 - y 2 1 | )
net?2: d 2 = max ( | x 1 2 - x 2 2 | , | y 1 2 - y 2 2 | )
net?3: d 3 = max ( | x 1 3 - x 2 3 | , | y 1 3 - y 2 3 | )
net?4: d 4 = max ( | x 1 4 - x 2 4 | , | y 1 4 - y 2 4 | )
At last, first row with the final path that second row is moved is:
D(1,2)=max(d 1,d 2,d 3,d 4)
The capable order that sequenced of C332, the n+1 in chained list when the current behavior n+2 that will insert is capable, is then calculated institute's mobile route length line by line, and obtain the row that is inserted into then and insert n, the shortest displacement D between n+1 is capable (n, n+1):
D(n,n+1)=max(d 1,d 2,d 3,d 4)
Referring to Figure 13, with (x i j, y i j) point coordinate in (j=1,2,3,4) expression i capable j network, d jThe distance of expression map network, max function is got in max () expression,
Wherein:
d 1 = max ( | x n + 2 1 - x n 1 | , | y n + 2 1 - y n 1 | ) + max ( | x n + 2 1 - x n + 1 1 | , | y n + 2 1 - y n + 1 1 | ) - max ( | x n 1 - x n + 1 1 | , | y n 1 - y n + 1 1 | )
d 2 = max ( | x n + 2 2 - x n 2 | , | y n + 2 2 - y n 2 | ) + max ( | x n + 2 2 - x n + 1 2 | , | y n + 2 2 - y n + 1 2 | ) - max ( | x n 2 - x n + 1 2 | , | y n 2 - y n + 1 2 | )
d 3 = max ( | x n + 2 3 - x n 3 | , | y n + 2 3 - y n 3 | ) + max ( | x n + 2 3 - x n + 1 3 | , | y n + 2 3 - y n + 1 3 | ) - max ( | x n 3 - x n + 1 3 | , | y n 3 - y n + 1 3 | )
d 4 = max ( | x n + 2 4 - x n 4 | , | y n + 2 4 - y n 4 | ) + max ( | x n + 2 4 - x n + 1 4 | , | y n + 2 4 - y n + 1 4 | ) - max ( | x n 4 - x n + 1 4 | , | y n 4 - y n + 1 4 | )
If in the process of calculating mobile route, have striker, promptly the x axial coordinate of left side point then should be adjusted the point in the network greater than the x axial coordinate of the right point, carries out the calculating of mobile route again.
After complete chained list of traversal, this row information is inserted into the place, site position of mobile route minimum value, and then from the 8th container, reads new delegation information, repeat aforesaid operations, until end.
Tester has 4 flying needles, and each two pin of pros and cons are tested 4 differences at every turn.This method requires correctly to read the information of printed circuit board industry standard I PC-D-356 file, and generation can be used for the test file of 4 pins interlock flying probe tester, and the path that requires to take the needle is the shortest.
This method can be described as following Optimization Model:
(1) variable design
If circuit board has m network, k network of network has n point (n>1), and its set of having a few is made as V k={ v 1, v 2..., v n, any 2 v in the set i, v jBetween distance be made as d Ij
(2) solution space
Solution space S is all paths of once testing, separates and can be expressed as { w 1, w 2..., w r, w 1, w 2..., w rBe 1,2 ..., the arrangement of r shows from w 1Set out, pass through w successively 1, w 2..., w R-1, arrive w at last rInitial solution is chosen as { w 10, w 20..., w R0.
(3) objective function
Need in the set of all tested points, find four full P of arrangement A={ P A1, P A2..., P Ar, P B={ P B1, P B2..., P Br, P C={ P C1, P C2..., P CrAnd P D={ P D1, P D2..., P Dr.Order D = Σ i = 1 , j = i + 1 r max ( d ( P Ai , d Aj ) , d ( P Bi , d Bj ) , d ( P Ci , d Cj ) , d ( P Di , d Dj ) ) , Ask the minimum value of D.
(4) constraint condition
A, B, C, D four pins travel through all points respectively from a point.The algorithm termination condition is the variation that the path does not all take place continuous several times, then thinks and has found optimum solution.
Obviously, according to above description, when line number r was less, available greedy method scheduling algorithm was obtained optimum solution, but when r is very big, owing to be a NP difficult problem, find the calculated amount of optimum solution very big, so, in application of practical project, find more excellent separating to get final product.According to above Optimization Model, obtain more excellent result need start with both ways: the one, and the line number of minimizing spanned file; The 2nd, under the situation that line number is fixed, order of adjusting each row is to optimize the path.
The substantive test point is arranged on the circuit board, and the test point on the same line road constitutes a network.Open test, the physical connection situation that will test same network test point exactly---whether there is open circuit.
The present invention adopts the mode of a pairing to reduce the line number of file, for each piece PCB to be tested, number of checkpoints on the plate is fixed, so different some matching methods may cause different line numbers, so, when pairing, make each row have 4 points as far as possible, and the point that can test simultaneously that is independent of each other merged, the file line number that draws like this is minimum.
Use optimized Algorithm that the present invention describes to optimizations of opening a way of G60687, SG91992 and H700923 ipc file, and compare with the file of the testing software generation of the company's employing of circling in the air, simulation result sees Table 7.
The simulation result of table 7 optimized Algorithm
Because the cabling of pcb board and structure are complicated especially, particularly for multi-layer PCB, also to consider the concurrent working of spininess, optimization is got up very difficult.In the flying probe of reality, the test file to about 1000 row often needs several hrs just can finish test, and for big file, its test duration is longer, so even as long as optimize seldom, also can bring apparent in view income.The simulation result of table 7 shows, the match point algorithm that we design can shorten the line number of test file, after the open circuit optimized Algorithm of using this patent to propose was optimized the open test file, the MAXPATHLEN that probe is walked had apparent in view optimization than original.

Claims (4)

1. optimization method of printed-circuit board test path, it is characterized in that: described method comprises the steps:
A, read the ipc file, obtain network number, front and back mark, coordinate information under the tested point, and the information of adjacent networks;
B, information is carried out pre-service:
B1, but but all tested point information that extract are divided into front test point and two parts of reverse side test point, sort from small to large according to " network number numerical value+x coordinate+y coordinate ", but but obtain front test point file and reverse side test point file;
B2, but but but but front test point file and reverse side test point file are set up front test point index information file and reverse side test point index information file respectively, but but be used for writing down respectively the position of the initial test point of front test point file and each network number of reverse side test point file;
But but B3, according to front test point index information file and reverse side test point index information file sets up the type information file of network, file line number expression network number wherein, numeric representation network type; And have only reverse side test point, network two sides all to have test point, network to have only positive test point to define to network respectively;
C, optimization path
C1, set up container: but but but but read the type information file of front test point file, reverse side test point file, front test point index information file, reverse side test point index information file, network respectively, be kept at respectively in first container, second container, the 3rd container, the 4th container, the 5th container, simultaneously, set up the 6th container, be used to preserve the good positive test point information of pairing; Set up the 7th container, be used to preserve the good reverse side test point information of pairing, set up the 8th container, be used to preserve last pairing result;
C2, open circuit point pairing:
Is the network number of C21, the current pairing of judgement less than or equal to the network sum?
Numerical value of each row in C22, judgement the 5th container is what equal, and when the network of the current pairing of numeric representation has only positive test point, carries out positive millet cake pairing, when all there is test point on the network two sides of the current pairing of numeric representation, carries out two-sided some pairing; When the network of the current pairing of numeric representation has only the reverse side test point, carry out the pairing of reverse side point;
C23, in order further to shorten line number, after all pairings are finished, carry out the merging of positive test point and reverse side test point;
C3, open circuit are optimized:
C31, initialization chained list read the information that first in the 8th container gone, and first node of chained list is carried out initialization;
C32, continue to read the information of the next line in the 8th container, moving hand is to first node place of chained list;
C33, calculate the displacement of this row information at each node place;
Whether C34, judgement exist striker in the process of calculating displacement, promptly the x axial coordinate of left side point if there is striker, is then adjusted coordinate greater than the x axial coordinate of the right point, carries out the calculating of displacement again;
C35, judge whether pointer arrives the chained list tail;
If the C36 pointer does not arrive the chained list tail, move the pointer to the next node place of chained list, repeating step C32, C33, C34, C35 when pointer arrives the chained list tail, are inserted into the node place with minimum displacement with the information of the row that reads in;
C37, judge in the 8th container all row information whether run through;
C38, when the information of all row in the 8th container when not running through, repeating step C32 is to step C37; After the information of all row in the 8th container runs through, chained list information is write test file;
E, output test file: after open circuit optimization is finished, will generate the CONTI.LST file according to the IPC file standard.
2. optimization method of printed-circuit board test path according to claim 1 is characterized in that: when carrying out the pairing of positive millet cake among the step C22, method is as follows:
Is the number of point of network number of judging the current pairing in first container more than or equal to 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, get remaining point and be pressed in the 6th container; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, get two continuous points and be pressed in the 6th container, and the previous point that deletion is pressed in first container.
3. optimization method of printed-circuit board test path according to claim 2 is characterized in that: carry out the pairing of two-sided point among the step C22, and the positive millet cake number of this network is during greater than reverse side point number, method is as follows:
Is the number of the point of the network number of the current pairing in C221, judgement first container greater than 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container more than or equal to 2 the time, carry out step C222;
Is the number of the point of the network number of the current pairing in C222, judgement second container more than or equal to 2? when the number of the point of the network number of the current pairing in second container less than 2 the time, carry out step C224; When the number of the point of the network number of the current pairing in second container more than or equal to 2 the time, carry out step C223;
C223, be pressed in the 8th container after from first container and second container, respectively getting the combination of 2 points; Each deletes the previous point that is pressed into from first container and second container again; Return and carry out step C222;
Is the number of the point of the network number of the current pairing in C224, judgement first container greater than 2? when the number of the point of the network number of the current pairing in first container less than 2 the time, carry out step C226; When the number of the point of the network number of the current pairing in first container greater than 2 the time, carry out step C225;
C225, from first container, get and get remaining point in 2 points and the 2nd container and be pressed into the 8th container, and from first container, delete these 2 points of being got, return then and carry out step C224;
C226, be pressed in the 8th container after getting the remaining some combination of first container and second container.
4. according to claim 2 or 3 described a kind of optimization method of printed-circuit board test path, it is characterized in that: the merging method of positive test point of step C23 and reverse side test point is as follows:
Do you C231, judge that the 6th container is empty? when the 6th container is not sky, the pairing of the residue in the 7th container row is pressed in the 8th container; When the 6th container is sky, proceed step C232;
Do you C232, judge that the 7th container is empty? when the 7th container is not sky, the pairing of the residue in the 6th container row is pressed in the 8th container; When the 7th container is sky, proceed step C233, C234;
C233, respectively get delegation in the 6th container and the 7th container, be pressed in the 8th container after being combined into new delegation;
The row that is pressed into the 8th container in C234, deletion the 6th container and the 7th container.
CN2009101910183A 2009-09-29 2009-09-29 Optimization method of printed-circuit board test path Expired - Fee Related CN101667219B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101910183A CN101667219B (en) 2009-09-29 2009-09-29 Optimization method of printed-circuit board test path

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101910183A CN101667219B (en) 2009-09-29 2009-09-29 Optimization method of printed-circuit board test path

Publications (2)

Publication Number Publication Date
CN101667219A CN101667219A (en) 2010-03-10
CN101667219B true CN101667219B (en) 2011-07-06

Family

ID=41803839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101910183A Expired - Fee Related CN101667219B (en) 2009-09-29 2009-09-29 Optimization method of printed-circuit board test path

Country Status (1)

Country Link
CN (1) CN101667219B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI426366B (en) 2011-01-17 2014-02-11 Hon Hai Prec Ind Co Ltd System and method for automatically searching and optimum arranging test points
CN102607491B (en) * 2011-01-20 2014-08-20 鸿富锦精密工业(深圳)有限公司 Automatic searching and optimizing system and method for testing point
CN104422845B (en) * 2013-08-28 2017-06-23 深圳麦逊电子有限公司 A kind of intelligence four line selection point methods of PCB electric performance tests point
CN105911450B (en) * 2016-03-22 2018-03-23 重庆大学 Flying probe tester open test method for optimizing route
CN108196182B (en) * 2017-12-30 2020-04-21 大族激光科技产业集团股份有限公司 Reference network selection method and device for flying probe test

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776692A (en) * 2004-11-19 2006-05-24 冲电气工业株式会社 Layout design method for semiconductor integrated circuits
CN101424723A (en) * 2008-12-12 2009-05-06 四川长虹电器股份有限公司 Optimizing method based on four-needle flying-needle test path

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776692A (en) * 2004-11-19 2006-05-24 冲电气工业株式会社 Layout design method for semiconductor integrated circuits
CN101424723A (en) * 2008-12-12 2009-05-06 四川长虹电器股份有限公司 Optimizing method based on four-needle flying-needle test path

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2000-19224A 2000.01.21

Also Published As

Publication number Publication date
CN101667219A (en) 2010-03-10

Similar Documents

Publication Publication Date Title
CN101667219B (en) Optimization method of printed-circuit board test path
US7559045B2 (en) Database-aided circuit design system and method therefor
KR101380478B1 (en) Area classifying device, substrate detecting device and method for classifying area
US6629307B2 (en) Method for ensuring correct pin assignments between system board connections using common mapping files
CN102236600A (en) Method and device for obtaining code coverage rate
CN110222381A (en) Document generating method, system, medium and terminal are guided in dynamic installation for PCB assembly
CN101963651A (en) Printed circuit board test assisting apparatus and printed circuit board test assisting method
JP2006350451A (en) Circuit design support device and circuit design support method
CN113704839A (en) Method and system for automatically generating route information table based on depth priority
CN116070577A (en) Method and system for detecting and optimizing connection strength of power supply network
CN113696942B (en) Depth-first-based train route acquisition method and system
CN100407878C (en) Method and apparatus for examining uniformity
CN108011317A (en) A kind of railcar electrical cabinet harness production method
CN114596302A (en) PCB defect detection method, system, medium, equipment and terminal
CN105911450B (en) Flying probe tester open test method for optimizing route
CN117217163A (en) Script-based SOC chip testing method
CN115081389B (en) Printed circuit board wiring inspection method, device, equipment and storage medium
WO2023035471A1 (en) Wiring quality detection method and apparatus, and storage medium
CN1991847A (en) Data base aided circuit design system and method thereof
CN1979500A (en) Part arrangement automatical checking system and method
CN107656187A (en) A kind of differential line test information determines method and apparatus
CN101206679B (en) Method for examination of layout design regulation and recording medium capable of reading by computer
CN110188463A (en) A kind of sawtooth smoothing method of arrays of vias
CN114815494B (en) Optical proximity correction method and system, mask plate, equipment and storage medium
CN117370436B (en) Method and system for quickly rechecking municipal road earthwork quantity

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110706

Termination date: 20140929

EXPY Termination of patent right or utility model