Creating method and device of custom component, storage medium and electronic equipment

Through the creation and reuse of custom components, the problem that existing components cannot meet chip design needs is solved, and the chip design efficiency and quality are improved.

CN120068775APending Publication Date: 2025-05-30SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510037614.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

Existing components cannot meet the increasing parameter and variable requirements in chip design, resulting in a sharp increase in workload during the design process and delay in the design process, affecting the progress and quality of chip design.

Method used

Provides a method for creating custom components. By selecting the components to be processed from the component library of the chip layout design system, processing them geometrically, setting attribute parameters, and finally saving the custom components to the component library for subsequent multiplexing.

Benefits of technology

Through the creation and reuse of custom components, the process of repeated design of components is reduced, the chip design efficiency is improved, and the probability of design errors is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120068775A_ABST
    Figure CN120068775A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a user-defined component creating method and device, a storage medium and electronic equipment, and relates to the field of chip design, the method is applied to a chip layout design system, the chip layout design system comprises a component library, the component library comprises a plurality of components, the plurality of components are used for constructing a chip layout, and the component library comprises a plurality of components. The method comprises the steps of determining a to-be-processed component from a component library in response to a custom component creation request of a target object, and obtaining a target graph obtained after geometric graph processing is performed on the to-be-processed component; setting attribute parameters of the target graph to obtain a user-defined component; and storing the user-defined components in a component library. The problem of how to improve the chip design efficiency in the prior art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present application relate to the field of chip design. Specifically, the present application relates to a method, apparatus, storage medium, and electronic device for creating custom components. Background Art

[0002] Electronic Design Automation (EDA) software, as an important part of integrated circuit and printed circuit board design, is not only used for designing and simulating electronic systems, but also integrates many advanced functions, such as circuit layout, signal integrity analysis, power consumption analysis, etc. These functions make EDA software an indispensable tool in the field of chip design.

[0003] With the continuous improvement of the performance of electronic devices, the parameters and variables in chip design have also increased accordingly. Therefore, the existing components in EDA software cannot meet the chip design requirements, and engineers need to design components by themselves, which leads to a sharp increase in the workload required in the design process. It is easy to cause delays in the design process and affect the progress and quality of chip design.

[0004] Therefore, in the related art, there is a problem of how to improve the efficiency of chip design.

[0005] In view of the problem of how to improve the efficiency of chip design in the related art, no effective solution has been proposed yet. Summary of the Invention

[0006] Embodiments of the present application provide a method, apparatus, storage medium, and electronic device for creating custom components, so as to at least solve the problem of how to improve the efficiency of chip design in the related art.

[0007] According to an embodiment of the present application, there is provided a method for creating a custom component, which is applied to a chip layout design system. The chip layout design system includes a component library, and the component library includes a plurality of components for constructing a chip layout. The method includes: in response to a custom component creation request of a target object, determining a to-be-processed component from the component library, and obtaining a target graph obtained by performing geometric graph processing on the to-be-processed component; setting attribute parameters of the target graph to obtain a custom component; and saving the custom component to the component library.

[0008] In an exemplary embodiment, geometric processing is performed on the component to be processed to obtain a target graphic, including: when it is determined that the component to be processed only includes a first component to be processed, the ways to obtain the target graphic include one of the following: obtaining the target graphic obtained after performing a cropping operation on the first component to be processed; obtaining the target graphic obtained after performing a cutting operation on the first component to be processed; obtaining the target graphic obtained after performing a splitting operation on the first component to be processed; when it is determined that the component to be processed only includes the first component to be processed and a second component to be processed, obtaining the target graphic obtained after performing a Boolean operation on the first component to be processed and the second component to be processed, where the Boolean operation includes an intersection operation, a union operation, and a symmetric difference operation.

[0009] In an exemplary embodiment, obtaining the target graphic obtained after performing a cropping operation on the first component to be processed includes: adding the first component to be processed to a canvas, where the canvas is used to display the graphic style of the component, and the components on the canvas are composed of multiple coordinate points; performing a selection operation on the first component to be processed to obtain a first selected part of the first component to be processed; adding the coordinate points corresponding to the first selected part to a first array, and creating the target graphic according to the coordinate points in the first array.

