CN115238636A - Automatic VIA hole digging method, system and terminal based on visualization - Google Patents

Automatic VIA hole digging method, system and terminal based on visualization Download PDF

Info

Publication number
CN115238636A
CN115238636A CN202210939007.4A CN202210939007A CN115238636A CN 115238636 A CN115238636 A CN 115238636A CN 202210939007 A CN202210939007 A CN 202210939007A CN 115238636 A CN115238636 A CN 115238636A
Authority
CN
China
Prior art keywords
layer
digging
information
csv
hole digging
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.)
Granted
Application number
CN202210939007.4A
Other languages
Chinese (zh)
Other versions
CN115238636B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210939007.4A priority Critical patent/CN115238636B/en
Publication of CN115238636A publication Critical patent/CN115238636A/en
Application granted granted Critical
Publication of CN115238636B publication Critical patent/CN115238636B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement

Abstract

The invention provides a visual automatic hole digging method, a visual automatic hole digging system and a visual automatic hole digging terminal, wherein an SI hole digging requirement template in a csv format is established; creating a form for uploading; analyzing and acquiring an uploaded csv format file; acquiring the number of lines; the line information is put into a listA according to the 'dividing first routing', and elements of the listA are duplicated and recorded as listB; acquiring the number of lines, performing the number of the first line, and taking the length after the number of the first line as the number of columns cols; creating a new layer, and deleting the information of the layer before the operation of importing the csv file is executed each time; drawing a table with the same row number and column number as the csv on the new layer; writing the csv information into a newly-built table; and executing an automatic hole digging process according to the SI information. The invention can visually and automatically dig holes according to requirements, thereby reducing the workload and time of designers and reducing the labor cost.

Description

