Научная статья на тему 'DISTRIBUTED PROCESSING IN ONLINE DESIGN RULE CHECKING'

DISTRIBUTED PROCESSING IN ONLINE DESIGN RULE CHECKING Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
28
6
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
DRC / DISTRIBUTED PROCESSING / DESIGN COMMANDS FILE / RULE CHECKING

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Revazyan D.

Design stages are accompanied by errors that do not involve intended errors. The Design Rule Checking (DRC) process was carried out in accordance with high norms, functional functionality of a natural nature to evaluate the design content at a conditional and logical level. The article presents the process of developing a DRC algorithm based on Distributed processing.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «DISTRIBUTED PROCESSING IN ONLINE DESIGN RULE CHECKING»

ИНФОРМАЦИОННЫЕ И КОММУНИКАТИВНЫЕ

ТЕХНОЛОГИИ

UDC 004.431

Revazyan D.

2nd year student master's program NPUA Armenia, Yerevan

DISTRIBUTED PROCESSING IN ONLINE DESIGN RULE CHECKING

Abstract. Design stages are accompanied by errors that do not involve intended errors. The Design Rule Checking (DRC) process was carried out in accordance with high norms, functional functionality of a natural nature to evaluate the design content at a conditional and logical level. The article presents the process of developing a DRC algorithm based on Distributed processing.

Keywords: DRC, Distributed Processing, Design Commands file, rule checking.

Introduction. One of the final stages in the design of printed circuit boards is the control of technological parameters. In computer-aided design (CAD) systems for printed circuit boards, technological parameters are controlled using the online design rule check (online-DRC). The online-DRC program is a high performance automated software module that checks the logical and physical integrity of PCB designs.

The use of this module in PCB design is necessary to control minimum clearances, minimum conductor widths, short circuits and other violations. The operation of the online-DRC software module in PCB CAD includes two main stages: setting restrictions (gaps, conductor widths, etc.) and setting up rule checking (a set of rules that must be checked before being sent to production). After configuration, a check is performed, as a result of which a list of errors is created. Errors should be analyzed and eliminated.

There is a lot of research and development in the field of computer-aided design of printed circuit boards. In particular, the results of using various CAD printed circuit boards have been published. The development of printed circuit boards in modern CAD software is considered in the works of Zhang [1], Wu [2], Dilip [3], Zhai [4] and others. Publications about online-DRC errors appeared back in the 70s of the XX century, modern discussions are described in the works of O'Riordan [5], Pais [6], Page [7], Ismail [8] and others. Despite the

rather large number of publications on this topic, methods for correcting online-DRC errors in the literature are presented unsatisfactorily, and the sequence for correcting online-DRC errors is usually solved by each designer individually, so the problem is relevant, and methods for solving it need detailed study and publication in the scientific literature.

The purpose of this work is to research distributed processing in online design rule checking.

Main part. To develop an algorithm, it is necessary to first analyze online-DRC errors and analyze methods for correcting online-DRC errors. Analysis and correction of online-DRC errors takes a long time - from tens of minutes to several days. Errors can be linked - one PCB layout error can generate multiple errors in a report. Thus, it is possible that after correcting one error in the PCB topology, the number of errors in the report will be reduced by 2 or more.

Analysis and correction of online-DRC errors in PCB CAD are presented in [9]. To speed up the PCB design process, it is necessary to correct errors in a certain sequence. Correcting errors in order (successively according to the list of errors) often leads to a situation where, after correcting the next error, the corrected previous error appears again. For example, when fixing tracing errors first and then placement errors, it is not uncommon to have to fix the same tracing error twice (before fixing the placement error and after fixing the placement error). Using the algorithm proposed in this paper will help to avoid multiple correction of one error.

Altium PCB CAD Designer, there are more than 50 of them. In accordance with the design rules, errors in the online-DRC report are grouped by types (the name of the error type usually looks like the name of the rule). Some PCB CAD systems categorize rule types, such as Altium Designer, there are 10 categories of rules. At the first stage of the research, online-DRC errors were corrected by category, but as a result of the research, errors were cyclical, and the sequence of correction of some categories did not affect the error correction time, so 6 groups of errors were formed: placement, tracing, production, electrical, microwave ), signal integrity.

