WO2020008244A1 - Printed circuit board layout assessment tool - Google Patents
Printed circuit board layout assessment tool Download PDFInfo
- Publication number
- WO2020008244A1 WO2020008244A1 PCT/IB2018/055014 IB2018055014W WO2020008244A1 WO 2020008244 A1 WO2020008244 A1 WO 2020008244A1 IB 2018055014 W IB2018055014 W IB 2018055014W WO 2020008244 A1 WO2020008244 A1 WO 2020008244A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- database
- rule
- user
- project
- pcb
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
Definitions
- This application relates to a Printed Circuit Board layout assessment tool.
- PCB Printed Circuit Board
- EDA Electronic Design Automation
- ECAD Electronic Computer Aided Design
- Document US20020173867 A1 discloses a system that facilitates the designing and production engineering processes in a CAD environment. Through a web-based system, a tool for facilitating the collaboration activities related to electrical and mechanical design is provided. Indeed, there are two CAD applications related to the electrical and mechanical design of the PCB, which run on different workstations. Through a shared library each application makes use of the necessary information and the risk of losing data when transferring the files between systems is reduced due to this intermediate shared library.
- Document US20150302130 A1 discloses a system based on a web- service in which the customer, through an Internet browser program, uploads the design of the PCB to the fabricator, which will assemble the PCB accordingly to the received data.
- this communication link with standardized communication protocols, it is possible to transmit or receive web content in different formats, namely text, graphics, sounds, animations, video, and computer executable code.
- Internet browser programs also have the ability to execute program code in embedded software components, which expands the functionalities of such browsers.
- the customer may upload the PCB layout design and define the Bill of Materials (BOM) data.
- BOM Bill of Materials
- a user interface also allows the user to place or readjust the position of components in the PCB.
- the information is sent to the fabricator that may initiate the assembly of the PCB. This system automatically verifies the existence of possible conflicts in the PCB design like the overlapping of elements. Summary
- the present application discloses a Printed Circuit Board layout assessment tool comprising:
- a rules-processing block comprising a rule editor block and a rule database
- An ontology-processing block comprising an ontology editor block and an ontology database
- a project-manager processing block comprising a layout project manager block and a project database
- a rule verification engine comprising a design rule checking block and a component collision simulation block
- the design rule checking block is configured to evaluate the layout of the PCB stored in the project database with the rules saved in the rule database, said rules are in accordance with the ontology from the ontology database;
- the component collision simulation block is configured to simulate and evaluate the possibility of a collision between the components of a design layout according to the international standards related to the acceptability criteria of soldering requirements;
- the rule verification engine is configured to perform an assessment report based on the output of the design rule checking and component collision simulation blocks .
- each of the rules-processing block, the ontology-processing block and the project-manager processing block comprise one input and one output communication port configured to receive data from a user and to manipulate data stored in the respective databases, namely creating, editing or removing information regarding rules, ontology files and projects.
- the report database is configured to store the assessment report's file generated by the rule verification engine.
- the file format of the assessment report is of a PDF, XLS, XLSX, PNG or JPEG type.
- the present application also describes a system for assessing printed circuit board's layout comprising:
- a server unit comprising a communication module, at least one database, a memory module wherein the PCB layout assessment tool previously described is stored, being executed by the processor module;
- a user unit comprising a processor module, a communications module, and a memory module configured to execute a web-browser application
- the server unit hosts an application server configured to generate and send web pages as response to the Hypertext Transfer Protocol requests from the user's unit .
- the network is of a wireless or wired type connection. It is also described a method for assessing a PCB design layout, implemented with the system described above. Said method comprising the following steps:
- a user employing a user unit initiates the assessment request process on a server unit
- said information is gathered from project-database and from the report database, and is generated a readable file;
- the user is prompt to create a new project
- the user is prompt to insert project information; selection of a PCB;
- the user is prompt to select it from database
- the generated readable file is in a PDF, XLSX or CSV format.
- a processing rule is composed of at least one rule item, which is made by at least one guideline.
- the process of creating a rule comprises the following steps:
- the information data is related to the title of the process rule or its authors.
- the parameters are related to division and process definition.
- the process of creating a rule item comprises the following steps:
- the information data is related to the rule owner.
- the picture is uploaded via a standard web browser form.
- the picture is of a PNG, JPG, SVG or PDF format .
- Process rule structure is retrieved from the ontology stored in the ontology database
- Guideline is associated to a rule item and to a process rule.
- the present application intends to solve the problem associated with the validation process of a PCB design.
- PCB manufacturing process there are multiple steps that must be accomplished in order to create a functional PCB.
- PCB layout design rules where the machinery constraints are included as design rules.
- process rules which are specific for each company.
- the assessment tool is able to easily adapt to changes in the company' s processes by enabling a user to edit, remove or create new process rules according to the specific changes/needs of the company's processes .
- an assessment tool is implemented providing a way to automatically verify the design layout of a PCB according to predefined process rules.
- a process rule includes, for example, the position, rotation and type of components, areas around the component that must be clear, moisture sensitive devices that according to their level must be inserted in last place, components that may only support one reflow, among others. It's an object of the technology now developed that the evaluation process executed by the assessment tool assesses these constraints and considers possible collisions between the components of the PCB, between the components and the copper tracks (or vias), or simulates possible collisions due to the placement of the copper tracks (or vias) . Each process rule is automatically verified for every component of the PCB and any deviation is declared and described in a final report.
- the present technology provides a tool that performs a validation procedure over components present in different PCB layers. Indeed, the same process rule may present different parameters according to the layer which it refers to. The definition of keep out areas are also included in the evaluation process, which highly increases the complexity of the verification rules. It's another object of the present technology that the inclusion of all these specifications is made by a user, which uploads a XML file with the identification of the components that must take into account these specific elements. Alternatively, the assessment tool may access a web service that has information regarding all components and extract the data of the components that have to be verified.
- the PCB layout design assessment is not dependent on one type of standard.
- the assessment tool is able to automatically detect the standard or, as alternative, prompt the user to set it.
- the assessment tool is also able to analyze/validate XML files generated by other tools like, but not limited to, Zuken ® or Altium ® software applications.
- Zuken ® or Altium ® software applications For the rule creation process, there is an ontology that must be followed. This establishes a hierarchy for the rules, setting the elements that must be present when some component is selected.
- the assessment tool now developed leads to a process for creating rules that is more flexible, enabling the definition of all features' details, not being just a parametrization of values.
- the process rule being based on the ontology, which is independent on the content of the XSD validation rule file, allows that a change on the referred file will automatically change the hierarchy of the elements in the rule.
- the assessment tool now developed is completely adaptive to any type of ontology and is also adaptable to different business areas and establishes a standardization in the created rules with an intuitive user interface.
- the above and other objects can be accomplished with an assessment tool, to be executed in a processing device or in a network system, integrating a set of processing blocks that are configured to automatically verify the design layout of a PCB according to specific process rules.
- the assessment tool comprises a rules-processing block, an ontology processing block, a project manager-processing block, a rule verification engine and a report-database.
- the rules- processing block is comprised by a rule editor block and a rule-database.
- the ontology-processing block is comprised by an ontology editor block and an ontology-database.
- the project manager-processing block is comprised by a layout project manager block and a project-database.
- Each of these three blocks comprises input and output communication ports, and make use of the communication interfaces of the processing apparatus where the assessment tool is being executed to communicate with the user, specifically for receiving the necessary data or intended commands, and enabling the manipulation of the data stored in the respective databases, namely creating, editing or removing information regarding rules, ontology files and projects.
- the rule verification engine retrieves data from the databases of each block to validate the PCB design layout with respect to the design rules selected and to check for collisions between components in the PCB.
- design rule checking block verifies the layout of the PCB stored in project database taking into consideration the rules saved in the rule-database, which must be in accordance with the ontology from the ontology-database.
- the component collision simulation block checks if the components of a design layout do not collide. This process is performed by simulating the maximum displacement of a component, which is caused by the process variability using the maximum offset defined by international standards, and, in that worst case, verified if there are no collisions.
- the verification of the rules by these blocks consider, for example, a process rule that states that component A has a keep out area (KOA) to components B and C. This KOA may differ over the several attributes associated to the components.
- KOA keep out area
- the KOA attribute associated to the solder paste layer of the component A to component B may differ from the KOA attribute of component A to component C. If the measured distance is smaller than the defined, the process rule is validated, generating a warning and registering the deviation otherwise. This process is performed for every elements and to all process rules that have to be considered to each component. The result of such assessment is saved in the report-database and may be provided in a file format like, but not limited to, Portable Document File (PDF) , Microsoft Excel (XLS or XLSX) , or an image format file such as PNG and
- PDF Portable Document File
- XLS or XLSX Microsoft Excel
- PNG image format file
- the developed PCB layout assessment tool is implemented in web-service system architecture, that can be accessed by a user by means of a web browser application.
- Such an architecture includes a server unit, comprising at least one database that is connected to at least one user's unit by means of a network.
- the network can be a private or a public network, and the link between both units can be established using wireless or wired communication protocols.
- Both user unit and server unit are connected through said network using the respective communication modules that may be, for example but not limited to, Ethernet or wireless cards, and are configured to interface using the network link to exchange information data like requests, files, responses or other type of commands.
- different architectural setups for the system can be also considered, such as the stand-alone architecture, in which the assessment tool is executed in the user' s computer and access the databases in the server side, or the user has its own databases and the tool works completely offline.
- the user unit is comprised by a communications module, a processor module and a memory module in which the web browser application is executed.
- a user unit may be considered any device with capacity to present data and that enables the user to input data, including, but not limited to, computers or mobile devices.
- the server unit comprises a processor module, a communications module and a memory module where is generally included a readable medium storing that contains a readable program code where the techniques and processes described related to the PCB layout assessment tool are installed, being executed by the processor module. Therefore, an application server hosted by the server unit generates and sends web pages as response to the Hypertext Transfer Protocol requests from the user unit.
- the graphical user interface is provided to the user by the application server in the form of web pages, which are accessible from any web browser. Through these web pages, the user receives interface screens with different tools that enable the interaction with the assessment tool, namely manipulate data, insert design layouts, assess design layout rules, etc.
- the server unit also includes a database to store all data required by the components of the system. Said database may also be divided in different databases according to the type of data that is needed in each user interaction/activity/request, and may be provided as, but not limited to, a database management system, a relational database management system, a file system or a combination of such systems. This database may be accessed using Structured Query Language (SQL) or other tools.
- SQL Structured Query Language
- Figure 1 illustrates a conceptual diagram representing the web-service system architecture implementing the PCB layout assessment tool developed, in which the reference signs represent :
- Figure 2 illustrates a conceptual diagram of the building blocks of the server unit and of the user unit, of the web- service system architecture of figure 1, in which the reference signs represent:
- Figure 3 illustrates a conceptual architecture scheme of the PCB layout assessment tool, in which the reference signs represent :
- Figure 4 is a flow chart representing an exemplary process of creating a process rule within the PCB layout assessment tool developed.
- Figure 5 is a flow chart representing an exemplary process of creating a rule item within the PCB layout assessment tool developed.
- Figure 6 is a flow chart generally representing an exemplary process of creating a guideline within the PCB layout assessment tool developed.
- Figure 7 is a flow chart generally representing an exemplary process of the PCB layout assessment tool developed.
- Figure 8 is a diagram representing an exemplary structure for creating a process rule within the PCB layout assessment tool developed.
- Figure 9 is a text expression for the exemplary process rules of Figure 8.
- web-service system architecture comprises at least one server unit (110) and at least one user unit (130), which are connected over a network (150) . Both units (110) and (130) may be linked through a private or public network, using different communication strategies like wireless or wired protocol connections .
- the user unit (130) is comprised by a communications module (138), a processor module (132) and a memory module (140), in which a web browser application (142) is executed.
- the server unit (110) is comprised by a communications module (118), a processor module (112) a database (114) and a memory module (120) .
- Said memory module (120) includes a readable medium storing containing a readable program code where the PCB layout assessment tool (124) now developed is installed, being processed by the processor module (112) .
- the PCB layout assessment tool (124) establish the communication with the user by means of an application server that generates and sends Web pages as response to the Hypertext Transfer Protocol requests from the user unit's web browser (142) . Therefore, the graphical user interface is provided to the user by the application server in the form of web pages, which are accessible from any web browser (142) .
- the user unit (130) receives interface screens with different tools that enable the interaction with the application server and consequently with the PCB layout assessment tool (124), namely by manipulating data, inserting design layouts, assessing design layout rules, etc.
- Database (114) is divided in different databases according to the type of data that is needed in each user interaction/activity/request.
- the database (114) may be provided as, but not limited to, a database management system, a relational database management system, a file system or a combination of such systems. This database (114) may be accessed using Structured Query Language or other tools.
- Both server and user units are connected through a network (150) using the respective communications modules (118) and (138) .
- These communications modules may be, for example, but not limited to, Ethernet or wireless cards, and are configured to interface using the network link (150) to exchange information. Through this network is possible to send and receive information like data, requests, files, responses and other type of commands.
- Figure 3 illustrated another embodiment of the technology now developed, showing the conceptual diagram of the PCB layout assessment tool (124) developed. It is comprised by a rules-processing block, comprised by a rule editor tool (201) for editing rules and its respective database - rule- database (202) -, an ontology-processing block, comprised by an ontology editor tool (203) for editing the ontology file and the corresponding database (204) - ontology-database (204) -, and a project-manager processing block, comprised by a layout project manager tool (205) with its database - project-database (206) .
- a rules-processing block comprised by a rule editor tool (201) for editing rules and its respective database - rule- database (202) -
- an ontology-processing block comprised by an ontology editor tool (203) for editing the ontology file and the corresponding database (204) - ontology-database (204) -
- a project-manager processing block comprised by a layout project manager tool (205) with its database - project
- These tools (201), (203) and (205) are fed with the necessary data or intended commands from the user unit's web browser (142), through the input interfaces (207), (208) and (209), respectively, enabling the manipulation of the data stored in the databases (202), (204) and (206), namely creating, editing or removing information regarding rules (201), ontology files (203) and projects (205) .
- the data from databases (202), (204) and (206) is used by a rule verification engine (210) for validating the PCB design layout with respect to the design rules and to check for collisions between components in the PCB.
- design rule checking tool (211) verifies the layout of the PCB stored in database (206) taking into consideration the rules saved in rule-database (202), which must be in accordance with the ontology file from the ontology-database (204) .
- the component collision simulation tool (212) checks if the components of a design layout from project-database (206) do not collide.
- the output of the rule verification engine (210) is saved in the report- database (213) and may be provided in a file format like, but not limited to, Portable Document File (PDF) , Microsoft Excel file format such as XLS or XLSX, or an image format file such as PNG and JPEG.
- PDF Portable Document File
- Microsoft Excel file format such as XLS or XLSX
- image format file such as PNG and JPEG.
- the layout project manager tool (205) enables the user to upload a design layout of a PCB or to select a previously uploaded one through the input (209) .
- the design layout may be generated from different external tools and is provided in an extensible Markup Language (XML) format.
- XML extensible Markup Language
- Each component defined in this file is identified with a unique reference designator that according to the tools that generated the file, may have different identifications.
- the ontology rule from ontology- database (204) and the rules stored in rule-database (202) is possible to adjust this identifier independently from its source.
- the rule verification engine (210) checks the rules considering the values defined through the ontology and process rules, which turns it more independent from the external tool that generated the design layout and, consequently, more flexible to read and check the conformity of different layout designs.
- Figure 4 illustrates a flow chart representing an exemplary process of the embodiments for creating Process Rules.
- a Process Rule is composed by at least one Rule Item, which is made by at least one guideline.
- the sample process may be performed by a processing logic within the application server, by user unit's web browser (142), or a combination of both.
- a user employing a user unit (130) initiates the creation of process rules on a server unit (110) .
- the user starts the creation of a Process Rule (401), then, at block (402), the user is prompted to insert some information regarding, but not limited to, title of the process rule, its authors, etc.
- the user defines the type of module, whereas in block (404), is prompted to select other parameters such as the division and the process.
- decision block (405) the user may select existing process rules. If the user chooses to select an existing process rule, all existing process rules are retrieved from database (202) and selected in block (406) . After selecting and inputting all necessary information in previous blocks, the user is prompted to submit the information in block (407) . Choosing to terminate the process, block (408), the data is submitted (410) and uploaded to the server unit (110) and stored in database (202), otherwise the data is discarded (409) . The user is notified via on-screen messages about the current upload process and is redirected to initiate the creation of rule item ( 501 ) .
- figure 5 illustrates the flow chart representing the execution process for creating Rule Items.
- the sample process may be performed by a processing logic within application server, by user unit's web browser (142), or a combination of both.
- a user employing a user unit (130) initiates the creation of Rule Items (501) on a server unit (110) .
- This process is a continuation of the process rule created, from which some information is passed.
- the user is prompted to input some data, for example, rule owner.
- decision block (503) the user choose to upload a picture.
- the user may upload a picture via a standard Web browser form.
- a picture may be in raster format, like PNG or JPG; in vector format, such SVG or PDF; or in other formats suitable for display by web browser (142) .
- decision block (505) the user can choose to add a caption, block (506) . Selecting and inputting all necessary information, the user is prompted to submit the data, block (507), and through decision block (508), the user can choose to discard data (509) or submit the data through block (510) stored in rule-database (202) . The user is notified via on-screen messages about the current upload process and is redirected to initiate the creation of guidelines (601) .
- Figure 6 is a flow chart representing the execution process for creating guidelines.
- the sample process may be performed by a processing logic within application server, by web browser (142), or a combination of both.
- a user employing a user unit (130) initiates the creation of guidelines (601) on a server unit (110) .
- This process is a continuation of process for creating rule items, from which some information is passed.
- the user is prompted to input the data regarding the previously selected category, block (603) .
- the process rule structure is retrieved from the ontology stored in database (204), which ensures that vital information is inserted or blocks the insertion of values that should not be considered in a given element of the process rule.
- the process rule is well defined and structured, block (604), the user continues the guideline creation process, otherwise, the user is notified via on screen messages with the parameters or values that need to be checked, block (605) .
- the process prompts the user to upload a picture in block (606) . If the user intends to upload a picture through decision block (607) then in block (608) this process is achieved by uploading a figure via a standard Web browser form.
- a figure may be in raster format, like PNG or JPG; in vector format, such SVG or PDF; or in other formats suitable for display by web browser (142) .
- the user may decide to add a caption, block (609), if so he inserts the caption (610) .
- the user is prompted to submit all information regarding the guideline data, block (611) .
- block (612) all data is submitted in block (614) and stored in rule- database (202), otherwise the data is discarded (613) .
- the user is notified via on-screen messages about the current termination status and, if successful, the guideline is associated to the rule item and process rule.
- Figure 7 is a flow chart representing the execution process for assessing the PCB design layout, with the process rules stored in the database (202) .
- the sample process may be performed by a processing logic within application server, by a web browser (142), or by a combination of both.
- a user employing a user unit (130) initiates the assessment request process on a server unit (110) .
- This process is initiated by querying the user if the assessment request is for an existing project, decision block (702) .
- decision block (702) In a positive answer, it is gathered information about the project from database (206) and the assessment report stored in database (213) and, through block (701), generates a new human readable file, an assessment report (703) .
- This output may be created in different file formats like, but not exclusive, PDF, XLSX, CSV, among other types of available file formats.
- the user is prompted to create a new project, block (704), and to insert its data block (705), for example, the division of the project and the name for the new project.
- the user has to select a PCB, block (706) .
- the decision block (707) and if the PCB had already been created then the user may select it in block (708) .
- existing PCBs are retrieved from database (206) and available for user selection. Otherwise, the user has to create a new PCB through block (709) . Ending the creation process, the new PCB is stored in database (206) .
- the user is prompted to select the layout, block (710) .
- the procedure is identical to the PCB selection, in which, if the layout does not exist, the user has to create a new one, block (713) , and the system stores it in database (206) . If the layout had previously been created then existing layouts are retrieved from database (206) and available for user selection in block (712) .
- the assessment process may be initiated in block (714) . For this process, all rules considering the division of the project and the process of the PCB are retrieved from database (202) and used to evaluate the current project, with respect to the design layout.
- the corresponding report is generated in block (715) and the output may be generated in different file formats like, but not exclusive, PDF, XLSX, CSV, among other types of available file formats.
- the results, considering the report, are stored in database (213), whereas data related to the project is stored in database (206) .
- the user is notified via on-screen messages about the current assessment report generation process .
- Figure 8 is a diagram representing an exemplary structure for creating a process rule considering the dimension option and the ontology.
- the goal is to check the distance between two elements by setting the minimum or maximum distance between them.
- Block (801) states that the process rule is related to the distance between (802) two elements (803) and (807) . Both elements (803) and (807) result in a logical statement (804) and (808) .
- This distance must be measured from (805 and 809) a distance location (806) and (810), which may consider the center of the element (803) and (807), or other point from which it will be measured, and must be (811) in accordance with the operators defined through blocks (812) to (816) .
- Block (814) sets the units of this distance measurement such as, but not exclusive, millimeters, and block (815) defines the direction that should be considered to validate the distance rule, namely all directions, resulting in a final logical statement (816) .
- the user input is restricted to the value (813) whereas the remaining options may be in the format of drop boxes from which the user selects one available option.
- the process rules are standardized and the user input is reduced to its minimum, reducing the possibility to insert erroneous values or to select attributes that should not be considered.
- Figure 9 is a text expression for the exemplary process rule defined through figure 8.
- This expression starts with the process rule option type (801) that, for this exemplary definition, is the dimension and states that it sets that this dimension should consider element (803) and is measured from location (806) .
- This process is similar to element (807) and its distance location (810) .
- the distance between elements (803) and (807) must take into account the defined conditional operator (812) and the user inserted value (813) that is defined in measurement units (814) .
- the dimension option should be validated according to the direction (815) .
- the creation and edition of rules in block (201) applies an ontology that structures the elements that must be selected or defined through user inputs and also blocks the user to insert values that are not necessary or invalid.
- This ontology is flexible to be used under different business areas of the company and allows the definition of all process rules, which includes custom company's rules that are inherent to the fabrication process. Indeed, the ontology defines all rules as the composition of atomic operations using a set of operators, namely, but not exclusive, the use of filters, set minimum or maximum distances. This is also flexible to incorporate new process rules and is defined through an XSD format file.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The present application discloses a layout assessment tool for a Printed Circuit Board, based on manufacturing process guidelines. It is proposed an assessment tool where the machinery constraints are included as design rules. For that, the referred tool integrates a set of processing blocks that are configured to automatically verify the design layout of a Printed Circuit Board according to specific process rules. The assessment tool comprises a rules-processing block, an ontology-processing block, a project manager-processing block, a rule verification engine and a report-database. In this regard, said rule verification engine is responsible to retrieve data from the databases of each of the referred blocks in order to validate the design layout with respect to predefined design rules stored in a rule-database, which must be in accordance with the ontology stored in an ontology-database.
Description
DESCRIPTION
"Printed Circuit Board layout assessment tool"
Technical field
This application relates to a Printed Circuit Board layout assessment tool.
Background art
The design of a Printed Circuit Board (PCB) can be created and/or modified through Electronic Design Automation (EDA) software. There are multiple Electronic Computer Aided Design (ECAD) tools that facilitates the development of the PCB design, which is stored as digital files on a storage medium of a computer, like the hard drive. EDA software may also convert the PCB design to other standard file data commonly used in the industry.
There are several Computer Aided Design (CAD) disciplines where different assessments in the PCB are made. Thus, Mechanical Computer Aided Design (MCAD) systems evaluate mechanical constraints of the PCB, enabling the engineer to visualize the components and check if its geometry fits in the created design. With Electrical Computer Aided Design (ECAD) tools, the electrical engineer may evaluate electrical constraints in the PCB, namely electrical interference between components. In the design process a particular emphasis should be given to the integration of ECAD and MCAD systems since these complement each other. The physical layout is determined by the balance between the available space and the mechanical restrictions versus the size of the components that will be placed on the PCB.
Therefore, the PCB assembly process is very complex since it may incorporate a high number of elements. Prior to this process there is a verification step where restrictions and constraints should be verified in order to produce a working PCB. Most EDA software enables the user to create process rules but, due to proprietary reasons, they only allow the parametrization of some values. Current approaches apply these software systems to create the maximum number of process rules and validate the PCB design according to the previously defined rules. Process rules are specific for each company and are not fully automatically verified by the available software. These process rules are also in constantly change due to changes in processes. Current tools are able to change these rules, but the process to adapt the software to the changes in a company are complex and slow. Also new rules are constantly needed since technology is evolving and companies tend to update/upgrade their equipment/process to incorporate these new developments.
During the layout design process there are multiple stages and multiple iterations for the PCB development through its final stage. Using the proposed layout assessment tool in these multiple stages/iterations is possible to optimize the PCB design since not only a higher number of process rules are verified in earlier stages as it is possible to test the PCB design before its physical production. Indeed, by applying the proposed tool the design is tested and checked before being considered closed and ready for production.
Document US20020173867 A1 discloses a system that facilitates the designing and production engineering processes in a CAD environment. Through a web-based system, a tool for facilitating the collaboration activities related
to electrical and mechanical design is provided. Indeed, there are two CAD applications related to the electrical and mechanical design of the PCB, which run on different workstations. Through a shared library each application makes use of the necessary information and the risk of losing data when transferring the files between systems is reduced due to this intermediate shared library.
Document US20150302130 A1 discloses a system based on a web- service in which the customer, through an Internet browser program, uploads the design of the PCB to the fabricator, which will assemble the PCB accordingly to the received data. Using this communication link with standardized communication protocols, it is possible to transmit or receive web content in different formats, namely text, graphics, sounds, animations, video, and computer executable code. Despite receive electronic documents from the Internet and present them to the user, Internet browser programs also have the ability to execute program code in embedded software components, which expands the functionalities of such browsers. Using different user interfaces, the customer may upload the PCB layout design and define the Bill of Materials (BOM) data. If the system detects any lack of valuable information, the user is warned and issued to insert the valid information. A user interface also allows the user to place or readjust the position of components in the PCB. After system validation, the information is sent to the fabricator that may initiate the assembly of the PCB. This system automatically verifies the existence of possible conflicts in the PCB design like the overlapping of elements.
Summary
The present application discloses a Printed Circuit Board layout assessment tool comprising:
A rules-processing block comprising a rule editor block and a rule database;
An ontology-processing block comprising an ontology editor block and an ontology database;
A project-manager processing block comprising a layout project manager block and a project database;
A rule verification engine comprising a design rule checking block and a component collision simulation block; and
A report database,
Wherein
the design rule checking block is configured to evaluate the layout of the PCB stored in the project database with the rules saved in the rule database, said rules are in accordance with the ontology from the ontology database;
the component collision simulation block is configured to simulate and evaluate the possibility of a collision between the components of a design layout according to the international standards related to the acceptability criteria of soldering requirements; and
The rule verification engine is configured to perform an assessment report based on the output of the design rule checking and component collision simulation blocks .
In one embodiment, each of the rules-processing block, the ontology-processing block and the project-manager processing block comprise one input and one output communication port configured to receive data from a user and to manipulate
data stored in the respective databases, namely creating, editing or removing information regarding rules, ontology files and projects.
In one embodiment, the report database is configured to store the assessment report's file generated by the rule verification engine.
In another embodiment, the file format of the assessment report is of a PDF, XLS, XLSX, PNG or JPEG type.
The present application also describes a system for assessing printed circuit board's layout comprising:
a server unit comprising a communication module, at least one database, a memory module wherein the PCB layout assessment tool previously described is stored, being executed by the processor module;
a user unit comprising a processor module, a communications module, and a memory module configured to execute a web-browser application;
a network, connecting both server unit and user unit by means of the respective communications module.
In one embodiment, the server unit hosts an application server configured to generate and send web pages as response to the Hypertext Transfer Protocol requests from the user's unit .
In one embodiment, the network is of a wireless or wired type connection.
It is also described a method for assessing a PCB design layout, implemented with the system described above. Said method comprising the following steps:
a user employing a user unit initiates the assessment request process on a server unit;
if the assessment requests for an existing project, said information is gathered from project-database and from the report database, and is generated a readable file;
if there is no previous project assessment, the user is prompt to create a new project;
the user is prompt to insert project information; selection of a PCB;
if the PCB is already created the user is prompt to select it from database;
otherwise the user creates a PCB and the new PCB is stored in the database;
if the layout is already created, the user is prompt to select it from database;
initiation of the assessment process retrieving all processing rules from database associated to the project and to the process of the PCB;
generation of the report;
report and the data related to the project is stored at database.
In one embodiment, the generated readable file is in a PDF, XLSX or CSV format.
In one embodiment, the insertion of project information is related to the division of the project and the name of the proj ect .
In one embodiment, a processing rule is composed of at least one rule item, which is made by at least one guideline.
In one embodiment, the process of creating a rule comprises the following steps:
Insertion of information data related to the rule being created;
Definition of the type of module;
Selection of parameters;
Option of selecting existing process rules and respective retrieve from rule database;
Submit information;
Upload data to server unit which is stored at rule database ;
Redirection to the process of creating a rule item.
In one embodiment, the information data is related to the title of the process rule or its authors.
In one embodiment, the parameters are related to division and process definition.
In one embodiment, the process of creating a rule item comprises the following steps:
Insertion of information data;
Option of upload a picture and to include a caption;
Submit information;
Upload rule to the server unit which is stored at the rule database;
Redirection to the process of creating a guideline .
In one embodiment, the information data is related to the rule owner.
In one embodiment, the picture is uploaded via a standard web browser form.
In one embodiment, the picture is of a PNG, JPG, SVG or PDF format .
In one embodiment the process of creating a guideline comprises the following steps:
Selection of the guideline category;
Input data regarding the select guideline category;
Process rule structure is retrieved from the ontology stored in the ontology database;
Validation of the process rule definition and structure ;
Option of upload a picture and to include a caption;
Submit information;
Data is stored in rule database;
Guideline is associated to a rule item and to a process rule.
General Description
The present application intends to solve the problem associated with the validation process of a PCB design. In the PCB manufacturing process there are multiple steps that must be accomplished in order to create a functional PCB. In the developed technology it is proposed an automation of the PCB layout design rules, where the machinery constraints are
included as design rules. Despite verifying different types of rules, the main focus are the process rules which are specific for each company. The assessment tool is able to easily adapt to changes in the company' s processes by enabling a user to edit, remove or create new process rules according to the specific changes/needs of the company's processes .
According to principles described herein, an assessment tool is implemented providing a way to automatically verify the design layout of a PCB according to predefined process rules. A process rule includes, for example, the position, rotation and type of components, areas around the component that must be clear, moisture sensitive devices that according to their level must be inserted in last place, components that may only support one reflow, among others. It's an object of the technology now developed that the evaluation process executed by the assessment tool assesses these constraints and considers possible collisions between the components of the PCB, between the components and the copper tracks (or vias), or simulates possible collisions due to the placement of the copper tracks (or vias) . Each process rule is automatically verified for every component of the PCB and any deviation is declared and described in a final report. Despite these regular verifications, it is another object of the present technology to provide a tool that performs a validation procedure over components present in different PCB layers. Indeed, the same process rule may present different parameters according to the layer which it refers to. The definition of keep out areas are also included in the evaluation process, which highly increases the complexity of the verification rules. It's another object of the present technology that the inclusion of all these
specifications is made by a user, which uploads a XML file with the identification of the components that must take into account these specific elements. Alternatively, the assessment tool may access a web service that has information regarding all components and extract the data of the components that have to be verified. Despite increasing the number of verified process rules, since the user may create or edit process rules taking in consideration mechanical constraints and restrictions considering the assembly machinery, the PCB layout design assessment is not dependent on one type of standard. Thus, the assessment tool is able to automatically detect the standard or, as alternative, prompt the user to set it. The assessment tool is also able to analyze/validate XML files generated by other tools like, but not limited to, Zuken® or Altium® software applications. For the rule creation process, there is an ontology that must be followed. This establishes a hierarchy for the rules, setting the elements that must be present when some component is selected. Using the ontology approach the assessment tool now developed leads to a process for creating rules that is more flexible, enabling the definition of all features' details, not being just a parametrization of values. In fact, the process rule being based on the ontology, which is independent on the content of the XSD validation rule file, allows that a change on the referred file will automatically change the hierarchy of the elements in the rule.
The assessment tool now developed is completely adaptive to any type of ontology and is also adaptable to different business areas and establishes a standardization in the created rules with an intuitive user interface.
In accordance with one aspect of the present application, the above and other objects can be accomplished with an assessment tool, to be executed in a processing device or in a network system, integrating a set of processing blocks that are configured to automatically verify the design layout of a PCB according to specific process rules. The assessment tool comprises a rules-processing block, an ontology processing block, a project manager-processing block, a rule verification engine and a report-database. The rules- processing block is comprised by a rule editor block and a rule-database. The ontology-processing block is comprised by an ontology editor block and an ontology-database. The project manager-processing block is comprised by a layout project manager block and a project-database. Each of these three blocks comprises input and output communication ports, and make use of the communication interfaces of the processing apparatus where the assessment tool is being executed to communicate with the user, specifically for receiving the necessary data or intended commands, and enabling the manipulation of the data stored in the respective databases, namely creating, editing or removing information regarding rules, ontology files and projects. The rule verification engine retrieves data from the databases of each block to validate the PCB design layout with respect to the design rules selected and to check for collisions between components in the PCB. Thus, design rule checking block verifies the layout of the PCB stored in project database taking into consideration the rules saved in the rule-database, which must be in accordance with the ontology from the ontology-database. The component collision simulation block checks if the components of a design layout do not collide. This process is performed by simulating the maximum displacement of a component, which is caused by the
process variability using the maximum offset defined by international standards, and, in that worst case, verified if there are no collisions. The verification of the rules by these blocks consider, for example, a process rule that states that component A has a keep out area (KOA) to components B and C. This KOA may differ over the several attributes associated to the components. As an example, the KOA attribute associated to the solder paste layer of the component A to component B may differ from the KOA attribute of component A to component C. If the measured distance is smaller than the defined, the process rule is validated, generating a warning and registering the deviation otherwise. This process is performed for every elements and to all process rules that have to be considered to each component. The result of such assessment is saved in the report-database and may be provided in a file format like, but not limited to, Portable Document File (PDF) , Microsoft Excel (XLS or XLSX) , or an image format file such as PNG and
JPEG.
As an exemplary scenario, the developed PCB layout assessment tool is implemented in web-service system architecture, that can be accessed by a user by means of a web browser application. Such an architecture includes a server unit, comprising at least one database that is connected to at least one user's unit by means of a network. The network can be a private or a public network, and the link between both units can be established using wireless or wired communication protocols. Both user unit and server unit are connected through said network using the respective communication modules that may be, for example but not limited to, Ethernet or wireless cards, and are configured to interface using the network link to exchange information
data like requests, files, responses or other type of commands. However, different architectural setups for the system can be also considered, such as the stand-alone architecture, in which the assessment tool is executed in the user' s computer and access the databases in the server side, or the user has its own databases and the tool works completely offline.
Considering the scenario of a web-service system architecture, the user unit is comprised by a communications module, a processor module and a memory module in which the web browser application is executed. A user unit may be considered any device with capacity to present data and that enables the user to input data, including, but not limited to, computers or mobile devices. The server unit comprises a processor module, a communications module and a memory module where is generally included a readable medium storing that contains a readable program code where the techniques and processes described related to the PCB layout assessment tool are installed, being executed by the processor module. Therefore, an application server hosted by the server unit generates and sends web pages as response to the Hypertext Transfer Protocol requests from the user unit. The graphical user interface is provided to the user by the application server in the form of web pages, which are accessible from any web browser. Through these web pages, the user receives interface screens with different tools that enable the interaction with the assessment tool, namely manipulate data, insert design layouts, assess design layout rules, etc. The server unit also includes a database to store all data required by the components of the system. Said database may also be divided in different databases according to the type of data that is needed in each user
interaction/activity/request, and may be provided as, but not limited to, a database management system, a relational database management system, a file system or a combination of such systems. This database may be accessed using Structured Query Language (SQL) or other tools.
Brief description of drawings
For easier understanding of this application, figures are attached in the annex that represent forms of implementation which nevertheless are not intended to limit the technique disclosed herein.
Figure 1 illustrates a conceptual diagram representing the web-service system architecture implementing the PCB layout assessment tool developed, in which the reference signs represent :
110 - server unit;
130 - user unit;
150 - network communication.
Figure 2 illustrates a conceptual diagram of the building blocks of the server unit and of the user unit, of the web- service system architecture of figure 1, in which the reference signs represent:
110 - server unit;
112 - server unit processor module;
114 - database;
118 - server unit communications module;
120 - memory module;
124 - PCB layout assessment tool;
130 - user unit;
132 - user unit processor module;
134 - user unit interface to generate files;
136 - user unit interface manual input;
138 - user unit communications module;
140 - memory module;
142 - web-browser;
150 network .
Figure 3 illustrates a conceptual architecture scheme of the PCB layout assessment tool, in which the reference signs represent :
201 - rule editor block;
202 - rule-database;
203 - ontology editor block;
204 - ontology-database;
205 - layout project manager block;
206 - project-database;
207 - rule editor block input;
208 - ontology editor block input;
209 - layout project manager block input;
210 - rule verification engine;
211 - design rule checking block;
212 - component collision simulation block;
213 - report-database;
214 - rule editor block display;
215 - ontology editor block display;
216 - layout project manager block display;
217 - report-database display.
Figure 4 is a flow chart representing an exemplary process of creating a process rule within the PCB layout assessment tool developed.
Figure 5 is a flow chart representing an exemplary process of creating a rule item within the PCB layout assessment tool developed.
Figure 6 is a flow chart generally representing an exemplary process of creating a guideline within the PCB layout assessment tool developed.
Figure 7 is a flow chart generally representing an exemplary process of the PCB layout assessment tool developed.
Figure 8 is a diagram representing an exemplary structure for creating a process rule within the PCB layout assessment tool developed.
Figure 9 is a text expression for the exemplary process rules of Figure 8.
Description of the embodiments
Now, embodiments of the present application will be described in detail with reference to the annexed drawings. However, they are not intended to limit the scope of this application.
In one embodiment, as illustrated in figure 1, web-service system architecture comprises at least one server unit (110) and at least one user unit (130), which are connected over a network (150) . Both units (110) and (130) may be linked through a private or public network, using different communication strategies like wireless or wired protocol connections .
In one embodiment, as illustrated in figure 2, the user unit (130) is comprised by a communications module (138), a processor module (132) and a memory module (140), in which a web browser application (142) is executed. The server unit (110) is comprised by a communications module (118), a processor module (112) a database (114) and a memory module (120) . Said memory module (120) includes a readable medium storing containing a readable program code where the PCB layout assessment tool (124) now developed is installed, being processed by the processor module (112) . The PCB layout assessment tool (124) establish the communication with the user by means of an application server that generates and sends Web pages as response to the Hypertext Transfer Protocol requests from the user unit's web browser (142) . Therefore, the graphical user interface is provided to the user by the application server in the form of web pages, which are accessible from any web browser (142) . Through these web pages, the user unit (130) receives interface screens with different tools that enable the interaction with the application server and consequently with the PCB layout assessment tool (124), namely by manipulating data, inserting design layouts, assessing design layout rules, etc. Database (114) is divided in different databases according to the type of data that is needed in each user interaction/activity/request. The database (114) may be provided as, but not limited to, a database management system, a relational database management system, a file system or a combination of such systems. This database (114) may be accessed using Structured Query Language or other tools. Both server and user units are connected through a network (150) using the respective communications modules (118) and (138) . These communications modules may be, for example, but not limited to, Ethernet or wireless cards, and
are configured to interface using the network link (150) to exchange information. Through this network is possible to send and receive information like data, requests, files, responses and other type of commands.
Figure 3 illustrated another embodiment of the technology now developed, showing the conceptual diagram of the PCB layout assessment tool (124) developed. It is comprised by a rules-processing block, comprised by a rule editor tool (201) for editing rules and its respective database - rule- database (202) -, an ontology-processing block, comprised by an ontology editor tool (203) for editing the ontology file and the corresponding database (204) - ontology-database (204) -, and a project-manager processing block, comprised by a layout project manager tool (205) with its database - project-database (206) . These tools (201), (203) and (205) are fed with the necessary data or intended commands from the user unit's web browser (142), through the input interfaces (207), (208) and (209), respectively, enabling the manipulation of the data stored in the databases (202), (204) and (206), namely creating, editing or removing information regarding rules (201), ontology files (203) and projects (205) . The data from databases (202), (204) and (206) is used by a rule verification engine (210) for validating the PCB design layout with respect to the design rules and to check for collisions between components in the PCB. Thus, design rule checking tool (211) verifies the layout of the PCB stored in database (206) taking into consideration the rules saved in rule-database (202), which must be in accordance with the ontology file from the ontology-database (204) . The component collision simulation tool (212) checks if the components of a design layout from project-database (206) do not collide. The output of the
rule verification engine (210) is saved in the report- database (213) and may be provided in a file format like, but not limited to, Portable Document File (PDF) , Microsoft Excel file format such as XLS or XLSX, or an image format file such as PNG and JPEG. The layout project manager tool (205) enables the user to upload a design layout of a PCB or to select a previously uploaded one through the input (209) .
The design layout may be generated from different external tools and is provided in an extensible Markup Language (XML) format. Each component defined in this file is identified with a unique reference designator that according to the tools that generated the file, may have different identifications. Using the ontology rule from ontology- database (204) and the rules stored in rule-database (202), is possible to adjust this identifier independently from its source. Indeed, the rule verification engine (210) checks the rules considering the values defined through the ontology and process rules, which turns it more independent from the external tool that generated the design layout and, consequently, more flexible to read and check the conformity of different layout designs.
Figure 4 illustrates a flow chart representing an exemplary process of the embodiments for creating Process Rules. For this exemplary process, it is considered that a Process Rule is composed by at least one Rule Item, which is made by at least one guideline. The sample process may be performed by a processing logic within the application server, by user unit's web browser (142), or a combination of both. Referring to figure 4, a user employing a user unit (130) initiates the creation of process rules on a server unit (110) . As part of the process, the user starts the creation of a
Process Rule (401), then, at block (402), the user is prompted to insert some information regarding, but not limited to, title of the process rule, its authors, etc. At block (403) the user defines the type of module, whereas in block (404), is prompted to select other parameters such as the division and the process. Through decision block (405), the user may select existing process rules. If the user chooses to select an existing process rule, all existing process rules are retrieved from database (202) and selected in block (406) . After selecting and inputting all necessary information in previous blocks, the user is prompted to submit the information in block (407) . Choosing to terminate the process, block (408), the data is submitted (410) and uploaded to the server unit (110) and stored in database (202), otherwise the data is discarded (409) . The user is notified via on-screen messages about the current upload process and is redirected to initiate the creation of rule item ( 501 ) .
In this regard, figure 5 illustrates the flow chart representing the execution process for creating Rule Items. The sample process may be performed by a processing logic within application server, by user unit's web browser (142), or a combination of both. Referring to figure 5, a user employing a user unit (130) initiates the creation of Rule Items (501) on a server unit (110) . This process is a continuation of the process rule created, from which some information is passed. In block (502) the user is prompted to input some data, for example, rule owner. Through decision block (503) the user choose to upload a picture. In block (504) the user may upload a picture via a standard Web browser form. A picture may be in raster format, like PNG or JPG; in vector format, such SVG or PDF; or in other formats
suitable for display by web browser (142) . Through decision block (505), the user can choose to add a caption, block (506) . Selecting and inputting all necessary information, the user is prompted to submit the data, block (507), and through decision block (508), the user can choose to discard data (509) or submit the data through block (510) stored in rule-database (202) . The user is notified via on-screen messages about the current upload process and is redirected to initiate the creation of guidelines (601) .
Figure 6 is a flow chart representing the execution process for creating guidelines. The sample process may be performed by a processing logic within application server, by web browser (142), or a combination of both. Referring to figure 6, a user employing a user unit (130) initiates the creation of guidelines (601) on a server unit (110) . This process is a continuation of process for creating rule items, from which some information is passed. After selecting the category of the guideline, block (602), the user is prompted to input the data regarding the previously selected category, block (603) . The process rule structure is retrieved from the ontology stored in database (204), which ensures that vital information is inserted or blocks the insertion of values that should not be considered in a given element of the process rule. If the process rule is well defined and structured, block (604), the user continues the guideline creation process, otherwise, the user is notified via on screen messages with the parameters or values that need to be checked, block (605) . After validating the inputted process rule, the process prompts the user to upload a picture in block (606) . If the user intends to upload a picture through decision block (607) then in block (608) this process is achieved by uploading a figure via a standard
Web browser form. A figure may be in raster format, like PNG or JPG; in vector format, such SVG or PDF; or in other formats suitable for display by web browser (142) . Following the uploading step, the user may decide to add a caption, block (609), if so he inserts the caption (610) . Ending this process, the user is prompted to submit all information regarding the guideline data, block (611) . Choosing to successfully terminate the creation process, block (612), all data is submitted in block (614) and stored in rule- database (202), otherwise the data is discarded (613) . The user is notified via on-screen messages about the current termination status and, if successful, the guideline is associated to the rule item and process rule.
Figure 7 is a flow chart representing the execution process for assessing the PCB design layout, with the process rules stored in the database (202) . The sample process may be performed by a processing logic within application server, by a web browser (142), or by a combination of both. Referring to figure 7, a user employing a user unit (130) initiates the assessment request process on a server unit (110) . This process is initiated by querying the user if the assessment request is for an existing project, decision block (702) . In a positive answer, it is gathered information about the project from database (206) and the assessment report stored in database (213) and, through block (701), generates a new human readable file, an assessment report (703) . This output may be created in different file formats like, but not exclusive, PDF, XLSX, CSV, among other types of available file formats. When there is no previous project assessment, the user is prompted to create a new project, block (704), and to insert its data block (705), for example, the division of the project and the name for the new project. After this
step the user has to select a PCB, block (706) . In the decision block (707), and if the PCB had already been created then the user may select it in block (708) . For this step, existing PCBs are retrieved from database (206) and available for user selection. Otherwise, the user has to create a new PCB through block (709) . Ending the creation process, the new PCB is stored in database (206) . To continue the assessment request process, the user is prompted to select the layout, block (710) . In the block (711), the procedure is identical to the PCB selection, in which, if the layout does not exist, the user has to create a new one, block (713) , and the system stores it in database (206) . If the layout had previously been created then existing layouts are retrieved from database (206) and available for user selection in block (712) . In the assessment request process, after creating the project, setting the PCB and layout, the assessment process may be initiated in block (714) . For this process, all rules considering the division of the project and the process of the PCB are retrieved from database (202) and used to evaluate the current project, with respect to the design layout. Ending the assessment process, the corresponding report is generated in block (715) and the output may be generated in different file formats like, but not exclusive, PDF, XLSX, CSV, among other types of available file formats. The results, considering the report, are stored in database (213), whereas data related to the project is stored in database (206) . The user is notified via on-screen messages about the current assessment report generation process .
Figure 8 is a diagram representing an exemplary structure for creating a process rule considering the dimension option and the ontology. In this exemplary process rule, the goal
is to check the distance between two elements by setting the minimum or maximum distance between them. Block (801) states that the process rule is related to the distance between (802) two elements (803) and (807) . Both elements (803) and (807) result in a logical statement (804) and (808) . This distance must be measured from (805 and 809) a distance location (806) and (810), which may consider the center of the element (803) and (807), or other point from which it will be measured, and must be (811) in accordance with the operators defined through blocks (812) to (816) . Thus, in this exemplary distance definition, it must consider the conditional operator (812), for example greater than, and has a value (813) that is defined by the user. Block (814) sets the units of this distance measurement such as, but not exclusive, millimeters, and block (815) defines the direction that should be considered to validate the distance rule, namely all directions, resulting in a final logical statement (816) . For this exemplary definition, the user input is restricted to the value (813) whereas the remaining options may be in the format of drop boxes from which the user selects one available option. Following this structure, defined through the ontology, the process rules are standardized and the user input is reduced to its minimum, reducing the possibility to insert erroneous values or to select attributes that should not be considered.
Figure 9 is a text expression for the exemplary process rule defined through figure 8. This expression starts with the process rule option type (801) that, for this exemplary definition, is the dimension and states that it sets that this dimension should consider element (803) and is measured from location (806) . This process is similar to element (807) and its distance location (810) . The distance between
elements (803) and (807) must take into account the defined conditional operator (812) and the user inserted value (813) that is defined in measurement units (814) . To finalize the exemplary statement the dimension option should be validated according to the direction (815) .
The creation and edition of rules in block (201) applies an ontology that structures the elements that must be selected or defined through user inputs and also blocks the user to insert values that are not necessary or invalid. This ontology is flexible to be used under different business areas of the company and allows the definition of all process rules, which includes custom company's rules that are inherent to the fabrication process. Indeed, the ontology defines all rules as the composition of atomic operations using a set of operators, namely, but not exclusive, the use of filters, set minimum or maximum distances. This is also flexible to incorporate new process rules and is defined through an XSD format file.
This description is of course not in any way restricted to the forms of implementation presented herein and any person with an average knowledge of the area can provide many possibilities for modification thereof without departing from the general idea as defined by the claims. The forms of implementation described above can obviously be combined with each other. The following claims further define forms of implementation.
Claims
1. Printed Circuit Board layout assessment tool (124) comprising :
— A rules-processing block comprising a rule editor block
(201) and a rule-database (202);
— An ontology-processing block comprising an ontology editor block (203) and an ontology-database (204);
— A project-manager processing block comprising a layout project manager block (205) and a project-database (206) ;
— A rule verification engine (210) comprising a design rule checking block (211) and a component collision simulation block (212); and
— A report-database (213),
Wherein,
— the design rule checking block (211) is configured to evaluate the layout of a PCB stored in the project- database (206) with the rules saved in the rule-database
(202), said rules are in accordance with the ontology from the ontology-database (204);
— the component collision simulation block (212) is configured to simulate and evaluate the possibility of a collision between the components of a design layout according to the international standards related to the acceptability criteria of soldering requirements; and
— the rule verification engine (210) is configured to perform an assessment report based on the output of the blocks (211) and (212) .
2. PCB layout assessment tool (124) according to claim 1, wherein each of the rules-processing block, the ontology processing block and the project-manager processing block comprise one input (207, 208, 209) and one output communication port (214, 215, 216), configured to receive data from a user and to manipulate data stored in the respective databases (202, 204, 206) .
3. PCB layout assessment tool (124) according to any of the previous claims, wherein the report-database (213) is configured to store the assessment report's file generated by the rule verification engine (210) .
4. PCB layout assessment tool (124) according to claim 3, where in the file format of the assessment report is of a PDF, XLS , XLSX, PNG or JPEG type.
5. System for assessing printed circuit board's layout comprising :
— a server unit (110) comprising a communications module (118), at least one database (114), a memory module (120) wherein the PCB layout assessment tool (124) described in claims 1 to 4 is stored, being executed by the processor module (112);
— a user unit (130) comprising a processor module (132), a communications module (138) , and a memory module (140) configured to execute a web-browser (142) application;
— a network (150), connecting both server unit (110) and user unit (130) by means of the respective communications module.
6. System according to claim 5, wherein the server unit (110) hosts an application server configured to generate and send web pages as response to the Hypertext Transfer Protocol requests from the user unit (130) .
7. System according to any of the previous claims 5 and 6, wherein the network (150) is of a wireless or wired type connection .
8. Method for assessing a PCB design layout, implemented with the system of claims 5 to 7, comprising the following steps :
— a user employing a user unit (130) initiates the assessment request process on a server unit (110);
— if the assessment requests for an existing project, said information is gathered from project-database (206) and from the report-database (213), and is generated a readable file;
— if there is no previous project assessment, the user is prompt to create a new project (704);
— the user is prompt to insert project information (705);
— selection of a PCB (706) ;
— if the PCB is already created the user is prompt to select it (708) from database (206);
— otherwise, the user creates a PCB (709) and the new PCB is stored in the database (206) ;
— if the layout is already created the user is prompt to select it (712) from database (206);
— initiation of the assessment process (714) retrieving all processing rules from database (202) associated to the project and to the process of the PCB;
— generation of the report (715) ;
— report is stored at database (213) and the data related to the project is stored at database (206) .
9. Method according to claim 8, wherein the generated readable file is in a PDF, XLSX or CSV format.
10. Method according to claim 8, wherein the insertion of project information is related to the division of the project and the name of the project.
11. Method according to claim 8, wherein a processing rule is composed of at least one rule item, which is made by at least one guideline.
12. Method according to claim 11 wherein the process of creating a rule comprises the following steps:
— Insertion of information data related to the rule being created (402) ;
— Definition of the type of module (403) ;
— Selection of parameters (404);
— Option of selecting existing process rules (405) and respective retrieve from database (202);
— Submit information (407) ;
— Upload (410) data to server unit (110) which is stored at database (202);
— Redirection to the process of creating a rule item (501) .
13. Method according to claim 12, wherein the information data of step (402) is related to the title of the process rule or its authors.
14. Method according to claim 12, wherein the parameters of step (404) are related to division and process definition.
15. Method according to claim 11, wherein the process of creating a rule item comprises the following steps:
— Insertion of information data (502);
— Option of upload a picture (504) and to include a caption (506) ;
— Submit information (507) ;
— Upload (510) rule to the server unit (110) which is stored at the rule-database (202);
— Redirection to the process of creating a guideline (601) .
16. Method according to claim 15, wherein the information data of step (502) is related to the rule owner.
17. Method according to claim 15, wherein the picture is uploaded via a standard web browser form.
18. Method according to any of the claims 15 or 17 wherein the picture is of a PNG, JPG, SVG or PDF format.
19. Method according to claim 11, wherein the process of creating a guideline comprises the following steps:
— Selection of the guideline category (602);
— Input data regarding the select guideline category
(603) ;
— Process rule structure is retrieved from the ontology stored in database (204);
— Validation of the process rule definition and structure
(604) ;
— Option of upload a picture (606) and to include a caption (609) ;
— submit information (611) ;
— Data is stored in database (202) ;
— Guideline is associated to a rule item and to a process rule .
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PT110823 | 2018-07-05 | ||
| PT11082318 | 2018-07-05 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020008244A1 true WO2020008244A1 (en) | 2020-01-09 |
Family
ID=63143293
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2018/055014 Ceased WO2020008244A1 (en) | 2018-07-05 | 2018-07-06 | Printed circuit board layout assessment tool |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2020008244A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111967214A (en) * | 2020-08-14 | 2020-11-20 | 上海佳研实业有限公司 | Software system capable of realizing printed circuit board aided design |
| TWI857688B (en) * | 2023-02-23 | 2024-10-01 | 大陸商環勝電子(深圳)有限公司 | A method and system for automatically checking circuit layout of printed circuit board |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020173867A1 (en) | 2001-05-21 | 2002-11-21 | International Business Machines Corporation | Multi-discipline universal CAD library |
| US7346870B2 (en) * | 2004-05-28 | 2008-03-18 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | System and method for verifying trace widths of a PCB layout |
| US20150302130A1 (en) | 2013-12-31 | 2015-10-22 | Pcb:Ng, Inc. | Method and system for verifying printed circuit board designs, and creating or verifying related electronic component placement data for printed circuit board fabrication and assembly |
-
2018
- 2018-07-06 WO PCT/IB2018/055014 patent/WO2020008244A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020173867A1 (en) | 2001-05-21 | 2002-11-21 | International Business Machines Corporation | Multi-discipline universal CAD library |
| US7346870B2 (en) * | 2004-05-28 | 2008-03-18 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | System and method for verifying trace widths of a PCB layout |
| US20150302130A1 (en) | 2013-12-31 | 2015-10-22 | Pcb:Ng, Inc. | Method and system for verifying printed circuit board designs, and creating or verifying related electronic component placement data for printed circuit board fabrication and assembly |
Non-Patent Citations (2)
| Title |
|---|
| ANONYMOUS: "Tutorial - Integrating MCAD Objects and PCB Designs - English documentation - The Altium Wiki", 15 May 2013 (2013-05-15), XP055561425, Retrieved from the Internet <URL:http://wiki.altium.com/pages/viewpage.action?pageId=3080246#Tutorial-IntegratingMCADObjectsandPCBDesigns-UsingDesignRulestoCheckComponentClearances> [retrieved on 20190225] * |
| LAWRENCE M ROSENBERG ET AL: "CRITIC - an integrated circuit design rule checking program", 19740101, 1 January 1974 (1974-01-01), pages 14 - 18, XP058096588 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111967214A (en) * | 2020-08-14 | 2020-11-20 | 上海佳研实业有限公司 | Software system capable of realizing printed circuit board aided design |
| TWI857688B (en) * | 2023-02-23 | 2024-10-01 | 大陸商環勝電子(深圳)有限公司 | A method and system for automatically checking circuit layout of printed circuit board |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7039892B2 (en) | Systems and methods for ensuring correct connectivity between circuit designs | |
| US6289254B1 (en) | Parts selection apparatus and parts selection system with CAD function | |
| US6230305B1 (en) | Methods and apparatus for configuring schematic diagrams | |
| CN113705143B (en) | Automatic simulation system and automatic simulation method | |
| US7096439B2 (en) | System and method for performing intellectual property merge | |
| EP3286611B1 (en) | Method and system for cross discipline data validation checking in a multidisciplinary engineering system | |
| CN110008447A (en) | The processing method and processing device of electrical form | |
| CN114091383A (en) | Test sequence generation method, device and system and related equipment | |
| WO2020008244A1 (en) | Printed circuit board layout assessment tool | |
| CN111737152B (en) | Method and device for realizing WEB automated testing through web page entry data | |
| CN111813439A (en) | Distribution material quality control method, device, equipment and computer storage medium | |
| US20020067364A1 (en) | Method for browsing various intelligent design data abstractions | |
| JP2015158771A (en) | Cloud type electronic cad system for circuit design and printed board design | |
| CN113064581B (en) | Automation equipment management method, device, electronic equipment and storage medium | |
| CN120012197A (en) | Method and system for configuring standard installation of overhead contact network based on semantic features | |
| US20230297482A1 (en) | Managing artifact information relating to a physical system, for example improving traceability of re-baselined engineering-related information, method and system | |
| US8631375B2 (en) | Via selection in integrated circuit design | |
| CN1430168B (en) | Apparatus and method for object matching management, operation terminal and method for specifying objects | |
| TWI838638B (en) | Information providing device, information providing method and recording medium for recording information providing program | |
| US20060106474A1 (en) | Computer aided design document generation and delivery system over distributed communication systems | |
| CN118159973A (en) | Metadata prediction for product design | |
| Burling et al. | Product design and introduction support systems | |
| CN109117431A (en) | System and method for the source data applied from source to be incorporated into the target data of target application | |
| CN118446167B (en) | Design drawing synchronization method, device, equipment, storage medium and program product | |
| CN108170557B (en) | Method and apparatus for outputting information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18752259 Country of ref document: EP Kind code of ref document: A1 |