Automatic VIA hole digging method, system and terminal based on visualization
Technical Field
The invention relates to the technical field of PCB design and manufacture, in particular to a visual automatic hole digging method and system for VIA based on visualization and a hole digging terminal.
Background
At present, a plurality of PCB design software exist in the market, cadence is the most widely applied software in the industry, not only is the Cadence provided with strong functions and a plurality of related software to support, but also because the Cadence provides an open secondary development interface and a more perfect development language library, users can carry out secondary development according to self needs. The sketch language is a high-level programming language based on a C language and an LISP language, which is built in Cadence software, the Cadence provides rich interactive functions for the sketch language, and the work efficiency can be greatly improved by researching the sketch language and then writing tools and putting into application.
In PCB design, via connecting high-speed signal, SI has different digging requirements for digging hole value of via of different connection levels through simulation, at present, SI digging hole csv format requirement file is compared manually, manual digging is adopted, via connecting high-speed signal line in each server master edition has thousands, and the digging hole requirements of different levels are inconsistent, so that a great deal of manpower is easily omitted and wasted.
Disclosure of Invention
The invention provides a visual automatic hole digging method for VIA, which solves the problems that hole digging is carried out manually according to hole digging requirements csv documents provided by SI, and then hole digging is carried out by inputting hole digging values one by one, so that time and labor are wasted, and omission is easy to occur.
The automatic VIA hole digging method based on visualization comprises the following steps:
the steps of creating an SI hole digging requirement template in a csv format;
step two, creating a form through an axlFormCryate function, and selecting a local SI to upload the via hole digging requirement;
step three, establishing a dataTable table; analyzing and acquiring the uploaded csv format file by utilizing an infile function;
step four, acquiring dataTable row number as j, declaring a variable n, and counting n from 1; the line information is put into a listA according to the line information, and the elements of the listA are subjected to duplication removal and then recorded as listB;
step five, if the lengths of the listA and the listB are consistent, acquiring the row number by using length (tableToList) to be tablesize, performing the number of the first row, and taking the length after the row number as the column number cols;
step six, creating a new layer which is recorded as newLayer = 'BOARD GEOMETRY/SIINFO', deleting the information of the layer before each operation of importing the csv file is executed, and ensuring that the user modifies the imported csv information to be the latest;
step seven, drawing a table with the same row number and column number as the csv on the new layer surface newLayer;
step eight, writing the csv information into the newly-built table;
and step nine, executing an automatic hole digging process according to the SI information.
It should be further noted that, the step nine of executing the automatic hole digging process according to the SI information includes:
1) Circulating i =1 to tablesize-1, taking the first number as route, taking the second number to be divided into a hole digging hierarchy list viaLayerList according to the "/", taking the third number to be divided into a list hole digging mode typeList according to the "/", and taking the fourth number to be divided into a hole digging external expansion value according to the "/";
2) Let n =1 cycle to the length of the via LayerList, take the nth elements of the via LayerList, typeList, and valuelist as: layer, viatype, value, declare a table, sinfotable, records sinfotable [ route ": layer ] = list (viatyp value) such as sinfotable [ L1-L5: L2] = (S4) to loop end;
3) Filtering all the via meeting the hole digging condition, and putting the corresponding dbid into a list according to a differential pair mode;
4) Obtaining all route levels of the current design file through a function and recording the route levels as layers by the axlSubclassRote;
5) All the via pairs connected by the differential signals are acquired and put into the list to carry out cyclic operation,
6) And j =1 to the length of the layers, splicing La-Lb: lj, if the siInfTable [ La-Lb: lj ], acquiring a first number of the siInfTable [ L1-L5: L2] to obtain a single digging or double digging when the type of the dug hole is obtained, wherein a second number is an outward expansion value of the dug hole, and after the cycle is finished, all via meeting the conditions are dug according to the csv file required by the SI completely.
It should be further noted that, in step 5), a layer connected to via is obtained by using a function axlddbgetconnect and divided by "/" to obtain a start level, and the position of the start level in the layers is obtained according to the lindex function and is denoted as ab.
It should be further noted that, in the step one, routing is configured as via, layer is configured as a level requiring hole digging, type is configured as a hole digging mode of each level, and value is configured as a value of extension of each hole digging mode of each level.
It should be further noted that, in the third step, a variable i is asserted, i = -1, a loop is started to fetch a file, the content of each line is recorded as a line, the line information obtained through the gets function is recorded as dataTable [ i ] = line, and then i = i +1 until all the lines are obtained.
It should be further noted that, in step four, if the lengths of listA and listB are not the same, there is a duplicate entry; and if the request is repeated, prompting the irrational existence of the SI request and prompting the confirmation of designers and SI related personnel.
It should be further noted that, in step seven, the table method for drawing the same number of rows and columns as the number of csv on the new layer surface newLayer is as follows:
1) Executing a two-layer loop, the outermost declaring variable L =1 looping to tablesize and then declaring variable C =1 beginning to cols;
2) The configuration drawing table is 500 in width and 100 in height;
starting from the left lower part, drawing one line, and superposing and drawing the line until the line number is the same as that of the csv file;
3) Drawing a line by using a function axlPathLine to obtain a path of each rectangle, drawing a new layer by using the function axlDBCreatePath, recording dbid of each rectangle and putting the dbid into lineDbidList;
4) After the circulation is finished, a group is created by using the function axlDBCreateGroup.
It should be further noted that, in step eight,
1) Taking a first coordinate of beginPointTable [1], recording a 'Routing' character of a header through a function axlDBCreateText, recording a 'Layer' of the header through a second coordinate, recording a 'Type' through a third coordinate, and recording a 'Value' through a fourth coordinate, so that header information in a specified Layer is written;
2) B, taking out data of dataTable [ h-1] by h =2 to tablesize and a partstring function, dividing and placing the data into a listC according to the number, wherein the first number in the listC is the value of a first row corresponding to header Routing, the first number of beginPointTable [ h ] is the coordinates of the starting point of the first number, writing the number into a table by using a function axlDBCreateText, and simultaneously recording the obtained dbid into tempTextDbidList, the second number in the listC is the value of a first row corresponding to header Layer, and the second number of beginPointTable [ h ] is the coordinates of the starting point of a second number in the first row and is circularly finished from subclass to fourth number;
3) The function axlddbcreategroup is used to put to group and to delete the old table information each time the import file is changed.
The invention also provides a VIA automatic hole digging system based on visualization, which comprises: the system comprises a digging template establishing module, an uploading module, an analyzing module, a line processing module, a layer establishing module, a layer processing module, an information writing module and an executing module;
the hole digging template creating module is used for creating an SI hole digging requirement template in a csv format;
the uploading module is used for creating a form through an axlFormCryate function and selecting a local SI to upload the via hole digging requirement;
the analysis module is used for creating a dataTable table; analyzing and acquiring the uploaded csv format file by utilizing an infile function;
the line processing module is used for acquiring dataTable line number as j, declaring variable n, and counting n from 1; the line information is put into a listA according to the line information, and the elements of the listA are subjected to duplication removal and then recorded as listB; if the length of listA and listB is consistent, using length (tableToList) to obtain the number of rows as tablesize, performing the number of the first row, and taking the length as the number of columns cols;
the layer creating module is used for creating a new layer which is recorded as newLayer = 'BOARD GEOMETRY/SIINFO', deleting the information of the layer before the operation of importing the csv file is executed each time, and ensuring that the csv information imported by a user is latest;
the layer processing module is used for drawing a table with the same row number and column number as the csv on the new layer newLayer;
the information writing module is used for writing the csv information into the newly-built table;
and the execution module is used for executing the automatic hole digging process according to the SI information.
The invention also provides a terminal which comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and is characterized in that the processor executes the program to realize the steps of the automatic hole digging method for the VIA based on visualization.
According to the technical scheme, the invention has the following advantages:
according to the visualization-based VIA automatic hole digging method, the visualization-based VIA automatic hole digging method can visualize the hole digging requirement of SI on the designated layer, and then automatically dig all VIA holes meeting the hole digging requirement according to the SI hole digging requirement, so that the problems that in the prior art, the number of main board through holes is large, and time and labor are wasted due to digging in sequence are solved. Still solve through artifical naked eye contrast SI hole digging requirement, the value of inputing the hole is dug by the layer face, can not guarantee that the requirement of digging the hole is according to SI requirement completely, the problem of omitting easily moreover. The method can also avoid inputting the outward expansion values one by one and digging at different layers, thereby reducing the workload for designers.
Moreover, the invention visualizes the SI digging requirement on the appointed layer, and can automatically dig all via meeting the digging requirement according to the SI digging requirement, thereby reducing the workload and time of designers, reducing the labor cost and improving the processing efficiency.
Drawings
In order to more clearly illustrate the technical solution of the present invention, the drawings used in the description will be briefly introduced, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
FIG. 1 is a flow chart of a visualization-based automatic VIA boring method;
fig. 2 is a schematic diagram of a visualization-based automatic VIA boring system.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
As shown in fig. 1, the present invention provides a visualization-based method for automatically digging holes in VIA, which is only a schematic illustration of the basic idea of the present invention, and the holes related to the present invention are only shown in the drawings rather than being drawn according to the number, shape and size of the components in the actual implementation, the type, number and ratio of each hole can be changed arbitrarily in the actual implementation, and the layout of the holes may be more complicated. In the present invention, VIA is VIA HOLE, which is the VIA HOLE. Mainly on the PCB.
The automatic VIA hole digging method based on visualization can acquire and process associated data based on an artificial intelligence technology. Among them, artificial Intelligence (AI) is a theory, method, technique and application device that simulates, extends and expands human Intelligence using a digital computer or a machine controlled by a digital computer, senses the environment, acquires knowledge and uses the knowledge to obtain the best result.
Fig. 1 shows a flow chart of a preferred embodiment of the visualization-based automatic VIA digging method of the present invention. The automatic VIA hole digging method based on visualization is applied to one or more hole digging terminals, wherein the hole digging terminals are equipment capable of automatically performing numerical calculation and/or information processing according to preset or stored instructions, and the hardware of the hole digging terminals comprises but is not limited to a microprocessor, an Application Specific Integrated Circuit (ASIC), a Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), embedded equipment and the like.
The hole-digging terminal can be any electronic product capable of performing human-computer interaction with a user, for example, a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), an Internet Protocol Television (IPTV), an intelligent wearable device, and the like.
The hole drilling terminal can also comprise network equipment and/or user equipment. The network device includes, but is not limited to, a single network server, a server group consisting of a plurality of network servers, or a Cloud Computing (Cloud Computing) based Cloud consisting of a large number of hosts or network servers.
The Network where the hole digging terminal is located includes, but is not limited to, the internet, a wide area Network, a metropolitan area Network, a local area Network, a Virtual Private Network (VPN), and the like.
The visualization-based automatic VIA digging method can visualize the digging requirement of SI on a designated level, and automatically dig all VIA meeting the digging requirement of SI, so as to solve the problems of large number of main board VIA holes and time and labor consumption in digging one by one in the prior art. Still solve through artifical naked eye contrast SI hole digging requirement, the value of inputing the hole is dug by the layer face, can not guarantee that the requirement of digging the hole is according to SI requirement completely, the problem of omitting easily moreover. The method can also avoid inputting the outward expansion values one by one and digging at different layers, thereby reducing the workload for designers.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Referring to fig. 1, a flow chart of a visualization-based automatic VIA digging method is shown, the method comprising:
s101, creating an SI hole digging requirement template in a csv format;
specifically, a template for SI hole digging requirements in csv format is created as follows: wherein routing represents the routing of via, layer represents the level needing to dig holes, and type represents the hole digging mode of each level: s-single dig, D-double dig, value represents the value of each hole digging mode outward expansion of each level. As shown in the following table:
Figure BDA0003784780670000071
s102, creating a form through an axlFormCryate function, and selecting a local SI to upload a via hole digging requirement;
s103, creating a table which is recorded as dataTable. And analyzing and acquiring the uploaded file in the csv format by using an infile function. Declaring a variable i, making i = -1, starting to loop to take a file, marking the content of each line as a line, and acquiring line information through a gets function as (a second behavior example): "L1-L5, L2/L3/L4/L5/L6/L7, S/S/D,4/4/4/5/5/6, Y \" is recorded as dataTable [ i ] = line, then i = i +1, until all lines are acquired.
In S104, in order to prevent correctness required by SI hole digging, legality of content data recorded in a dataTable table is required, a dataTable row number is obtained by using an existing function and is taken as j, a variable n is stated, the n starts from 1 (because dataTable [0] is a table head and does not need to be checked), line information is put into a listA according to the first routing after being divided, elements of the listA are subjected to duplication removal and then are taken as listB, and if the lengths of the listA and the listB are not consistent, a duplicate item exists; if the request is repeated, the irrationality of the SI requirement is prompted, and the designer and the SI related personnel are prompted to confirm.
S105, if there is no duplication, using length (tableToList (dataTable)) to obtain the row number as tablesize, and performing the number of the first row, and "take the length after" as the column number cols.
S106, creating a new layer and recording as newLayer = 'BOARD GEOMETRY/SIINFO', deleting the information of the layer before each operation of importing the csv file is executed, and ensuring that the csv information modified and imported by a user is always up-to-date.
S107, a table method for drawing the same row number and column number as the csv on the new layer surface newLayer is as follows:
1) Two layers of loops, the outermost declaring variable L =1 loops to tablesize and then declaring variable C =1 to begin to cols.
2) The newly drawn table temporarily has a width of 500 and a height of 100. And starting the table from the left lower part, drawing one line, and overlaying the line upwards until the line number which is the same as that of the csv file is drawn. The method comprises the following steps:
starting point: (C-1) × 500 (L-1) × 100;
the second point is that: c500 (L-1) 100;
the third point is that: c × 500;
the fourth point is: (C-1) 500 l 100;
the fifth point again returns to the starting point: (C-1) 500 (L-1) 100;
3) Drawing a line by using the function axlPathLine to obtain the path of each rectangle, drawing the line by using the function axlDBCreatePath on a newly-built layer, recording the dbid of each rectangle and putting the dbid into the lineDbidList.
In order to write characters on the forms at the later stage conveniently, the coordinates of the middle point of the left side of each form are required to be recorded as the starting point of the recorded characters when the forms are drawn. Declaring a list to store the starting point coordinate tempbeginnpointlist = list (); then declare a table, record each start point coordinate, note as beginPointTable = makeTable ("beginPointTable" nil)
The beginning of the sit-flat marks were recorded within each inner layer C cycle as: beginPointX and starting point ordinate are marked as beginPointY, then beginPointX = (C-1) × 500
beginnPointY = ((L-1) × 100+ L × 100)/2, put them into tempBeginPointList;
when the inner layer cycle is ended, representing that one row is ended, putting a starting point tempBeginPointList into a table beginPointTable, and making n = table because the record of the table is drawn from the last row upwards;
beginPointTable [ n ] = tempBeginPointList, then n = n-1;
and then emptying the tempbeginnpointlist content, and continuing to record the coordinates of the next row until the exit loop is finished.
4) After the circulation is finished, a group is created by using the function axlDBCreateGroup. Also for later programs to delete old tables each time a new csv file is imported
S108, writing the csv information into the newly-built table;
1) Taking the first coordinate of beginPointTable [1], recording the character of 'Routing' of the header through a function axlDBCreateText, recording the Layer 'of the header through the second coordinate, recording the Value' through the fourth coordinate of 'Type' through the third coordinate, and thus, the header information can be written in the appointed Layer.
2) Then let h =2 to tablesize, the parseString function takes out the data of dataTable [ h-1], and according to the "split" put into a listC, then the first number in listC is the value of the first row corresponding to header Routing, the first number of beginPointTable [ h ] is the starting point coordinate of the first number, the number is written into the table by using the function axlDBCreateText, and at the same time, the obtained dbid is recorded into tempTextDbidList (used for storing the dbid of each character), the second number in listC is the value of the first row corresponding to header Layer, the second number of beginPointTable [ h ] is the starting point coordinate of the second number in the first row, and the subclass is pushed to the fourth number to finish the cycle.
3) Then put to group using function axlddbcreategroup, delete old table information for each change to import file.
S109, a method for automatically digging holes according to the SI information;
in particular,
1) And circulating i =1 to tablesize-1, taking the first number as route, taking the second number to be divided into a hole digging hierarchy list viaLayerList according to the "/", taking the third number to be divided into a list hole digging mode typeList according to the "/", and taking the fourth number to be divided into a hole digging external expansion value valuelist according to the "/".
2) Let n =1 cycle to the length of the via LayerList, take the nth elements of the via LayerList, typeList, and valuelist as: layer, viatype, value, declare a table, sinnfetable [ route ": layer ] = list (viatype value), e.g., sinnfetable [ L1-L5: L2] = (S4) to loop end.
3) And filtering all the via meeting the hole digging condition, and putting the corresponding dbid into a list according to a differential pair mode.
4) and obtaining all route levels of the current design file through a function and recording the route levels as layers.
5) Obtaining via pairs connected with all differential signals, putting the via pairs into list, performing a cyclic operation, taking a via pair as an example, via1 and via2 respectively, obtaining layer connected with via by using a function axlDBGetConnect and dividing the layer by using "/", obtaining a starting level,
meanwhile, the position of the starting level in layers is obtained according to the lindex function and is recorded as a b, for example: 1. and 5, performing secondary filtration.
6) Let j =1 to the length of layers, concatenate La-Lb: lj, such as: L1-L5 is L2. If siInfoTable [ La-Lb: lj ], for example: if the sinfoTable [ L1-L5: L2] exists, the first number of the sinfoTable [ L1-L5: L2] is obtained to obtain single digging or double digging when the type of the dug hole is obtained, and the second number is an external expansion value of the dug hole. And (5) finishing the circulation, and completely digging holes for all the qualified via according to the csv file required by the SI.
The visualization-based VIA automatic hole digging method provided by the invention can be used for quickly visualizing the requirements according to the hole digging requirements put forward by SI in PCB design and automatically digging holes according to the requirements, thereby reducing the workload and time of designers, reducing the labor cost and improving the processing efficiency.
Based on the method, the invention also provides a visual-based automatic VIA digging system, as shown in fig. 2, the system comprises: the system comprises a digging template establishing module, an uploading module, an analyzing module, a line processing module, a layer establishing module, a layer processing module, an information writing module and an executing module;
the hole digging template creating module is used for creating an SI hole digging requirement template in a csv format;
the uploading module is used for creating a form through an axlFormCryate function and selecting a local SI to upload the via hole digging requirement;
the analysis module is used for creating a dataTable table; analyzing and acquiring the uploaded csv format file by utilizing an infile function;
the line processing module is used for acquiring dataTable line number as j, declaring variable n, and counting n from 1; the line information is put into a listA according to the 'dividing first routing', and elements of the listA are duplicated and recorded as listB; if the length of listA and listB is consistent, using length (tableToList) to obtain row number as tablesize, and taking the number of the first row and taking the length as column number cols;
the system comprises a layer establishing module, a file editing module and a file editing module, wherein the layer establishing module is used for establishing a new layer which is recorded as newLayer = 'BOARD GEOMETRY/SIINFO', deleting information of the layer before each operation of importing the csv file is executed, and ensuring that the csv information which is imported by a user is latest;
the layer processing module is used for drawing a table with the same row number and column number as the csv on the new layer newLayer;
the information writing module is used for writing the csv information into the newly-built table;
and the execution module is used for executing the automatic hole digging process according to the SI information.
The invention visualizes the excavation requirement of the SI on the designated level, can automatically excavate all via meeting the excavation requirement according to the SI, reduces the workload and time of designers, reduces the labor cost and improves the processing efficiency.
The elements and algorithmic steps of the examples described for the embodiments disclosed in the VIA automated boring system based on visualization provided by the present invention may be implemented in electronic hardware, computer software, or a combination of both, and in the description above the components and steps of the examples have been generally described in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The block diagrams shown in the figures of the visualization-based automatic VIA boring system provided by the present invention are only functional entities and do not necessarily correspond to physically separate entities. I.e. these functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor means and/or microcontroller means.
The visualization-based automatic VIA drilling method and system provided by the invention are the units and algorithm steps of each example described in connection with the embodiments disclosed herein, and can be implemented by electronic hardware, computer software, or a combination of both, and in the above description, the components and steps of each example have been generally described in terms of functions in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (10)