[0010] In an exemplary embodiment, obtaining the target graphic obtained after performing a cutting operation on the first component to be processed includes: adding the first component to be processed to a canvas, performing a selection operation on the first component to be processed to obtain a second selected part of the first component to be processed; adding the coordinate points corresponding to the second selected part to a second array, and adding the coordinate points corresponding to the first component to be processed to a third array; traversing the coordinate points in the third array, adding the coordinate points that do not exist in the second array to a fourth array, and creating the target graphic according to the coordinate points in the fourth array.

[0011] In an exemplary embodiment, obtaining the target graphic obtained after performing a splitting operation on the first component to be processed includes: adding the first component to be processed to a canvas, and splitting the first component to be processed into two graphics according to a splitting line; adding the coordinate points corresponding to the two graphics to a fifth array and a sixth array respectively, and creating the target graphic according to the coordinate points in the fifth array or the sixth array.

[0012] In an exemplary embodiment, obtaining the target graph obtained by performing a Boolean operation on the first component to be processed and the second component to be processed includes: when it is determined that the Boolean operation is an intersection operation, determining the overlapping part of the first component to be processed and the second component to be processed as the target graph; when it is determined that the Boolean operation is a union operation, merging the first component to be processed and the second component to be processed into a target graph; when it is determined that the Boolean operation is a symmetric difference operation, determining the non-overlapping part of the first component to be processed and the second component to be processed as the target graph.

[0013] In an exemplary embodiment, determining the overlapping part of the first component to be processed and the second component to be processed as the target graph includes: adding the first component to be processed and the second component to be processed to the canvas, adding the coordinate points corresponding to the first component to be processed to the seventh array, adding the coordinate points corresponding to the second component to be processed to the eighth array, traversing the seventh array and the eighth array, adding the coordinate points that exist in both the seventh array and the eighth array to the ninth array, and creating the target graph according to the coordinate points in the ninth array; merging the first component to be processed and the second component to be processed into a target graph includes: adding the first component to be processed and the second component to be processed to the canvas, performing duplicate removal processing on the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed, adding the coordinate points after duplicate removal processing to the tenth array, and creating the target graph according to the coordinate points in the tenth array, where the duplicate removal processing means retaining only one of the multiple duplicate coordinate points; determining the non-overlapping part of the first component to be processed and the second component to be processed as the target graph includes: adding the first component to be processed and the second component to be processed to the canvas, adding the non-duplicate coordinate points among the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed to the eleventh array, and creating the target graph according to the coordinate points in the eleventh array.

[0014] According to another embodiment of the present application, a device for creating a custom component is provided, including: an obtaining module, configured to determine a component to be processed from the component library in response to a custom component creation request of a target object, and obtain a target graph obtained by performing geometric graph processing on the component to be processed; a setting module, configured to set attribute parameters of the target graph to obtain a custom component; and a saving module, configured to save the custom component to the component library.

[0015] According to another embodiment of the present application, there is also provided a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0016] According to another embodiment of the present application, there is also provided an electronic device including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0017] According to another embodiment of the present application, there is also provided a computer program product including a computer program, and the steps in the above method embodiments are implemented when the computer program is executed by a processor.

[0018] Through the present application, a to-be-processed component can be selected from multiple components in the component library of the chip layout design system, and then geometric graphics processing is performed on the to-be-processed component to obtain a target graphic. After setting attribute parameters for the target graphic, it is saved to the component library to obtain a custom component. The custom component saved in the component library can be reused in subsequent chip design processes, reducing the process of repeated component design, and thus can solve the problem of how to improve chip design efficiency in the related art. Description of the Drawings

[0019] Figure 1 is a hardware structure block diagram of a server device for a method of creating a custom component according to an embodiment of the present application;

[0020] Figure 2 is a flowchart of a method of creating a custom component according to an embodiment of the present application;

[0021] Figure 3 is a schematic flowchart of a method of creating a custom component according to an embodiment of the present application;

[0022] Figure 4 is a schematic diagram (one) of a method of creating a custom component according to an embodiment of the present application;

[0023] Figure 5 is a schematic diagram (two) of a method of creating a custom component according to an embodiment of the present application;