Error groups include those types of errors whose correction sequence does not affect the error correction time. Two groups are identical to categories in Altium Designer: High Speed (MW) and Signal Integrity (signal integrity). These categories of rules are highly specific and are not used in the online-DRC check of many printed circuit board designs, such rules do not need to be set (specified). The paper proposes an algorithm for correcting online-DRC errors, which allows to reduce design time and improve the quality of PCB design, the use of which is possible in common software packages such as P-CAD, Altium Designer and KiCAD. The proposed algorithm for correcting online-DRC errors has been tested on several dozen PCB designs.

online-DRC error correction is an integral PCB design process and takes a long time. Increasing the speed of this process is an urgent scientific task, since the reduction of design time allows to reduce labor costs for product design and increase the competitiveness of the product. In this paper, it is proposed to increase the speed by using the online-DRC error correction algorithm. The application of the algorithm will allow correcting online-DRC errors in the optimal sequence (most quickly). Every experienced PCB designer must use the online-DRC error correction algorithm. And each developer, by trial and error, tries to develop his own optimal algorithm for correcting online-DRC errors. Until now, the algorithm for correcting online-DRC errors has not been proposed due to the large variety (uniqueness) of printed circuit board designs and the complexity of the universalization of such an algorithm.

The creation of the algorithm became possible with the increase in the functionality of CAD printed circuit boards; in modern CAD printed circuit boards, the categories of design rules are clearly delineated, which greatly facilitates the process of algorithmizing the correction of online-DRC errors. In this work, a universal algorithm for correcting online-DRC errors has been developed, the use of which will reduce the design time and improve the quality of designing various printed circuit boards - two-layer and four-layer; digital and analog.

Algorithm for correcting online-DRC errors. The main goal of the algorithm is to correct online-DRC errors in the PCB design as soon as possible. Before starting the design of printed circuit boards, it is recommended to disable the check of rules that are not used in the current project, i.e. change online-DRC settings. Then you need to develop the topology of printed circuit boards ( place components on printed circuit boards and route conductors). At the end of the design, you need to run a online-DRC check - as a result, an error report will be generated. If there are errors, they must be corrected in the following sequence.

1. Correction of errors in the placement of components (seats, parts, cutouts in the board, prohibited areas for placement). Placement errors can be violation of the gaps between the components, the intersection of the components, the location of the components outside the edges of the PCB.

2. Correction of accumulations of errors. A cluster of errors refers to several errors located close to each other. After correcting the accumulation of errors, it is recommended to perform the online-DRC check again (return to the beginning of the algorithm).

3. If the board includes microwave nodes and the rules for high-speed circuits have been established, then you need to correct the errors in the High category speed.

4. Correction of electrical errors - undivided connections, short circuits and gap violations between electrical objects in metallization layers.

5. Correction of routing errors - routing of differential pairs, routing in specified layers, wire widths, styles of vias, connection styles of pads and vias with polygons, and others.

6. Correction of errors affecting production - violations of the gaps in the protective mask; violations of gaps between objects of silk -screen printing ; violations related to test points and others.

7. Correction of signal integrity errors, including violation of permissible limits - circuit impedance, surges on the trailing and leading edges of the signal pulse, delay times of the trailing and leading edges of the signal, etc.

Experimental study of the proposed algorithm. In the process of developing a new printed circuit board, the designer sets himself the task not to violate the design rules (turning on the online-DRC- online function helps him in this ), therefore, with correct placement and routing (in compliance with the design rules), the number of errors does not exceed several dozen, and the number of types of errors usually does not exceed 2-3. The application of the developed algorithm in this case slightly speeds up the design process. But at a high level of complexity 1111 (multilayer 1111 with the number of components from 300 or more), the number of types of online-DRC errors increases (5 or more), and then the application of the algorithm is already relevant. When modifying the project 1111, the designer makes changes to the circuit, and then the changes are automatically transferred to the topology 1111. The number of errors can be 50 or more, and the average number of error types is 4-15.

The application of the developed algorithm for correcting online-DRC errors in this case can significantly reduce the design time of the PCB. In an imported PCB layout (for example, from P-CAD to Altium Designer ) there are a lot of online-DRC errors (more than 500) and a large number of error types (more than 10).

This is due to the fact that the project rules are imported incorrectly [10]. Before online-DRC checking imported projects, it is recommended to check and, if necessary, change the main rules (rule categories: placement, electrical and routing), and then perform a online-DRC check. The number of errors will noticeably decrease, but still, even in simple projects (several dozen components on the board), the number of errors can reach 100 or more, and the number of error types - 7 or more. In this case, in addition to using the developed algorithm, it is possible to recommend correcting the original PP topology file (preparing for export).

During the development and testing of the algorithm for 5 years, about 30 modifications of 1111 and about 50 exports of projects from various CAD 1111 were made.

Correcting online-DRC errors in Altium Designer. As one example of design modification in Altium Designer 15.0.7 used the module1.prjpcb project. The first version of this project included a two-layer printed circuit board with the following parameters: board dimensions - 82 * 63.5 mm 2 the number of

components - 97, the number of conductors - 1442, the number of vias - 65 (Fig. 1).

Figure 1 - PCB topology modulel.PcbDoc

The modification of the circuit in the file module l.schdoc included the removal of 5 components and their connections, the correction of the connections of 7 electrical connections, the addition of 2 electrical connections, the replacement of the footprint of one resistor. After the automated modification of modulel.pcbdoc and the launch of the online-DRC check, the number of online-DRC errors was 90. Five types of errors were generated in the report. Correction of online-DRC errors in order was completed in 29 min. Correction of online-DRC errors according to the developed algorithm was completed in 20 min. Thus, the time for correcting online-DRC errors was reduced by 1.45 times - this value is included in the range of Atmin-Atmax ratios (1.44-2.17) indicated in the table (for 5 types of errors).

As one of the export examples, the moduleA.pcb file was used - this is a model of a two-layer printed circuit board designed in P-CAD. The parameters of this printed circuit board: board dimensions - 98x67.5 mm 2 number of components - 37, number of conductors - 578, number of vias - 37 (Fig. 2).

Figure 2 - PCB topology moduleA.PcbDoc

After exporting to Altium Designer and running a online-DRC check, more than 500 errors were found in the PCB layout. In online-DRC/ Rules, the rules for the Placement, Electrical and Routing categories have been adjusted. After that, 334 errors were found in the PCB topology. The report generated 9 types of errors. Correction of online-DRC errors in order was completed in 57 min. Correction of online-DRC errors according to the developed algorithm was completed in 29 min. Thus, the time for correcting online-DRC errors was reduced by 1.97 times - this is the minimum value in the range of ratios A/ min -A/ max (1.97-2.58) indicated in the table (for 9 types of errors).

Correction of online-DRC errors in KiCAD. The kit-dev-coldfire-xilinx_5213 project was used as one example of project modification in KiCAD 4.0.0. The first version of this project included a four-layer printed circuit board with the following parameters: board dimensions - 157.48 * 91.44 mm 2 the number of components - 162, the number of conductors - 534, the number of vias - 253 (Fig. 3).

Figure 3 - PCB topology kit-dev-coldfire-xilinx_5213.kicad_pcb

Modification of the kit-dev-coldfire-xilinx_5213.sch circuit included the removal of 4 components and their connections, the correction of 6 electrical connections, the addition of 2 electrical connections, the replacement of the footprint of one capacitor. After making changes to the kit-dev-coldfire-xilinx_5213.kicad_pcb file, the number of online-DRC errors was 29. 5 types of errors were generated in the report. It is worth noting that KiCAD, P-CAD, EAGLE and other mid-level CAD systems have less functionality than Altium Designer ( Altium Designer is a high-level CAD system), and the number of violations checked in these CAD systems is much less (about 2 times) [11-14]. For example, antennas are not checked in these CAD systems, and you have to look for them on the board yourself, through visual inspection. Correction of 5 types of online-DRC errors found by the KiCAD system in order took 26 minutes. Another 30 min was spent on fixing 2 types of errors not detected by the KiCAD system (fixing antennas and crossing components on the board), i.e. in total, 56 minutes were spent to correct 7 types of errors. Correction of 7 types of online-DRC errors in KiCAD took 30 minutes according to the developed algorithm. Thus, in general, the time for correcting online-DRC errors decreased by 1.87 times - this value is included in the range of Atmin-Atmax ratios (1.762.45) indicated in the table (for 7 types of errors).

Automatically checked in PCB CAD, then they must be searched for independently and corrected in the sequence corresponding to the algorithm. In

this example, the correction by algorithm took much less time than by order. This is because, when corrected in order, the correction of placement errors generated new gap and intersection errors, including electrical errors that were corrected earlier (ie, some electrical errors had to be corrected again). When correcting according to the algorithm, placement errors were first corrected, which made it possible to avoid repeated correction of electrical errors.

In modern multifunctional PCB CAD systems (Altium Designer, Mentor Graphics Expedition, CADSTAR) the developed algorithm prompts the designer to group errors by type and plan an error correction sequence. In PCB CAD with limited functionality ( KiCAD, P-CAD, EAGLE, DipTrace ), in addition to the above, the use of the algorithm makes it possible to determine which errors to look for on their own (through visual control). It is worth noting that with an increase in the number of PCB layers, the number of components, the number of conductors and the number of vias, the number of online-DRC errors and types of online-DRC errors will increase, and the difference in time (with and without using the algorithm) will be more significant (time will be reduced by 5 or more times). According to the results of the experiments, it is possible to recommend the use of the developed algorithm with the number of types of errors from 4 or more.

Conclusion. The paper proposes an algorithm for correcting online-DRC errors. The proposed algorithm for correcting online-DRC errors has a distinctive advantage over traditional approaches - a sequence for correcting online-DRC errors has been developed, taking into account the totality of all types of errors. The practical significance for PCB designers lies in the fact that the application of the proposed algorithm can reduce the PCB design time and improve the quality of PCB design, which ultimately increases the competitiveness of the product.

The developed algorithm has been successfully applied to correct online-DRC errors in several dozen printed circuit boards in various PCB design automation systems. Based on the experiments, it can be concluded that the application of the algorithm is relevant when the number of types of errors is 4 or more. It should be noted that two- and four-layer printed circuit boards of digital, analog, and mixed devices were used in the experiments; the verification was performed without analyzing the integrity of the signals and without errors of microwave nodes. In the future, it is planned to continue experiments in this direction for multilayer printed circuit boards (with more than four layers) and microwave devices using signal integrity analysis. Based on the developed algorithm, it is possible to increase the functionality of online-DRC checking in existing PCB design automation systems, which will increase the efficiency of its use.

References:

1. Zhang L., Peng X.F., He L., Wan W.L. Complete design of circuit board based on Altium Desinger summer 09 // Applied Mechanics and Materials. 2013. V. 423-426. P. 2679-2683.

2. Wu T., Wang S.-X. Application of EDA technology in the education of automatic control system design // Communications in Computer and Information Science. 2011. V. 218. N 5. P. 240-244.

3. Dilip Save Y., Rakhi R., Shambhulingayya N.D., Srivastava A., Das M.R., Choudhary S., Moudgalya K.M. Oscad: an open source EDA tool for circuit design, simulation, analysis and PCB design // Proc. 20th Int. Conf. on Electronics, Circuits, and Systems. 2013. P. 851-854.

4. Zhai X.J., Bensaali F. Improved number plate character segmentation algorithm and its efficient FPGA implementation // Journal of Real-Time Image Processing. 2015. V. 10. N 1. P. 91-103.

5. O'Riordan D. Capturing and applying design intent // Electronic Engineering Times. 2006. N 8. P. 14351444.

6. Pais A.P.V., Anido M.L., Oliveira C.E.T. Developing a distributed architecture for design rule checking // Proc. 44th IEEE 2001 Midwest Symposium on Circuits and Systems. Dayton, OH, 2001. V. 2. P. 678-681.

7. Page T. Implementation of sample design rules in a commercially used PCB design application // Advances in Manufacturing Technology. 2000. V. XIV. P. 125-129.

8. Ismail M., El Shamy R.S., Madkour K., Hammouda S., Swillam M.A. Toward new design-rule-check of silicon photonics for automated layout physical verifications // Proceedings of SPIE - The International Society for Optical Engineering. 2015. V. 9367. Art. 93671K.

9. Романова Е.Б., Сумцов А.В. Анализ и коррекция DRC-ошибок в САПР печатных плат // Изв. вузов. Приборостроение. 2015. Т. 58. № 10. С. 840846.

10. Романова Е.Б. Разработка и апробация алгоритма коррекции ошибок в системах автоматизации проектирования печатных плат // Научно-технический вестник информационных технологий, механики и оптики. 2016. №2. URL: https://cyberleninka.ru/artide/n/razrabotka-i-aprobatsiya-algoritma-korrektsii-oshibok-v-sistemah-avtomatizatsii-proektirovaniya-pechatnyh-plat (дата обращения: 11.02.2022).

i Надоели баннеры? Вы всегда можете отключить рекламу.