1. A visualization-based automatic VIA hole digging method is characterized by comprising the following steps:
step one, creating an SI hole digging requirement template in a csv format;
step two, creating a form through an axlFormCreate function, and selecting a local SI to upload the via hole digging requirement;
step three, establishing a dataTable table; analyzing and acquiring the uploaded csv format file by utilizing an infile function;
step four, acquiring dataTable row number as j, declaring a variable n, and counting n from 1; the line information is put into a listA according to the 'dividing first routing', and elements of the listA are duplicated and recorded as listB;
step five, if the lengths of the listA and the listB are consistent, using length (tableToList) to obtain the number of rows as tablesize, performing counting on the number of the first row, and taking the length as the column number cols;
step six, creating a new layer which is recorded as newLayer = 'BOARD GEOMETRY/SIINFO', deleting the information of the layer before each operation of importing the csv file is executed, and ensuring that the user modifies the imported csv information to be the latest;
step seven, drawing a table with the same row number and column number as the csv on the new layer surface newLayer;
step eight, writing the csv information into the newly-built table;
and step nine, executing an automatic hole digging process according to the SI information.
2. The visualization-based automatic cave-digging method for VIA according to claim 1,
the step nine of executing the automatic hole digging process according to the SI information comprises the following steps:
1) Circulating i =1 to tablesize-1, taking the first number as route, taking the second number to be divided into a hole digging hierarchy list viaLayerList according to the "/", taking the third number to be divided into a list hole digging mode typeList according to the "/", and taking the fourth number to be divided into a hole digging external expansion value according to the "/";
2) Let n =1 to the length of the via LayerList cycle, and get the nth elements of the via LayerList, typeList, and valierlist as: layer, viatype, value, declare a table, sinfotable, records sinfotable [ route ": layer ] = list (viatyp value) such as sinfotable [ L1-L5: L2] = (S4) to loop end;
3) Filtering all the via meeting the digging condition, and putting the corresponding dbid into a list according to a differential pair mode;
4) Obtaining all route levels of the current design file through a function and recording the route levels as layers by the axlSubclassRote;
5) All the via pairs connected by the differential signals are acquired and put into the list to carry out cyclic operation,
6) And j =1 to the length of the layers, splicing La-Lb: lj, if the siInfTable [ La-Lb: lj ], acquiring a first number of the siInfTable [ L1-L5: L2] to obtain a single digging or double digging when the type of the dug hole is obtained, wherein a second number is an outward expansion value of the dug hole, and after the cycle is finished, all via meeting the conditions are dug according to the csv file required by the SI completely.
3. The visualization-based automatic cave-digging method for VIA according to claim 2,
in step 5), a layer connected with via is obtained by using a function axlDBGetConnect and is divided by using "/" to obtain a starting level, and meanwhile, the position of the starting level in the layer is obtained according to a lindex function and is marked as ab.
4. The visualization-based automatic cave-digging method for VIA according to claim 1 or 2,
in the first step, routing is configured as via, layer is configured as the level needing to be dug, type is configured as the hole digging mode of each level, and value is configured as the value of the outward expansion of each hole digging mode of each level.
5. The visualization-based automatic cave-digging method for VIA according to claim 1 or 2,
in the third step, a variable i is stated, i = -1 is made, the file is cyclically taken, the content of each line is marked as a line, the line information acquired through the gets function is marked as dataTable [ i ] = line, and then i = i +1 until all the lines are acquired.
6. The visualization-based automatic cave-digging method for VIA according to claim 1 or 2,
in step four, if the lengths of listA and listB are not consistent, then there is a duplicate entry; if the request is repeated, the irrationality of the SI requirement is prompted, and the designer and the SI related personnel are prompted to confirm.
7. The visualization-based automatic cave-digging method for VIA according to claim 1 or 2,
in step seven, a table method for drawing the same row number and column number as csv on the new layer is as follows:
1) Executing a two-layer loop, the outermost declaring variable L =1 looping to tablesize and then declaring variable C =1 beginning to cols;
2) The configuration drawing table is 500 in width and 100 in height;
starting from the left lower part, drawing one line, and superposing and drawing the line until the line number is the same as that of the csv file;
3) Drawing a line by using a function axlPathLine to obtain a path of each rectangle, drawing a new layer by using the function axlDBCreatePath, recording dbid of each rectangle and putting the dbid into lineDbidList;
4) After the circulation is finished, a group is created by using the function axlDBCreateGroup.
8. The visualization-based automatic cave-digging method for VIA according to claim 1 or 2,
in the step eight, the step of the method comprises the following steps,
1) Taking a first coordinate of beginPointTable [1], recording a 'Routing' character of a header through a function axlDBCreateText, recording a 'Layer' of the header through a second coordinate, recording a 'Type' through a third coordinate, and recording a 'Value' through a fourth coordinate, so that header information in a specified Layer is written;
2) Let h =2 to tablesize, the parseString function takes out data of dataTable [ h-1], and according to the equation, the dataTable [ h-1] is divided and placed into a listC, the first number in the listC is the value of the first row corresponding to header Routing, the first number of beginPointTable [ h ] is the starting point coordinate of the first number, the number is written into the table by using the function axlDBCreateText, and simultaneously the obtained dbid is recorded into tempTextDbidList, the second number in the listC is the value of the first row corresponding to header Layer, the second number of beginPointTable [ h ] is the starting point coordinate of the second number in the first row, and the cycle is ended from subclass to the fourth number;
3) The function axlddbcreategroup is used to put to group and to delete the old table information each time the import file is changed.
9. A visualization-based automatic VIA boring system, which adopts the visualization-based automatic VIA boring method according to any one of claims 1 to 8; the system comprises: the system comprises a digging template establishing module, an uploading module, an analyzing module, a line processing module, a layer establishing module, a layer processing module, an information writing module and an executing module;
the hole digging template creating module is used for creating an SI hole digging requirement template in a csv format;
the uploading module is used for creating a form through an axlFormconcrete function and selecting local SI to upload the via hole digging requirement;
the analysis module is used for creating a dataTable table; analyzing and acquiring the uploaded csv format file by utilizing an infile function;
the line processing module is used for acquiring dataTable line number as j, declaring variable n, and counting n from 1; the line information is put into a listA according to the 'dividing first routing', and elements of the listA are duplicated and recorded as listB; if the length of listA and listB is consistent, using length (tableToList) to obtain row number as tablesize, and taking the number of the first row and taking the length as column number cols;
the system comprises a layer establishing module, a file editing module and a file editing module, wherein the layer establishing module is used for establishing a new layer which is recorded as newLayer = 'BOARD GEOMETRY/SIINFO', deleting information of the layer before each operation of importing the csv file is executed, and ensuring that the csv information which is imported by a user is latest;
the layer processing module is used for drawing a table with the same row number and column number as the csv on the new layer newLayer;
the information writing module is used for writing the csv information into the newly-built table;
and the execution module is used for executing the automatic hole digging process according to the SI information.
10. A terminal comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor when executing the program performs the steps of the visualization-based automatic hole digging method for VIA according to any one of claims 1 to 8.
CN202210939007.4A 2022-08-05 2022-08-05 Method, system and terminal for automatically digging holes in VIA based on visualization Active CN115238636B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210939007.4A CN115238636B (en) 2022-08-05 2022-08-05 Method, system and terminal for automatically digging holes in VIA based on visualization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210939007.4A CN115238636B (en) 2022-08-05 2022-08-05 Method, system and terminal for automatically digging holes in VIA based on visualization

