Technological process diagram generation method and device applied to semiconductor manufacturing

By adjusting the component positions in the semiconductor manufacturing process flow chart through constraint solving and force-directed placement algorithms, the problem of low generation efficiency in existing technologies is solved, achieving efficient and flexible process flow chart generation, and enhancing the adaptability and competitiveness of enterprises.

CN120806833APending Publication Date: 2025-10-17CLP JIUTIAN INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411073344.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-06
Publication Date
2025-10-17

AI Technical Summary

Technical Problem

Existing methods for generating semiconductor manufacturing process flow charts are inefficient, require a large amount of manual adjustment, are prone to errors, and are difficult to adapt to process changes.

Method used

The positions of each component in the process flow diagram are adjusted using constraint-based solution and force-oriented layout algorithms to generate the target process flow diagram.

Benefits of technology

It improves the efficiency and readability of process flow diagram generation, enables flexible adjustment of process flow to adapt to process changes, reduces costs, and enhances enterprise competitiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120806833A_ABST
    Figure CN120806833A_ABST
Patent Text Reader

Abstract

The invention discloses a process flow diagram generation method and device applied to semiconductor manufacturing, and belongs to the technical field of computers. The process flow diagram generation method applied to semiconductor manufacturing comprises the following steps: acquiring an original process flow diagram applied to semiconductor manufacturing; and adjusting the position of each component in the original process flow diagram based on constraint solution and a force steering layout algorithm, and generating a target process flow diagram. According to the process flow diagram generation method and device applied to semiconductor manufacturing provided by the invention, the target process flow diagram is generated by adjusting the position of each component in the original process flow diagram based on the constraint solution and the force-oriented layout algorithm, and the process flow diagram of semiconductor manufacturing can be generated more efficiently.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of computers, and particularly relates to a process flow chart generation method and device applied to semiconductor manufacturing. BACKGROUND

[0002] Manufacturing process covers the entire process from design concept to actual product, and is the basis of manufacturing products. Manufacturing process includes how to choose suitable materials, how to use various tools and equipment for processing and assembly, and how to ensure that the product meets the quality standards.

[0003] The process flow chart is the most intuitive way to present the process of manufacturing process. Through the process flow chart, the name, execution order and execution parameters of each process can be extremely clearly displayed. The existing process flow chart is usually pre-set according to the production process, in which the name of each process, the execution order, the execution parameters, the processing conditions and the operation specifications are fixed.

[0004] At present, when the manufacturing process changes, the entire process flow chart needs to be redrawn manually. In the process of manually drawing the process flow chart, the layout needs to be adjusted according to the actual situation to avoid overlapping between components and ensure the display effect of the process flow chart on the manufacturing process, involving the position relationship between components and the limitation of the page. If the change of the manufacturing process involves the addition, deletion or update of a large number of processes, repeated adjustment is required, so the workload of redrawing the entire process flow chart is huge, the efficiency is low, errors are easy to occur, and the display of part of the work is not clear and clear. The manufacturing process of semiconductor manufacturing involves hundreds of processes or even more, so the existing process flow chart generation method applied to semiconductor manufacturing has low efficiency in generating the process flow chart. SUMMARY

[0005] The present application aims to at least solve one of the technical problems existing in the prior art. To this end, the present application provides a process flow chart generation method and device applied to semiconductor manufacturing, which can more efficiently generate the process flow chart of semiconductor manufacturing.

[0006] In a first aspect, the present application provides a process flow chart generation method applied to semiconductor manufacturing, which comprises:

[0007] Obtaining an original process flow chart applied to semiconductor manufacturing;

[0008] Adjusting the positions of components in the original process flow chart based on constraint solving and force-directed layout algorithm to generate a target process flow chart.

[0009] According to the process flow chart generation method applied to semiconductor manufacturing, the position of each component in the original process flow chart is adjusted based on constraint solving and force-directed layout algorithm to generate a target process flow chart, so that the process flow chart of semiconductor manufacturing can be generated more efficiently.

[0010] According to an embodiment of the present application, the position of each component in the original process flow chart is adjusted based on constraint solving and force-directed layout algorithm to generate a target process flow chart, including:

[0011] The components in the original process flow chart are divided into multiple parts;

[0012] The position of each component in each part is adjusted based on constraint solving and force-directed layout algorithm.

[0013] According to an embodiment of the present application, the position of each component in each part is adjusted based on constraint solving and force-directed layout algorithm, including:

[0014] Based on the constraint conditions of each component in the part, the target position of each component in the part is determined according to the force-directed layout algorithm;

[0015] The component is adjusted to the target position.

[0016] According to an embodiment of the present application, the target position of each component in the part is determined based on the constraint conditions of each component in the part according to the force-directed layout algorithm, including:

[0017] The attractive force and repulsive force between any two components are obtained; the attractive force between two components is proportional to the mass of the two components and inversely proportional to the distance between the two components; the repulsive force between two components is proportional to the distance between the two components;

[0018] The target position of each component in the part is obtained to meet the constraint conditions and achieve force balance of each component in the part.

[0019] According to an embodiment of the present application, the components in the original process flow chart are divided into multiple parts, including:

[0020] The components in the original process flow chart are divided into multiple parts by random grouping, grouping by a specified number, random grouping by a specified number, grouping based on the type of components, or grouping according to flow branches.

[0021] According to an embodiment of the present application, the original process flow chart applied to semiconductor manufacturing is obtained, including:

[0022] In response to user input, an addition operation, a deletion operation or a modification operation is performed on at least one component in the initial process flow chart to generate the original process flow chart; the initial process flow chart is a blank process flow chart or a process flow chart to be updated.

[0023] In a second aspect, the present application provides a process flow chart generation device for semiconductor manufacturing, the device comprising:

[0024] An acquisition module, for acquiring an original process flow chart applied to semiconductor manufacturing;

[0025] The generation module is used to adjust the positions of the components in the original process flow chart based on constraint solving and force-directed layout algorithm to generate a target process flow chart.

[0026] According to the process flow chart generation device applied to semiconductor manufacturing of the present application, the target process flow chart is generated by adjusting the positions of each component in the original process flow chart based on constraint solving and force-directed layout algorithm, which can more efficiently generate the process flow chart for semiconductor manufacturing.

[0027] In a third aspect, the present application provides an electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the method for generating a process flow chart for semiconductor manufacturing as described in the first aspect above is implemented.

[0028] In a fourth aspect, the present application provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the process flow chart generation method for semiconductor manufacturing as described in the first aspect above.

[0029] In a fifth aspect, the present application provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the process flow chart generation method for semiconductor manufacturing as described in the first aspect.

[0030] In a sixth aspect, the present application provides a computer program product, comprising a computer program, which, when executed by a processor, implements the process flow chart generation method for semiconductor manufacturing as described in the first aspect above.

[0031] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become obvious from the description below, or will be learned through practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description, taken in conjunction with the following drawings of exemplary embodiments of the present application, wherein:

[0033] Figure 1 is a flowchart of a process flow chart generation method for semiconductor manufacturing provided by an embodiment of the present application;

[0034] Figure 2 is a structural diagram of a process flow chart generation device for semiconductor manufacturing provided by an embodiment of the present application;

[0035] Figure 3 is a structural diagram of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION

[0036] The technical solutions in the embodiments of the present application will be described clearly below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art belong to the scope of protection of the present application.

[0037] The terms "first", "second", and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the data used in this way can be exchanged under appropriate circumstances, so that the embodiments of the present application can be implemented in an order other than that illustrated or described herein, and the objects distinguished by "first", "second", etc. are generally a category, and are not limited to the number of objects, for example, the first object can be one or more. In addition, "and / or" in the specification and claims indicates at least one of the connected objects, and the character " / ", generally indicates that the front and rear associated objects are in a "or" relationship.

[0038] In the related art, when facing the rapid changes in market demand, the adjustment of product design, and the special requirements of customers, it is often necessary to make certain adjustments to the process flow, and such changes in the process flow cause the process flow chart in the system to also change. However, the process flow chart is usually designed at the beginning of the development of the system, and making changes to the process flow chart that involve code changes requires a large amount of time and labor costs, and the cost of changes is high.

[0039] Typically, systems utilize existing open-source front-end components. However, the styles of these components are often customized based on the developer's own ideas, making it difficult to find a component shape that precisely matches a specific process flow. Furthermore, it's practically impossible to effectively adjust the styles of existing open-source front-end components through code. After all, their initial design has certain limitations, and the process step component styles are single and unscalable.

[0040] Below, in combination with the accompanying drawings, the process flow chart generation method for semiconductor manufacturing, the process flow chart generation device for semiconductor manufacturing, the electronic device and the readable storage medium provided in the embodiments of the present application are described in detail through specific embodiments and their application scenarios.

[0041] The method for generating a process flow chart for semiconductor manufacturing can be applied to a terminal, and can be specifically executed by hardware or software in the terminal.

[0042] The terminal includes, but is not limited to, a portable communication device such as a mobile phone or tablet computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad). It should also be understood that, in some embodiments, the terminal may not be a portable communication device, but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad).

[0043] In the following embodiments, a terminal including a display and a touch-sensitive surface is described. However, it should be understood that the terminal may include one or more other physical user interface devices such as a physical keyboard, a mouse, and a joystick.

[0044] The embodiment of the present application provides a method for generating a process flow chart for semiconductor manufacturing. The execution subject of the method for generating a process flow chart for semiconductor manufacturing can be an electronic device or a functional module or functional entity in the electronic device that can implement the method for generating a process flow chart for semiconductor manufacturing. The electronic devices mentioned in the embodiment of the present application include but are not limited to mobile phones, tablet computers, computers, cameras and wearable devices, etc. The method for generating a process flow chart for semiconductor manufacturing provided in the embodiment of the present application is explained below using an electronic device as an example of the execution subject.

[0045] like Figure 1 As shown, the process flow chart generation method applied to semiconductor manufacturing includes: step 110 and step 120.

[0046] The process flow chart generation method for semiconductor manufacturing provided in the embodiment of the present application is extremely flexible and convenient to use, and has a very wide range of application scenarios. For example, it can be applied to the manufacturing execution system (MES) and industrial automation field in the semiconductor field.

[0047] In semiconductor manufacturing, the method can be used to flexibly adjust the sequence of each process, process parameters and quality control standards according to the manufacturing requirements of different chip products, so as to ensure that the process flowchart in the system and the latest process flow are highly consistent, and the high quality and high yield of semiconductor products are ensured.

[0048] In the field of industrial automation, the method can be integrated with industrial automation equipment and system, and through a visual customized interface, engineers can easily rearrange, add or delete links of the production process according to different product lines and production tasks, realize quick production switching and adjustment, and improve equipment utilization and production adaptability.

[0049] Step 110, obtaining an original process flowchart applied to semiconductor manufacturing.