[0024] Figure 6 is a schematic diagram (three) of a method of creating a custom component according to an embodiment of the present application;

[0025] Figure 7 is a schematic diagram (four) of a method of creating a custom component according to an embodiment of the present application;

[0026] Figure 8 It is a structural block diagram of a creation device for custom components according to an embodiment of the present application. Detailed implementation manners

[0027] In the following, embodiments of the present application will be described in detail with reference to the accompanying drawings and in combination with embodiments.

[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence.

[0029] The method embodiments provided in the embodiments of the present application can be executed on a server device or a similar computing device. Taking running on a server device as an example, Figure 1 It is a hardware structural block diagram of a server device of a method for creating custom components according to an embodiment of the present application. As Figure 1 shown, the server device may include one or more ( Figure 1 only one is shown in the figure) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data. Among them, the above-mentioned server device may further include a transmission device 106 for communication functions and an input / output device 108. Those of ordinary skill in the art can understand that Figure 1 the structure shown in the figure is only schematic, and it does not limit the structure of the above-mentioned server device. For example, the server device may further include more or fewer components than Figure 1 shown in the figure, or have a configuration different from Figure 1 shown in the figure.

[0030] The memory 104 can be used to store computer programs. For example, software programs and modules of application software, such as the computer program corresponding to the method for creating custom components in the embodiments of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implements the above-mentioned method for creating custom components. The memory 104 may include a high-speed random access memory, and may further include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely provided relative to the processor 102, and these remote memories can be connected to the server device through a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and their combinations.

[0031] The transmission device 106 is used to receive or send data via a network. Specific examples of the above network may include a wireless network provided by a communication provider of the server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0032] In this embodiment, a method for creating a custom component is provided, which is applied to a baseboard management controller. The baseboard management controller includes a video transmission port, and the video transmission port is used to transmit image data to a display end through Ethernet, and the display end is used to display images. Figure 2 It is a flowchart of the method for creating a custom component according to an embodiment of the present application, as Figure 2 shown, and this process includes the following steps:

[0033] Step S202, in response to a custom component creation request of a target object, determine a to-be-processed component from the component library, and obtain a target graph obtained by performing geometric graph processing on the to-be-processed component;

[0034] Step S204, set attribute parameters of the target graph to obtain a custom component;

[0035] Step S206, save the custom component to the component library.

[0036] Optionally, after performing the above step S206 to save the custom component to the component library, the method further includes: performing parameter editing on the attributes of the target component, or deleting the target component.

[0037] It should be noted that in an EDA layout design system, a series of editing operations can be performed on some basic graphs or components so that the obtained components are custom components required by users. However, such components are not in the official component library. Therefore, it is necessary to save the edited custom components, so that the operation time of the custom process can be reduced and the efficiency of chip design can be improved when used next time.

[0038] Through the above steps, the to-be-processed component can be selected from multiple components in the component library of the chip layout design system, and then geometric graphics processing is performed on the to-be-processed component to obtain a target graphic. After setting attribute parameters for the target graphic, it is saved to the component library to obtain a custom component. In the subsequent chip design process, the custom component saved in the component library can be reused, reducing the process of repeated component design, and thus solving the problem of how to improve the chip design efficiency in the related art.

[0039] In an exemplary embodiment, performing geometric graphics processing on the to-be-processed component to obtain a target graphic includes: when it is determined that the to-be-processed component only includes a first to-be-processed component, the ways to obtain the target graphic include one of the following: obtaining the target graphic obtained after performing a clipping operation on the first to-be-processed component; obtaining the target graphic obtained after performing a cutting operation on the first to-be-processed component; obtaining the target graphic obtained after performing a splitting operation on the first to-be-processed component; when it is determined that the to-be-processed component only includes the first to-be-processed component and a second to-be-processed component, obtaining the target graphic obtained after performing a Boolean operation on the first to-be-processed component and the second to-be-processed component, where the Boolean operation includes an intersection operation, a union operation, and a symmetric intersection operation.