Publications (2)

Publication Number Publication Date
CN115238636A true CN115238636A (en) 2022-10-25
CN115238636B CN115238636B (en) 2024-01-19

Family

ID=83678975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210939007.4A Active CN115238636B (en) 2022-08-05 2022-08-05 Method, system and terminal for automatically digging holes in VIA based on visualization

Country Status (1)

Country Link
CN (1) CN115238636B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260569A (en) * 2015-11-09 2016-01-20 浪潮集团有限公司 Method of automatically punching ground holes based on CadenceAllegro
CN112001147A (en) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 Method and system for automatically checking and correcting drilled hole based on Cadence skip
CN112235949A (en) * 2020-10-16 2021-01-15 苏州浪潮智能科技有限公司 Method, device and equipment for digging differential via hole in printed circuit board design
US20210059049A1 (en) * 2019-08-20 2021-02-25 Dell Products L.P. Space efficient layout of printed circuit board power vias
CN114096065A (en) * 2021-11-24 2022-02-25 胜宏科技(惠州)股份有限公司 Generating method of PCB high-precision drilling file and drilling method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260569A (en) * 2015-11-09 2016-01-20 浪潮集团有限公司 Method of automatically punching ground holes based on CadenceAllegro
US20210059049A1 (en) * 2019-08-20 2021-02-25 Dell Products L.P. Space efficient layout of printed circuit board power vias
CN112001147A (en) * 2020-08-14 2020-11-27 苏州浪潮智能科技有限公司 Method and system for automatically checking and correcting drilled hole based on Cadence skip
CN112235949A (en) * 2020-10-16 2021-01-15 苏州浪潮智能科技有限公司 Method, device and equipment for digging differential via hole in printed circuit board design
CN114096065A (en) * 2021-11-24 2022-02-25 胜宏科技(惠州)股份有限公司 Generating method of PCB high-precision drilling file and drilling method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘国敬;田洪涛;霍杰;宋婉贞;: "PCB基板测试数据提取与图形重绘", 电子工业专用设备, no. 05 *