[0050] In actual execution, the original process flowchart applied to semiconductor manufacturing can be obtained based on the process flowchart before updating or a blank process flowchart. The original process flowchart only needs to include components corresponding to each process, but does not require whether the components overlap or cover, and whether the overall original process flowchart is beautiful, intuitive and clear, etc. The components can include start, end, condition judgment, flow, line and other components.

[0051] In some embodiments, one or more components can be added to the process flowchart before updating or a blank process flowchart, thereby obtaining the original process flowchart.

[0052] Step 120, adjusting the position of each component in the original process flowchart based on constraint solving and force-directed layout algorithm to generate a target process flowchart.

[0053] In actual execution, the position of at least one component in the original process flowchart can be adjusted by introducing a constraint solving and force-directed layout algorithm model, thereby obtaining the target process flowchart.

[0054] In the process flowchart of semiconductor manufacturing, a complex flow often covers hundreds of process step components, and a manually laid out flowchart often cannot completely display all process step components, or lacks readability due to too much confusion. By adjusting the position of the components through constraint solving and force-directed layout algorithm, the beauty, ease of use and readability of the interface can be improved.

[0055] Constraint solving refers to solving the position of the component based on the constraint condition. The constraint condition can include constraints on the position of the component, and constraints on the position relationship and distance between the components.

[0056] In the force-directed layout algorithm, each component is regarded as an object, and the position of the component is determined by force balance of each object.

[0057] In semiconductor production, the process flow involved is extremely complex, and even some can reach hundreds of processes. If the layout of components is completely relied on manpower, it is extremely likely to cause the page to be difficult to completely display all the process flow, or the position of the components is too chaotic to be clearly read, so it is extremely necessary to introduce the force-directed layout algorithm to automatically adjust the position of the components.

[0058] In some embodiments, a button named "layout adjustment" can be set in the process flow display page, when a newly designed or previous process flow (i.e. original process flow diagram) is selected, clicking the "layout adjustment" button can adjust the position of the components in the original process flow diagram. The adjustment process can first obtain the information of all components in the original process flow diagram, then implement constraint solving and force-directed layout algorithm calculation for these components, and then automatically move the components according to the calculation results to obtain the target process flow diagram.

[0059] According to the process flow diagram generation method for semiconductor manufacturing provided by the embodiments of the present application, the position of each component in the original process flow diagram is adjusted based on constraint solving and force-directed layout algorithm, and the target process flow diagram is generated, which can more efficiently generate the process flow diagram for semiconductor manufacturing.

[0060] The process flow diagram generation method for semiconductor manufacturing provided by the embodiments of the present application belongs to a process flow diagram customization and flexibility technology, which enables users to realize the configurability of the process flow diagram through self-configuration, breaks the limitation of the traditional fixed process flow diagram, and has at least the following advantages:

[0061] 1. Optimize cost control. In the case of changes in process flow caused by fluctuations in raw material prices, changes in labor costs, and adjustments in product design, etc., due to its high flexibility, the configuration of the process flow diagram can be adjusted at any time in the process flow management interface without code adjustment. Through rearrangement and combination of different links and elements, the price fluctuations of the raw material market and the dynamic changes of labor costs can be timely adapted, so as to find a more optimized cost combination method. This flexible adjustment capability enables enterprises to no longer be helpless in the face of various cost change factors, but can take the initiative to adjust the process layout and resource allocation according to the actual situation, so as to ensure that the cost control is always in good condition, maximize economic benefits, and enhance the competitiveness and survival ability of enterprises in the market.

[0062] 2. Provide a variety of components and expansion capabilities. Before the component packaging is officially opened, the production process of various factories is fully understood, and a variety of process step components are designed for these processes. The system provides component styles that meet the actual application requirements. Moreover, these components can be packaged independently, so if additional components are needed, they can be easily adjusted to quickly develop new component styles and better meet various actual needs.

[0063] 3. Shorten the adaptation cycle. Rapid recombination and adjustment can significantly reduce planning time, shorten the argument process, and shorten the implementation cycle, allowing the enterprise to efficiently change the process flow and quickly adapt to new situations. Whether it is a sudden change in market demand or a dramatic change in industry environment, this rapid recombination and adjustment capability ensures that the enterprise responds quickly, avoids being passive due to slow response, helps the enterprise maintain a good operating situation, firmly grasps the development initiative in the rapidly changing business world, maintains its competitive advantage and achieves sustained and stable progress.

[0064] In some embodiments, the positions of the components in the original process flow diagram are adjusted based on constraint solving and force-directed layout algorithms to generate a target process flow diagram, including:

[0065] Divide the components in the original process flow diagram into multiple parts;

[0066] For each part, adjust the position of each component in the part based on constraint solving and force-directed layout algorithms.

[0067] In actual implementation, taking an original process flow diagram containing more than one hundred process flow step components (referred to as "components") as an example, adjusting the component positions can include the following steps.

[0068] Data preparation: Collect information related to more than one hundred components, including the coordinates (usually the coordinates of the center point) and dimensions (which can be a range or a fixed value) of each component, as well as edge information (which can include position information, etc.).

[0069] Component grouping: If more than one hundred components are adjusted at once, the algorithm may need to calculate too much data, which can ultimately affect calculation efficiency. More than one hundred components can be divided into multiple parts, and each part contains at least one component.

[0070] Define a recursive function: define a recursive function adjustComponents(components), where components is the current component part to be processed. If components contains only one component, return the current information of the component; if components contains multiple components, adjust the positions between the components through subsequent steps.

[0071] Start recursion: call the adjustComponents function and pass in the data of each component contained in each part.

[0072] Iteration and convergence: during the recursion process, the recursive function is repeatedly executed until the entire layout gradually converges to a relatively stable state (i.e., each component reaches force balance).

[0073] According to the process flow chart generation method for semiconductor manufacturing provided in the embodiments of the present application, by dividing the components in the original process flow chart into multiple parts, adjusting the position of each component in each part based on constraint solving and force-directed layout algorithm, the efficiency of generating the process flow chart for semiconductor manufacturing can be further improved.

[0074] In some embodiments, adjusting the position of each component in each part based on constraint solving and force-directed layout algorithm includes:

[0075] Based on the constraint conditions of each component in the part, determine the target position of each component in the part according to the force-directed layout algorithm;

[0076] Adjust the components to the target position.

[0077] In actual execution, after the numerous components in the flow chart are divided, the position of the components contained in each part is adjusted, and the components contained in each part will be calculated and adjusted in position through the above steps.

[0078] Taking the start component A, the flow step components BCD, and the judgment component E contained in the current part to be adjusted as an example, the specific adjustment steps are as follows:

[0079] Data Preparation: Start component A with coordinates (30, 50) and size (50, 40), represented as {A, (30, 50), (50, 40)}. Flow step component B with coordinates (100, 80) and size (60, 40), represented as {B, (100, 80), (60, 40)}. Flow step component C with coordinates (180, 120) and size (50, 30), represented as {C, (180, 120), (50, 30)}. Flow step component D with coordinates (250, 150) and size (45, 35), represented as {D, (250, 150), (45, 35)}. Decision component E with coordinates (320, 180) and size (55, 45), represented as {E, (320, 180), (55, 45)}. Edge information, such as A to B has an edge, can be recorded as {A, B}. B to C has an edge, recorded as {B, C}. C to D has an edge, recorded as {C, D}. D to E has an edge, recorded as {D, E}.

[0080] Constraints are obtained. The constraints that specify the minimum distance between components are made clear. For start component A and flow step component B, it is specified that the minimum distance between them is 70 pixels, which means that in the layout, the distance between the centers of A and B cannot be less than 70 pixels to ensure that they are not too close to each other and cause congestion or overlap in the layout. Similarly, for flow step components B and C, a minimum distance of 80 pixels is set, and for flow step components C and D, a minimum distance of 80 pixels is also set, and for flow step components D and E, a minimum distance of 80 pixels is set. Such detailed specifications help to maintain sufficient spacing between components, facilitating clear display and differentiation of each component. For edge CD, further precise constraints are imposed on its length, which must be within the specific range of 120 to 150 pixels. This means that when the actual length of edge CD is calculated, its value must be between 120 pixels and 150 pixels, including the two end points of 120 pixels and 150 pixels. If the calculated length is not within this range, it does not meet the constraints and needs to be adjusted in subsequent steps to meet this specific length limit.

[0081] Initialize the layout. Randomly set start component A to be placed at (40, 60), flow step component B to be placed at (80, 90), C to be placed at (200, 150), D to be placed at (300, 220), decision component E to be placed at (400, 300), etc., forming an initial layout state.

[0082] Perform force-directed layout algorithm to calculate forces and constraints. Use Hooke's law algorithm to calculate the attractive and repulsive forces between each component and other components. The net force on a component is the vector sum of the attractive and repulsive forces. By continuously adjusting the component positions, the system total energy gradually decreases until it reaches a state of force balance. Calculate the attractive force between components A and B, assuming an attractive force coefficient of 0.5 and a distance of 90 pixels, the attractive force is 202.5 according to the attractive force formula. The repulsive force can be calculated based on the square of the distance, assuming it is 30 at this time. At the same time, check whether the distance between A and B meets the minimum distance constraint of 70 pixels, and whether the length of edge AB is within the specified range. Similar calculations and constraint checks are performed for components B and C, such as attractive and repulsive forces, distance and edge BC length checks. Similarly, corresponding calculations and constraint confirmations are performed for components C and D. Similarly, corresponding calculations and constraint confirmations are performed for components D and E.

[0083] Adjust component positions to target positions. Based on the calculated forces and constraints, adjust the position of component A to (35, 55), component B to (90, 85), component C to (185, 155), component D to (250, 200), component E to (350, 280), etc.

[0084] Repeat iterations. Continue to perform the above calculation and adjustment steps until the preset number of iterations is reached or the convergence condition is met, etc., such as after 50 iterations.

[0085] Optimize and fine-tune. If component A is found to be not very coordinated with other components, fine-tune its coordinates to (33, 53).

[0086] Display the layout results: display the final adjusted layout, such as component A at (33, 53), B at (90, 85), C at (185, 155), D at (250, 200), E at (350, 280), etc. on the interface.

[0087] It should be noted that the above is an example, but those skilled in the art can also understand other embodiments based on it, which can also achieve the same effect.

[0088] The process flow chart generation method for semiconductor manufacturing provided by the embodiment of the present application can more efficiently generate a process flow chart for semiconductor manufacturing by determining the target positions of each component in the section based on the constraint conditions of each component in the section and the force-directed layout algorithm, and adjusting the components to the target positions.

[0089] In some embodiments, based on the constraint conditions of the components in the part, the target positions of the components in the part are determined according to a force-directed layout algorithm, including: obtaining the attractive force and repulsive force between any two components; the attractive force between the two components is proportional to the mass of the two components and inversely proportional to the distance between the two components; the repulsive force between the two components is proportional to the distance between the two components.

[0090] In actual implementation, the attractive force calculation formula can be F_gravity=G*(m1*m2) / d 2 . Wherein, F_gravity represents the attractive force, G is the gravitational constant, m1 and m2 are the masses of the two components respectively, and d is the distance between the two components. The repulsive force calculation formula can be F_repulsion=k*d, wherein F_repulsion represents the repulsive force, and k is the repulsive force coefficient.

[0091] In some embodiments, since the components in the flowchart are planar graphs, the density of each component is considered to be the same, and therefore the mass of the component can be proportional to the area of the component.

[0092] In some embodiments, the mass basis per unit area can be pre-set as the density, and after the component is added to the original process flowchart, the area of the component can be obtained according to the shape and geometric size of the component. For example, a rectangular component can be obtained by multiplying the length and width of the component, and a circular component can be obtained by multiplying the square of the radius of the component and the constant π. After obtaining the area of the component, the mass of the component can be obtained based on the area of the component and the mass basis.

[0093] It can be understood that the unit area can adopt 1cm 2 or 1 pixel, etc. In some embodiments, the area of the component can be calculated using the same area unit as the unit area, and after obtaining the area of the component, the mass of the component can be obtained by multiplying the area of the component and the aforementioned mass basis. Alternatively, the area of the component can also have a conversion relationship with the area unit of the unit area, and after converting the area of the component and the aforementioned mass basis to use the same area unit, the mass of the component can be obtained by multiplying the two.

[0094] Based on the aforementioned attractive force calculation formula and repulsive force calculation formula, the attractive force and repulsive force received by each component in the part can be obtained. It should be noted that, except for the components near the boundary of the part, the attractive force and repulsive force between the components in the part and the components in other parts are not considered.

[0095] The target positions of the components in the part are obtained to meet the constraint conditions and achieve force balance of the components in the part.

[0096] In actual execution, the target position of each component in the part can be obtained by satisfying the constraint condition and force balance of each component in the part.

[0097] According to the process flow chart generation method for semiconductor manufacturing provided in the embodiments of the present application, the target position of each component in the part can be obtained by satisfying the constraint condition and force balance of each component in the part, so that the process flow chart for semiconductor manufacturing can be generated more efficiently.

[0098] In some embodiments, the components in the original process flow chart are divided into multiple parts by random grouping, grouping by a specified number, random grouping by a specified number, grouping based on the type of the components, or grouping according to the flow branches.

[0099] In actual execution, after the coordinates and size information of each component are obtained, the components in the original process flow chart can be divided into multiple parts by random grouping, grouping by a specified number, random grouping by a specified number, grouping based on the type of the components, or grouping according to the flow branches. Each group obtained by the division is a part.

[0100] When random grouping is performed, a specific grouping number is not specified in advance, but a number n can be randomly generated by using the Random() method, and then all components are divided into n groups. Then, all components are looped, and an integer m between 1 and n is generated for each component by using random.nextInt(), and the component is placed in the mth group.

[0101] When grouping by a specified number is performed, the grouping number n is configured in the configuration file application.yml, and the data in the configuration file is read to obtain the grouping number n when the code is running, and then the grouping operation is performed on all components. Then, all components are looped, and an integer m between 1 and n is generated for each component by using random.nextInt(), and the component is placed in the mth group.

[0102] When grouping by a specified number and random grouping is performed, the grouping number n is configured in the configuration file application.yml, and the data in the configuration file is read to obtain the grouping number n when the code is running, and then the grouping operation is performed on all components. According to the number of components and the order of the components, the components are evenly grouped. For example, there are 100 components, and the grouping number is specified as 10, so the components with serial numbers 1-10 are divided into a group, the components with serial numbers 11-20 are divided into a group, and so on.

[0103] Grouping based on component type is to divide the same component type into a group, for example, process step components into a group, condition judgment components into a group, etc.

[0104] Grouping according to process branch can be to take each process branch as a group, for example, components on the main process into a group, components on each branch process into a group.

[0105] The process flow chart generation method for semiconductor manufacturing provided by the embodiments of the present application can divide components in the original process flow chart into multiple parts by using random grouping, grouping by a specified number, random grouping by a specified number, grouping based on the type of components, or grouping according to process branches, which can adapt to the generation of process charts with different characteristics.

[0106] In some embodiments, the original process flow chart for semiconductor manufacturing is obtained, including: in response to the input of a user, performing an adding operation, a deleting operation or a modifying operation on at least one component in an initial process flow chart to generate the original process flow chart; the initial process flow chart is a blank process flow chart or a process flow chart to be updated.

[0107] In actual implementation, communication can be carried out with the customer, and the complete production process is refined according to all steps involved in the actual production process of the customer, or the user is directly asked to provide its existing production process. After obtaining the production process, the corresponding process step component is selected to replace each specific production step according to the operation of each step, and the process name of the production step represented by the component and the parameters required for production configuration are set for the component. Finally, according to the sequence of the production process, the corresponding components are connected through the connection line.

[0108] For example, the production process includes:

[0109] 1. Perform process A;

[0110] 2. Perform process B;

[0111] 3. Perform process C;

[0112] 4. Determine whether to go through the NPW (not product wafer) process (NPW == true?);

[0113] 4.1 NPW is true, go through the NPW process;

[0114] 4.1.1 NPW process 1;

[0115] 4.1.2 NPW process 2;

[0116] 4.1.3 NPW process 3;

[0117] 4.2 NPW is false, and the NPW process is not taken;

[0118] 4.2.1 Process D.

[0119] The generation of the original process flowchart (taking the blank process flowchart as an example) in the above production process can include:

[0120] Pull the component representing the start of the process into the canvas (blank process flowchart);

[0121] Pull the process step component representing process A;

[0122] Pull the process step component representing process B;

[0123] Pull the process step component representing process C;

[0124] Pull the condition judgment component and input the condition (NPW == true?);

[0125] Pull the NPW process step component representing NPW process 1 for branch 1;

[0126] Pull the NPW process step component representing NPW process 2 for branch 1;

[0127] Pull the NPW process step component representing NPW process 3 for branch 1;

[0128] Pull the process end component representing the end of branch process 1 for branch 1;

[0129] Pull the process step component representing process D for branch 2;

[0130] Pull the process end component representing the end of branch process 2 for branch 2;

[0131] Pull multiple lines to connect all the components in order.

[0132] The above pulling can refer to generating components by dragging.

[0133] In some embodiments, custom Web components can be pre-registered. Various components needed for use can be obtained by carefully encapsulating components through front-end technologies such as HTML, CSS, and JavaScript. This step involves starting from planning the structure of the component, and through multiple steps such as HTML encapsulation, CSS style encapsulation, and JS function implementation, obtaining Web components that meet the use in different scenarios.

[0134] Specifically, it can include:

[0135] Define the node component class file. Create a JavaScript file named nodeComponent.js, which defines a class named Node. The Node class includes a constructor and a render method.

[0136] Set the properties and styles of the component. The constructor and render methods of the Node class are used to set the overall style of the Node component. The constructor method receives various properties from external components, including the component name name, color color, background color backgroundColor, font color fontColor, border color borderColor, and shape shape. After receiving these parameters, the method assigns these values to the corresponding variables of the current instance object this. The render method is responsible for rendering the component. It receives the this parameter and obtains all variable values saved in the constructor method. Then, it creates a node nodeDiv using the document.createElement('div') method. It sets the component name using nodeDiv.innerHTML = this.name. It changes the component's color, background color, border color, font color, and other styles by setting the color, backgroundColor, borderColor, fontColor, and other settings in nodeDiv.style. It determines the component's shape by judging the shape value passed in. It sets the length, width, height, and border radius in nodeDiv.style to get different shape representations. Finally, it obtains the page node using document.getElementById('nodeContainer') and adds the nodeDiv node to the page using the appendChild(nodeDiv) method.

[0137] Initialization of components is performed. Obtain various components such as start, end, condition judgment, flow step, line and the like, and initialization operation needs to be performed on the components. First, an HTML file is created, and a div tag named "nodeContainer" needs to be constructed in the file to obtain and add nodes in the previous step. Then, the "nodeComponent.js" file defined in the previous step is introduced in the script by means of "import", then a node is created by means of "new Node()", and the name, color, background color, border color, font color and the like of the component are transmitted by means of the "constructor" construction method, and finally the component is rendered by means of the "node.render()" method.

[0138] After the custom web component is pre-registered, the custom process flow configuration is realized through XML configuration description and SVG rendering page. After the encapsulated components are obtained through pre-registration of the custom web component, the components can be visually dragged and pulled in the front-end page, and the nodes are connected through wiring, and finally the configured process flow is converted into an XML format string and saved.

[0139] Specifically, it can include:

[0140] Page structure and basic settings: define a div tag named "nodeContainer" in the page <svg>Elements, as a canvas to draw components and connections, and introduce the d3.js library to provide powerful tool support for subsequent graph operations.

[0141] The component dragging function initDragging is implemented. A drag behavior object is created through the d3.drag method. Three key callback functions are defined on this object. When the dragging starts, the original position of the component is recorded to accurately restore or calculate the position change in subsequent operations. During the dragging process, the new position of the component is updated in real time, and the component is redrawn immediately by calling the drawComponent function to ensure that the position change is displayed on the page in time. At the end of the dragging, some additional processing space is reserved, such as triggering other associated operations or state updates. Then, the corresponding component element is found through the selector, and the created drag behavior is applied to the element to make it have the drag feature. The drawComponent function is mainly responsible for drawing the component on the SVG canvas in the form of a graph. It adds a rectangle element to the canvas according to the component properties passed in to represent the component visually. The position, size, and color of the rectangle are all corresponding to the settings of the component.

[0142] The function drawLine is implemented to draw a line between two components. According to the specific position and size information of the two components, the function calculates the appropriate starting and ending points of the line, and then draws a straight line on the SVG canvas to connect the center positions of the two components. The line is made clear and distinguishable by setting its color and width attributes.

[0143] The generateXML function is responsible for converting the current component and connection information into XML format, creating an empty XML document, and then creating a root element ComponentsAndLines. The components array is traversed, and for each component, the corresponding element is created and its attributes are set before being added to the root element. Then the connection elements on the SVG are traversed, and for each connection, the corresponding element is created and its attributes related to the connection are set, and it is also added to the root element. Finally, the root element is added to the XML document. The XML document is converted to a string through newXMLSerializer().serializeToString(xmlDoc), and the data is transmitted to the backend for saving through a request initiated by the front end.

[0144] The encapsulation of nodes and connections is implemented by using HTML / CSS / JS to realize custom web components. The encapsulation of custom components is one of the key steps to achieve process flow configurability. During the encapsulation process of custom components, the developer needs to have a deep understanding of HTML / CSS / JS and other related technologies, and needs to deeply analyze and thoroughly understand the role of various components such as nodes and connections in the entire application scenario. After all, the perfection of component encapsulation will directly determine whether the subsequent process flow configuration is practically operable. Therefore, the process of realizing custom components is relatively difficult. With these components, the starting point, end point, process name, process type, branch flow, process sequence and other key elements of the process flow can be accurately represented, thereby realizing the dynamic configurability of the process flow, allowing the process flow to be flexibly adjusted and changed according to different needs and conditions, and providing strong support for the efficient operation and innovative development of enterprises.

[0145] The components in the process flow and the relationship between the components are configured and saved by using XML format. In the actual production process, the process flow may involve many step components, condition judgment components, branch components, etc. The XML format file can well describe the components and the relationship between the components. Moreover, the XML configuration is finally converted into a string form and stored in the database, so that the configured data can be read and parsed very conveniently.

[0146] The application embodiment provides a process flow chart generation method applied to semiconductor manufacturing. The execution subject can be a process flow chart generation device applied to semiconductor manufacturing. In the application embodiment, the process flow chart generation method applied to semiconductor manufacturing is executed by the process flow chart generation device applied to semiconductor manufacturing, and the process flow chart generation device applied to semiconductor manufacturing is described.

[0147] The application embodiment further provides a process flow chart generation device applied to semiconductor manufacturing.

[0148] As shown in Figure 2 The process flow chart generation device applied to semiconductor manufacturing includes an acquisition module 210 and a generation module 220.

[0149] The acquisition module 210 is configured to acquire an original process flow chart applied to semiconductor manufacturing.

[0150] The generation module 220 is configured to adjust the positions of components in the original process flow chart based on constraint solving and force-directed layout algorithm, and generate a target process flow chart.

[0151] According to the process flow chart generation device for semiconductor manufacturing provided by the embodiment of the present application, the position of each component in the original process flow chart is adjusted based on constraint solving and force-directed layout algorithm to generate a target process flow chart, so that the process flow chart for semiconductor manufacturing can be generated more efficiently.

[0152] In some embodiments, the generating module 220 can include:

[0153] a grouping unit configured to divide the components in the original process flow chart into a plurality of parts;

[0154] an adjusting unit configured to adjust the position of each component in each part based on constraint solving and force-directed layout algorithm respectively for each part.

[0155] In some embodiments, the adjusting unit can include:

[0156] a determining subunit configured to determine the target position of each component in the part according to the force-directed layout algorithm based on the constraint condition of each component in the part;

[0157] an adjusting subunit configured to adjust the component to the target position.

[0158] In some embodiments, the determining subunit can be specifically configured to

[0159] obtain the attractive force and repulsive force between any two components; the attractive force between the two components is proportional to the mass of the two components and inversely proportional to the distance between the two components; the repulsive force between the two components is proportional to the distance between the two components;

[0160] obtain the target position of each component in the part to meet the constraint condition and achieve force balance of each component in the part.

[0161] In some embodiments, the grouping unit can be specifically configured to divide the components in the original process flow chart into a plurality of parts by random grouping, grouping by a specified number, random grouping by a specified number, grouping based on the type of components, or grouping according to the flow branch.

[0162] In some embodiments, the obtaining module 210 can be specifically configured to generate the original process flow chart in response to the input of the user by performing an adding operation, a deleting operation or a modifying operation on at least one component in the initial process flow chart; the initial process flow chart is a blank process flow chart or a process flow chart to be updated.

[0163] The process flow chart generation device for semiconductor manufacturing in the embodiments of the present applicationapplicationbe an electronic device, or a component in an electronic device, such as an integrated circuit or a chip. The electronic deviceapplicationbe a terminal, or other devices than a terminal. For example, the electronic deviceapplicationbe a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, a Mobile Internet Device (MID), an augmented reality (AR) / virtual reality (VR) device, a robot, a wearable device, an ultra-mobile personal computer (UMPC), a netbook, or a personal digital assistant (PDA), etc., or a server, a Network Attached Storage (NAS), a personal computer (PC), a television (TV), a teller machine, or a self-service machine, etc., and the embodiments of the present application do not make a specific limitation.

[0164] The process flow chart generation device for semiconductor manufacturing in the embodiments of the present applicationapplicationbe a device with an operating system. The operating systemapplicationbe an Android operating system, an iOS operating system, or other possible operating systems, and the embodiments of the present application do not make a specific limitation.

[0165] The process flow chart generation device for semiconductor manufacturing provided in the embodiments of the present applicationapplicationbe able to realize the processes of the method embodiments, and the details are not described herein again to avoid repetition. Figure 1 The processes of the method embodimentsapplicationbe realized by the process flow chart generation device for semiconductor manufacturing, and the details are not described herein again to avoid repetition.

[0166] In some embodiments, as shown in Figure 3 The embodiments of the present application also provide an electronic device 300, which includes a processor 310, a memory 320, and a computer program stored in the memory 320 and capable of running on the processor 310. The program is executed by the processor 310 to realize the processes of the above-mentioned method embodiments of the process flow chart generation for semiconductor manufacturing, and achieve the same technical effects. The details are not described herein again to avoid repetition.

[0167] It should be noted that the electronic device in the embodiments of the present applicationapplicationinclude the above-mentioned mobile electronic device and non-mobile electronic device.

[0168] The embodiment of the present application further provides a non-transitory computer readable storage medium, which stores a computer program. The computer program is executed by a processor to implement each process of the above-mentioned process flow chart generation method applied to semiconductor manufacturing and achieve the same technical effects. To avoid repetition, details are not described herein.

[0169] The processor is the processor in the electronic device in the above-mentioned embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0170] The embodiment of the present application further provides a computer program product, which includes a computer program. The computer program is executed by a processor to implement the above-mentioned process flow chart generation method applied to semiconductor manufacturing.

[0171] The processor is the processor in the electronic device in the above-mentioned embodiments. The readable storage medium includes a computer readable storage medium, such as a computer readable only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0172] The embodiment of the present application further provides a chip, which includes a processor and a communication interface. The communication interface is coupled with the processor. The processor is used to run a program or an instruction to implement each process of the above-mentioned process flow chart generation method applied to semiconductor manufacturing and achieve the same technical effects. To avoid repetition, details are not described herein.

[0173] It should be understood that the chip mentioned in the embodiment of the present application can also be referred to as a system level chip, a system chip, a chip system or a system on chip, etc.

[0174] It should be noted that, in this document, the terms "comprising", "including" or any other variant thereof are intended to cover non-exclusive inclusions, so that processes, methods, articles or devices including a series of elements not only include those elements, but also include other elements not explicitly listed or inherent to such processes, methods, articles or devices. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the methods and devices in the embodiments of the present application is not limited to the order of performing functions as shown or discussed, but can also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method can be performed in an order different from that described, and various steps can also be added, omitted or combined. In addition, the features described with reference to some examples can be combined in other examples.

[0175] Through the description of the above embodiments, those skilled in the art can clearly understand that the above-mentioned example methods can be realized by means of software and necessary general hardware platforms, and of course, they can also be realized by hardware, but in many cases, the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a computer software product in essence or in the form of a part of the prior art that makes a contribution. The computer software product is stored in a storage medium (such as a ROM / RAM, a magnetic disc, an optical disc), and includes a plurality of instructions for causing a terminal (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application.

[0176] The embodiments of the present application are described above in combination with the accompanying drawings, but the present application is not limited to the above-mentioned specific embodiments, and the above-mentioned specific embodiments are only illustrative and not restrictive. Those skilled in the art can make many forms under the inspiration of the present application without departing from the scope of the present application and the scope protected by the claims.

[0177] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an illustrative embodiment", "an example", "a specific example", or "some examples" means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily mean the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or more embodiments or examples in a suitable manner.

[0178] Although the embodiments of the present application have been shown and described, those skilled in the art can understand that various changes, modifications, replacements and variations can be made to the embodiments without departing from the principles and purposes of the present application, and the scope of the present application is defined by the claims and their equivalents.< / svg>

Claims

1. A method for generating a process flow chart for semiconductor manufacturing, characterized in that: include: Obtain original process flow diagrams used in semiconductor manufacturing; Based on constraint solving and force-directed layout algorithms, positions of components in the original process flow chart are adjusted to generate a target process flow chart.

2. The method for generating a process flow chart for semiconductor manufacturing according to claim 1, wherein: The adjusting the positions of the components in the original process flow chart based on the constraint solving and force-directed layout algorithm to generate the target process flow chart includes: Dividing the components in the original process flow diagram into a plurality of parts; For each of the parts, a position of each component in the part is adjusted based on constraint solving and a force-directed layout algorithm.

3. The method for generating a process flow chart for semiconductor manufacturing according to claim 2, wherein: For each of the parts, adjusting the position of each component in the part based on constraint solving and a force-directed layout algorithm includes: Determining target positions of the components in the portion according to a force-directed layout algorithm based on constraints on the components in the portion; The component is adjusted to the target position.

4. The method for generating a process flow chart for semiconductor manufacturing according to claim 3, wherein: Determining target positions of components in the portion based on constraints on the components in the portion and using a force-directed layout algorithm includes: Obtaining the attractive force and repulsive force between any two of the components; the attractive force between the two components is proportional to the masses of the two components and inversely proportional to the distance between the two components; the repulsive force between the two components is proportional to the distance between the two components; With the goal of satisfying the constraint conditions and achieving force balance among the components in the part, the target position of each component in the part is obtained.

5. The method for generating a process flow chart for semiconductor manufacturing according to claim 2, wherein: The components in the original process flow diagram are divided into multiple parts, including: The components in the original process flow diagram are divided into a plurality of parts by random grouping, grouping by specified number, random grouping by specified number, grouping based on component type, or grouping according to process branches.

6. The method for generating a process flow chart for semiconductor manufacturing according to any one of claims 1 to 5, characterized in that: The obtaining of the original process flow chart applied to semiconductor manufacturing includes: In response to user input, an addition operation, a deletion operation or a modification operation is performed on at least one component in the initial process flow chart to generate the original process flow chart; the initial process flow chart is a blank process flow chart or a process flow chart to be updated.

7. A process flow chart generating device for semiconductor manufacturing, characterized in that: include: An acquisition module, for acquiring an original process flow chart applied to semiconductor manufacturing; The generation module is used to adjust the positions of the components in the original process flow chart based on constraint solving and force-directed layout algorithm to generate a target process flow chart.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the program, the method for generating a process flow chart applied to semiconductor manufacturing as described in any one of claims 1 to 6 is implemented.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method for generating a process flow chart for semiconductor manufacturing as claimed in any one of claims 1 to 6 is implemented.

10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method for generating a process flow chart for semiconductor manufacturing as described in any one of claims 1 to 6 is implemented.