[0040] Optionally, in the above embodiment, there are three types of Boolean operations: and (intersection operation), union (union operation), and xor (symmetric intersection operation). When performing a Boolean operation, basic components or basic graphics need to be placed on the canvas. After performing an and operation between the graphics of the components, the overlapping part of the two graphics will be retained on the canvas, and the other parts will be deleted. After performing a union operation between the graphics, the two graphics will be combined into one graphic. After performing an xor operation between the graphics, the two graphics are combined into a new graphic, but the overlapping part of the two graphics will be cut off, and the remaining non-overlapping part on the canvas is used as an overall graphic.

[0041] Optionally, in the above embodiment, the creation of a custom component can also be achieved by performing operations such as clipping, cutting, and splitting on the graphics of the component. The clipping operation of the graphic is to retain the selected part of the selected graphic and clear the unselected part; the cutting operation is to clear the selected part of the selected graphic and retain the unselected part; the splitting effect is to split one graphic into two graphics at the position of the splitting line of the selected graphic. Since the graphics of the component are formed by connecting multiple points, only the corresponding point coordinates of the graphic need to be operated when performing the above operations.

[0042] In an exemplary embodiment, obtaining the target graph obtained after performing a cropping operation on the first component to be processed includes: adding the first component to be processed to a canvas, where the canvas is used to display the graphical styles of components, and the components on the canvas are composed of multiple coordinate points; performing a selection operation on the first component to be processed to obtain a first selected part of the first component to be processed; adding the coordinate points corresponding to the first selected part to a first array, and creating the target graph according to the coordinate points in the first array.

[0043] Optionally, in the above embodiment, before adding the graph corresponding to the component to the canvas, the attribute parameters of the graph can also be adjusted to determine that the initial attribute parameters of the component added at this time are the attribute parameters required by the custom component.

[0044] In an exemplary embodiment, obtaining the target graph obtained after performing a resection operation on the first component to be processed includes: adding the first component to be processed to a canvas, performing a selection operation on the first component to be processed to obtain a second selected part of the first component to be processed; adding the coordinate points corresponding to the second selected part to a second array, and adding the coordinate points corresponding to the first component to be processed to a third array; traversing the coordinate points in the third array, adding the coordinate points that do not exist in the second array to a fourth array, and creating the target graph according to the coordinate points in the fourth array.

[0045] In an exemplary embodiment, obtaining the target graph obtained after performing a splitting operation on the first component to be processed includes: adding the first component to be processed to a canvas, and splitting the first component to be processed into two graphs according to a splitting line; adding the coordinate points corresponding to the two graphs to a fifth array and a sixth array respectively, and creating the target graph according to the coordinate points in the fifth array or the sixth array.

[0046] Optionally, in the above embodiment, two target graphs can also be created respectively according to the two split graphs, and then parameters are set for the two target graphs to obtain two custom components.

[0047] Optionally, through the above embodiment, a new graph can be created by performing a calculation operation on the coordinate points corresponding to the component graph, and then a custom component can be designed based on the new graph, thereby improving the creation efficiency of the custom component.

[0048] In an exemplary embodiment, obtaining the target graph obtained by performing a Boolean operation on the first component to be processed and the second component to be processed includes: when it is determined that the Boolean operation is an intersection operation, determining the overlapping part of the first component to be processed and the second component to be processed as the target graph; when it is determined that the Boolean operation is a union operation, merging the first component to be processed and the second component to be processed into a target graph; when it is determined that the Boolean operation is a symmetric difference operation, determining the non-overlapping part of the first component to be processed and the second component to be processed as the target graph.

[0049] Optionally, through the above embodiments, the expansion and update of the component library can be supported, which facilitates the user to add new custom components or update the parameters and graphs of existing components based on the existing component design at any time.

[0050] In an exemplary embodiment, determining the overlapping part of the first component to be processed and the second component to be processed as the target graph includes: adding the first component to be processed and the second component to be processed to the canvas, adding the coordinate points corresponding to the first component to be processed to the seventh array, adding the coordinate points corresponding to the second component to be processed to the eighth array, traversing the seventh array and the eighth array, adding the coordinate points that exist in both the seventh array and the eighth array to the ninth array, and creating the target graph according to the coordinate points in the ninth array; merging the first component to be processed and the second component to be processed into a target graph includes: adding the first component to be processed and the second component to be processed to the canvas, performing duplicate removal processing on the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed, adding the coordinate points after duplicate removal processing to the tenth array, and creating the target graph according to the coordinate points in the tenth array, where the duplicate removal processing means that only one of the multiple duplicate coordinate points is retained; determining the non-overlapping part of the first component to be processed and the second component to be processed as the target graph includes: adding the first component to be processed and the second component to be processed to the canvas, adding the non-duplicate coordinate points among the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed to the eleventh array, and creating the target graph according to the coordinate points in the eleventh array.

[0051] Through the above embodiments, the user can quickly create and edit custom components according to actual needs, meet the personalized design requirements. By saving the custom components to the component library for repeated use, the design time can be saved, the probability of design errors can be reduced, and the chip design efficiency can be improved.

[0052] Obviously, the embodiments described above are only a part of the embodiments of this application, rather than all of them. To better understand the verification method of the above test cases, the following will describe the above process in combination with embodiments, but it is not used to limit the technical solutions of the embodiments of this application. Specifically:

[0053] In an optional embodiment, the creation process of the custom component is as Figure 3 shown, specifically including:

[0054] S301: Start creating the custom component.

[0055] In the above step S301, the user starts the EDA layout design tool by accessing the corresponding platform or software. In the tool interface, the user selects to enter the custom component creation mode, which provides a series of graphical operation interfaces and tools for creating and editing custom components. The creation of custom components can be performed through Boolean operations between component graphics or editing operations on component graphics.

[0056] S302: Create the custom component through Boolean operations or operations such as cropping, cutting, and slicing of the graphics.

[0057] In the above step S302, specifically as Figure 4 shown, there are three types of Boolean operations: and (intersection operation), union (union operation), and xor (symmetric intersection operation). When performing Boolean operations, basic components or basic graphics need to be placed on the canvas. After performing the and operation between the graphics of the components, the overlapping part of the two graphics will be retained on the canvas, and the other parts will be deleted. After performing the union operation between the graphics, the two graphics will be merged into one graphic. After performing the xor operation between the graphics, the two graphics will be merged into a new graphic, but the overlapping part of the two graphics will be cut off, and the remaining non-overlapping part on the canvas will be used as a whole graphic.

[0058] Optionally, in the above embodiment, the creation of custom components can also be achieved by performing operations such as cropping, cutting, and splitting on the graphics of the components. The cropping operation of the graphics is to retain the selected part of the selected graphic and clear the unselected part; the cutting operation is to clear the selected part of the selected graphic and retain the unselected part; the splitting effect is to split one graphic into two graphics at the position of the splitting line. Since the component graphics are all formed by connecting multiple points, only the corresponding point coordinates of the graphics need to be operated when performing the above operations.

[0059] S303: Save the created component, and perform some basic attribute parameter modifications and visual displays.

[0060] Optionally, as Figure 5 shown, the user can name the created component, such as Figure 6 shown, the user can set the attribute parameters of the created component and perform visual display of the component graphics.

[0061] S304: Custom components can be searched from the component library, and operations such as deletion and editing of custom components can be performed.

[0062] Optionally, as Figure 7 shown, the components created by the user are saved in the component library. Components can be searched by keywords, and operations such as attribute modification and deletion of existing components can be performed.

[0063] S305: Creation completed.

[0064] Through the above embodiments, the user can quickly create and edit custom components according to actual needs, meeting the personalized design requirements. The component library supports expansion and update, facilitating the user to add new components at any time or update the attribute parameters and graphic symbols of existing components. It is applicable to the design of various types of quantum chips such as superconducting quantum chips.

[0065] In an optional embodiment, for example, in some small research teams or educational institutions, due to resource limitations or technical maturity issues, the research team first clarifies the design requirements of the quantum chip, including the number of qubits, coupling method, wiring requirements, etc. The designer uses the EDA online layout design tool to manually draw each custom component in the quantum chip layout every time. This process requires the designer to have rich professional knowledge and experience because the design of quantum chips has extremely high requirements for accuracy and stability. After the design is completed, every time the same custom component is drawn in the future, it has to be redrawn again, greatly increasing the workload. Moreover, some parameters cannot be corrected and adjusted, and the accuracy will be affected. Repeated design requires a large amount of time and effort, especially when dealing with complex custom components. Due to the existence of human factors, errors and omissions are prone to occur during the design process. As the number of qubits increases, the design difficulty of the chip layout will increase exponentially, and repeated design is difficult to cope with this challenge.

[0066] In contrast, the creation function of custom components in the layout design tool in this embodiment can greatly improve the efficiency and accuracy of quantum chip design. And through parameter settings, commonly used non-official components can be quickly created and used, and dynamic adjustment and optimization are supported. This not only reduces the workload of the designer but also improves the reliability and maintainability of the design.

[0067] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to enable a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of the present application.

[0068] In this embodiment, a creation device for custom components is further provided. This system is used to implement the above embodiments and preferred implementation manners, and those that have been described will not be repeated. As used below, the term "module" can be a combination of software and / or hardware that can achieve a predetermined function. Although the system described in the following embodiments is preferably implemented in software, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0069] Figure 8 is a structural block diagram of a creation device for custom components according to an embodiment of the present application. As Figure 8 shown, the device includes:

[0070] An acquisition module 82, configured to determine a to-be-processed component from the component library in response to a custom component creation request of a target object, and acquire a target graph obtained by performing geometric graph processing on the to-be-processed component;

[0071] A setting module 84, configured to set attribute parameters of the target graph to obtain a custom component;

[0072] A saving module 86, configured to save the custom component to the component library.

[0073] Through the above device, a to-be-processed component can be selected from multiple components in the component library of the chip layout design system, and then geometric graph processing is performed on the to-be-processed component to obtain a target graph. After setting attribute parameters for the target graph, it is saved to the component library to obtain a custom component. In the subsequent chip design process, the custom component saved in the component library can be reused, reducing the process of repeated component design, and thus can solve the problem of how to improve the chip design efficiency in the related art.

[0074] In an exemplary embodiment, the obtaining module 82 is further configured to: when it is determined that the component to be processed only includes a first component to be processed, the method for obtaining the target graph includes one of the following: obtaining the target graph obtained by performing a cropping operation on the first component to be processed; obtaining the target graph obtained by performing a cutting operation on the first component to be processed; obtaining the target graph obtained by performing a splitting operation on the first component to be processed; when it is determined that the component to be processed only includes the first component to be processed and a second component to be processed, obtaining the target graph obtained by performing a Boolean operation on the first component to be processed and the second component to be processed, where the Boolean operation includes an intersection operation, a union operation, and a symmetric difference operation.

[0075] In an exemplary embodiment, the obtaining module 82 is further configured to: add the first component to be processed to a canvas, where the canvas is used to display the graphical styles of components, and the components on the canvas are composed of multiple coordinate points; perform a selection operation on the first component to be processed to obtain a first selected part of the first component to be processed; add the coordinate points corresponding to the first selected part to a first array, and create the target graph according to the coordinate points in the first array.

[0076] In an exemplary embodiment, the obtaining module 82 is further configured to: add the first component to be processed to a canvas, perform a selection operation on the first component to be processed to obtain a second selected part of the first component to be processed; add the coordinate points corresponding to the second selected part to a second array, and add the coordinate points corresponding to the first component to be processed to a third array; traverse the coordinate points in the third array, add the coordinate points that do not exist in the second array to a fourth array, and create the target graph according to the coordinate points in the fourth array.

[0077] In an exemplary embodiment, the obtaining module 82 is further configured to: add the first component to be processed to a canvas, and divide the first component to be processed into two graphs according to a dividing line; add the coordinate points corresponding to the two graphs to a fifth array and a sixth array respectively, and create the target graph according to the coordinate points in the fifth array or the sixth array.

[0078] In an exemplary embodiment, the obtaining module 82 is further configured to: when determining that the Boolean operation is an intersection operation, determine the overlapping part of the first component to be processed and the second component to be processed as the target graph; when determining that the Boolean operation is a union operation, merge the first component to be processed and the second component to be processed into a target graph; when determining that the Boolean operation is a symmetric difference operation, determine the non-overlapping part of the first component to be processed and the second component to be processed as the target graph.

[0079] In an exemplary embodiment, the obtaining module 82 is further configured to: add the first component to be processed and the second component to be processed to the canvas, add the coordinate points corresponding to the first component to be processed to a seventh array, add the coordinate points corresponding to the second component to be processed to an eighth array, traverse the seventh array and the eighth array, add the coordinate points that exist in both the seventh array and the eighth array to a ninth array, and create the target graph according to the coordinate points in the ninth array; merging the first component to be processed and the second component to be processed into a target graph includes: adding the first component to be processed and the second component to be processed to the canvas, performing duplicate removal processing on the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed, adding the coordinate points after duplicate removal processing to a tenth array, and creating the target graph according to the coordinate points in the tenth array, where the duplicate removal processing means only retaining one of the multiple duplicate coordinate points; determining the non-overlapping part of the first component to be processed and the second component to be processed as the target graph includes: adding the first component to be processed and the second component to be processed to the canvas, adding the non-duplicate coordinate points among the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed to an eleventh array, and creating the target graph according to the coordinate points in the eleventh array.

[0080] It should be noted that the above-mentioned various modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to this: the above-mentioned modules are all located in the same processor; or, the above-mentioned various modules are respectively located in different processors in any combination form.

[0081] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, and the computer program is configured to execute the steps in any one of the above method embodiments when running.

[0082] Optionally, in this embodiment, the above storage medium may be configured to store program codes for executing the following steps:

[0083] S1. In response to a custom component creation request of a target object, determine a component to be processed from the component library, and obtain a target graph obtained by performing geometric graph processing on the component to be processed;

[0084] S2. Set the attribute parameters of the target graph to obtain a custom component;

[0085] S3. Save the custom component to the component library.

[0086] In an exemplary embodiment, the above computer-readable storage medium may include, but is not limited to: various media such as a USB flash drive, a read-only memory (ROM for short), a random access memory (RAM for short), a mobile hard disk, a magnetic disk, or an optical disc that can store computer programs.

[0087] An embodiment of the present application further provides an electronic device, including a memory and a processor. A computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0088] Optionally, in this embodiment, the above processor may be configured to execute the following steps through a computer program:

[0089] S1. In response to a custom component creation request of a target object, determine a component to be processed from the component library, and obtain a target graph obtained by performing geometric graph processing on the component to be processed;

[0090] S2. Set the attribute parameters of the target graph to obtain a custom component;

[0091] S3. Save the custom component to the component library. An embodiment of the present application further provides a computer program product. The above computer program product includes a computer program, and when the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.

[0092] Optionally, in this embodiment, the above computer program may be configured to execute the following steps through a computer program:

[0093] S1. In response to a custom component creation request of a target object, determine a component to be processed from the component library, and obtain a target graph obtained by performing geometric graph processing on the component to be processed;

[0094] S2. Set the attribute parameters of the target graph to obtain a custom component;

[0095] S3. Save the customized component to the component library.

[0096] For the specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary embodiments, and details thereof will not be repeated herein.

[0097] Obviously, those skilled in the art should understand that the above-mentioned modules or steps of the present application can be implemented by a general-purpose computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. They can be implemented by program codes executable by the computing device. Thus, they can be stored in a storage device and executed by the computing device. And in some cases, the steps shown or described can be executed in a sequence different from that here, or they can be separately fabricated into individual integrated circuit modules, or multiple modules or steps among them can be fabricated into a single integrated circuit module for implementation. In this way, the present application is not limited to any specific combination of hardware and software.

[0098] The above are only the preferred embodiments of the present application and are not used to limit the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for creating a custom component, characterized in that: Applied to a chip layout design system, the chip layout design system includes a component library, the component library includes a plurality of components, the plurality of components are used to construct a chip layout, the method includes: In response to a custom component creation request of a target object, determining a component to be processed from the component library, and obtaining a target graphic obtained by geometrically processing the component to be processed; Setting the attribute parameters of the target graphic to obtain a custom component; The custom component is saved in the component library.

2. The method according to claim 1, characterized in that Performing geometric processing on the components to be processed to obtain a target graphic, including: When it is determined that the components to be processed include only the first components to be processed, the method of obtaining the target pattern includes one of the following: Acquire the target graphic obtained after performing a cropping operation on the first component to be processed; Acquire the target pattern obtained after performing a cutting operation on the first component to be processed; Acquire the target graphic obtained after segmenting the first component to be processed; When it is determined that the components to be processed only include the first components to be processed and the second components to be processed, the target graph is obtained after a Boolean operation is performed on the first components to be processed and the second components to be processed, wherein the Boolean operation includes an intersection operation, a union operation, and a symmetric intersection operation.

3. The method according to claim 2, characterized in that Acquiring the target graphic obtained after performing a cropping operation on the first component to be processed, comprising: Adding the first component to be processed to a canvas, wherein the canvas is used to display the graphic style of the component, and the component on the canvas is composed of a plurality of coordinate points; Performing a selection operation on the first component to be processed to obtain a first selected part of the first component to be processed; The coordinate points corresponding to the first selected part are added to the first array, and the target graphic is created according to the coordinate points in the first array.

4. The method according to claim 2, characterized in that: Acquiring the target pattern obtained after performing a cutting operation on the first component to be processed, comprising: Adding the first component to be processed to the canvas, selecting the first component to be processed, and obtaining a second selected part of the first component to be processed; Adding the coordinate points corresponding to the second selected part to the second array, and adding the coordinate points corresponding to the first component to be processed to the third array; The coordinate points in the third array are traversed, the coordinate points that do not exist in the second array are added to the fourth array, and the target graphic is created according to the coordinate points in the fourth array.

5. The method according to claim 2, characterized in that: Acquiring the target graph obtained after segmenting the first component to be processed, comprising: Adding the first component to be processed to the canvas, and dividing the first component to be processed into two graphics according to the dividing line; The coordinate points corresponding to the two graphics are added to the fifth array and the sixth array respectively, and the target graphic is created according to the coordinate points in the fifth array or the sixth array.

6. The method according to claim 2, characterized in that Acquiring the target graph obtained by performing a Boolean operation on the first component to be processed and the second component to be processed, comprising: In the case where the Boolean operation is determined to be an intersection operation, the overlapping portion of the first component to be processed and the second component to be processed is determined as the target pattern; In the case where it is determined that the Boolean operation is a union operation, merging the first component to be processed and the second component to be processed into a target graphic; When it is determined that the Boolean operation is a symmetric intersection operation, a non-overlapping portion of the first component to be processed and the second component to be processed is determined as the target pattern.

7. The method according to claim 6, characterized in that Determining the overlapping portion of the first to-be-processed component and the second to-be-processed component as the target pattern includes: Add the first component to be processed and the second component to be processed to the canvas, add the coordinate points corresponding to the first component to be processed to the seventh array, add the coordinate points corresponding to the second component to be processed to the eighth array, traverse the seventh array and the eighth array, add the coordinate points that exist in both the seventh array and the eighth array to the ninth array, and create the target graphic according to the coordinate points in the ninth array; The method further comprises: merging the first component to be processed and the second component to be processed into a target graphic, comprising: Add the first component to be processed and the second component to be processed to the canvas, perform deduplication processing on the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed, add the deduplication processed coordinate points to a tenth array, and create the target graphic according to the coordinate points in the tenth array, wherein the deduplication processing means retaining only one of the coordinate points when there are multiple duplicate coordinate points; Determining the non-overlapping portion of the first to-be-processed component and the second to-be-processed component as the target pattern includes: The first component to be processed and the second component to be processed are added to the canvas, non-repeating coordinate points among the coordinate points corresponding to the first component to be processed and the coordinate points corresponding to the second component to be processed are added to an eleventh array, and the target graphic is created according to the coordinate points in the eleventh array.

8. A device for creating a custom component, characterized in that: Applied to a chip layout design system, the chip layout design system includes a component library, the component library includes a plurality of components, the plurality of components are used to construct a chip layout, the device includes: An acquisition module, configured to respond to a custom component creation request of a target object, determine a component to be processed from the component library, and acquire a target graphic obtained by geometrically processing the component to be processed; A setting module, used to set the attribute parameters of the target graphic to obtain a custom component; A saving module is used to save the custom components to the component library.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 7 when executed by a processor.

10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 7 are implemented.