Also Published As

Publication number Publication date
CN115238636B (en) 2024-01-19

Similar Documents

Publication Publication Date Title
CN109284578B (en) Logic circuit layout and wiring method, graphical display method and system thereof
US5375069A (en) Wiring routes in a plurality of wiring layers
CA2315456C (en) Schematic organization tool
Hassoun et al. A new network approach to symbolic simulation of large-scale networks
CN103218692B (en) Workflow mining method based on dependence analysis between activity
TWI643082B (en) A method and system for routing a solution path
US9390223B2 (en) Method of determining whether a layout is colorable
CN112235949A (en) Method, device and equipment for digging differential via hole in printed circuit board design
CN111600735B (en) Sample data processing method, system and device
CN105631118B (en) Programmable logic device graph drawing method and device
CN112818626B (en) Layout wiring method based on multiple masks
CN115238636A (en) Automatic VIA hole digging method, system and terminal based on visualization
CN111241779B (en) Method for designing irregular parallel lines based on Cadence design software
WO2020104342A1 (en) A data filtering device
CN115221835A (en) Physical verification method and device for chip design
US7681169B2 (en) Process for managing complex pre-wired net segments in a VLSI design
Hsieh et al. Generation and sketching of generalized kinematic chains
CN113255283B (en) Global wiring method for rapidly removing closed loop and redundant nodes
Lee Grammatical design with graphic statics: rule-based generation of diverse equilibrium structures
Hofmann et al. HEX: an instruction-driven approach to feature extraction
JP3293640B2 (en) Circuit data connection tracking system
Mudge et al. A VLSI chip assembler
JP2832618B2 (en) Display method of each data for forming wiring route of printed wiring board
Koller et al. The siemens-avesta-system for computer-aided design of MOS-standard cell circuits
CN109558684A (en) A kind of DRC processing method for deleting Net metal connecting line

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant