Association updating method and system for EDA model modeling, and medium
By classifying and mapping the modeling commands in EDA modeling technology and defining timing in tagId, performance and efficiency challenges and circular dependency problems in complex model association updates are solved, and efficient and stable association updates are achieved.
Patent Information
- Application Number
- PCT/CN2023/141806
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-21
- Filing Date
- 2023-12-26
- Publication Date
- 2025-05-30
AI Technical Summary
Existing EDA modeling technologies face performance and efficiency challenges when dealing with complex models of large number of association relationships and data interactions, and are prone to circular dependencies that lead to system deadlocks.
By classifying modeling commands, different types of modeling command mapping relationships are constructed to improve the search efficiency of the association model; at the same time, use tagId to define the timing of modeling operations, avoid the emergence of circular structures in breadth-first search, and deal with circular dependencies.
It realizes rapid update of geometric data of complex models, improves user operation experience, takes into account the efficiency and performance of associated updates, and ensures system stability and data consistency.
Smart Images

Figure CN2023141806_30052025_PF_FP_ABST
Abstract
Description
A method, system and medium for updating association of EDA model modeling Technical Field
[0001] The present invention belongs to the technical field of EDA modeling, and more specifically, relates to an association update method, system and medium for EDA modeling. Background Art
[0002] Relational updating is an important technique in EDA modeling, playing a key role in achieving model consistency and data updates. Relational updating ensures that model data remains synchronized and accurate by processing related events and relationships. While relational updating has many advantages, it also presents potential issues and challenges. Existing relational updating methods face performance and efficiency challenges when handling complex models with numerous relationships and data interactions. When there are many relationships and a large amount of data, the update process becomes time-consuming. The complexity of locating and updating related data can lead to performance degradation. Performance optimization and appropriate data structure design are necessary to improve the efficiency of relational updating. Relationships in a model can sometimes form circular dependencies, where an update to one entity may trigger updates to other entities, which in turn backtrack to the original entity, forming an infinite loop. Circular dependencies can cause the system to deadlock or fail to function properly. Mechanisms are needed to handle circular dependencies and ensure system stability.
[0003] For example, Chinese patent application number CN201810759464.9, published on February 19, 2019, discloses a guidance and control system and method based on dynamic modeling, wherein the system includes: a guidance and control module, which is used to generate a model creation command and pass the model creation command to a simulation engine; wherein the model creation command carries a model flag and model parameters; the simulation engine is used to: receive the model creation command passed by the guidance and control module, create a target model instance according to the model identifier and model parameters carried in the model creation command; and based on the model identifier, obtain the associated model identifier parameter relationship corresponding to the model identifier, and generate a model parameter list of the associated model corresponding to the associated model identifier that is running according to the associated model identifier parameter relationship, use the model parameter list to update the parameters of the associated model, and simultaneously put the target model instance into operation. The shortcoming of this patent is that although it can dynamically create a model, its accuracy and stability still need to be verified.
[0004] Summary of the Invention
[0005] 1. Problems to be solved
[0006] To address the issue of existing EDA modeling, which struggles to balance efficiency and performance, the present invention provides an EDA modeling association update method, system, and medium. This method improves the efficiency of finding association models by classifying modeling commands and establishing mapping relationships between different types of modeling commands. Furthermore, by assigning tagIds to modeling commands to define the sequential nature of modeling operations, this method avoids loops during breadth-first search, which can cause the system to enter a deadlock state or malfunction. This method balances overall performance and efficiency, enhancing the user experience.
[0007] 2. Technical solution
[0008] To solve the above problems, the present invention adopts the following technical solutions.
[0009] An association update method for EDA model building includes the following steps:
[0010] Create models and modeling commands separately: each model has a unique ID and bodyID; each modeling command has a unique ID and tagID;
[0011] Classify modeling commands; modeling commands include ontological commands that only change the model itself; and association commands that associate the model itself with other models;
[0012] Create a mapping relationship table between models and modeling commands;
[0013] Create a model mapping relationship table for associated commands;
[0014] When creating a modeling command operation, the geometric data of the model is updated;
[0015] Update the association of the model: starting from the starting model, obtain all associated association models according to the model mapping relationship table of the association command; and obtain the mapping relationship table between all associated models and modeling commands according to the mapping relationship table between the model and the modeling command; then update all the associated models until all the associated models are updated.
[0016] Furthermore, the associated commands include copy commands and Boolean commands; the entity commands include create commands, matrix commands and surface commands.
[0017] Furthermore, the specific operations for updating the model's geometric data are as follows: when performing translation, rotation, mirroring, and scaling operations on the model, a 4*4 matrix is constructed to update the model's geometric data; and when updating the operation parameters, a rectangle is used to backtrack the geometric state, and then the matrix is reconstructed to update the model's geometric data.
[0018] Furthermore, a breadth-first search method based on a directed graph is used to update the model in an associative manner.
[0019] Furthermore, updating all associated models includes: sorting according to the tagID of the last modeling command associated with the model, updating all acquired associated models in turn through the mapping relationship table between the associated model and the modeling command; marking the updated model as accessed and adding it to the queue for the next access; repeating the above steps until all associated models are updated.
[0020] A system using any of the above-described methods for updating the association of EDA models, comprising:
[0021] Pre-preparation module: used to create models and modeling commands, classify modeling commands, create a mapping relationship table between models and modeling commands, and create a model mapping relationship table of associated commands;
[0022] Model geometry data update module: used to update the model's geometry data when creating modeling command operations;
[0023] Model association update module: used to update the model association.
[0024] A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the computer program implements any one of the above-mentioned methods for updating the association of EDA model modeling. 3. Beneficial effects
[0025] Compared with the prior art, the present invention has the following beneficial effects:
[0026] (1) The method of the present invention improves the search efficiency of the associated model by classifying the modeling commands and constructing the mapping relationship between different types of modeling commands. At the same time, the modeling command is set with a tagId to define the timing of the modeling operation, thereby avoiding the occurrence of a ring structure during the breadth-first search, which may cause the system to enter a deadlock state or fail to operate normally. The entire method can quickly update the geometric data of complex models with a large number of associated relationships and data interactions, thereby improving the user operation experience and taking into account the efficiency and performance of the associated update.
[0027] (2) The system of the present invention can ensure data consistency, improve system maintainability and scalability, and by accurately and efficiently processing association relationships and data updates, the association update system enables the model to better cope with complex scenarios and demand changes, thereby improving the quality and reliability of the system; in addition, the association update system can also better support concurrency and parallel processing, enabling the system to better cope with high-concurrency scenarios. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] FIG1 is a schematic flow diagram of the present invention;
[0029] FIG2 is a schematic diagram showing the data structure and associated data mapping of the present invention. DETAILED DESCRIPTION
[0030] The present invention is further described below with reference to specific embodiments and accompanying drawings.
[0031] Example 1
[0032] Please refer to Figures 1 and 2. Figure 1 is a flowchart of this application; Figure 2 is a schematic diagram of the data structure and associated data mapping in this application.
[0033] As shown in FIG1 and FIG2 , in this embodiment, an association update method for EDA modeling includes the following steps:
[0034] S1: Create a model (shape) and a modeling command (cmd) respectively: each model has a unique ID and bodyID; each modeling command has a unique ID and tagID;
[0035] It should be noted that each model has a unique ID, which identifies each model. The bodyID is the main ID, which is mainly used to index geometric data, facilitate quick association, and improve efficiency. The modeling command ID also identifies each modeling command, and the tagID is the tag identification information, which is used to indicate the status of the modeling command. For tagID, the tagID of each modeling command (cmd) is associated with a global self-incrementing static variable. For example, when no modeling command is performed on the model, the static variable is initially 0. When a modeling command is performed on a model, a modeling command (cmd) is created and the tagID of the modeling command (cmd) is assigned to the static variable, that is, the tagID value is 0. The static variable then increments by one, and its own value becomes 1. When the model is subsequently executed on the model, the tagID of the newly created modeling command (cmd) is assigned the value of the current static variable, that is, the tagID value is 1. Similarly, the timing of the modeling operation can be reflected by the size relationship of the tagID of each modeling command (cmd).
[0036] S2: Classify modeling commands; modeling commands include ontological commands that only change the model itself; and association commands that associate the model itself with other models;
[0037] Specifically, the associated commands include copy commands and Boolean commands; Boolean commands include subtract / unite / split; copy commands include move+ / rotate+ / mirror+, which will generate a new shape. Any geometric changes to the shape bound to the command will affect the new shape.
[0038] The entity commands include creation commands, matrix commands and surface commands; creation commands such as line and surface body creation commands; matrix commands such as move / mirror / rotate / scale, the update of shape geometric data only requires matrix conversion and does not interact with other shapes; surface commands, commands that rely on the geometric data of their own shape, operations that cause changes in the shape's own geometric data, such as moveFaces, sweepFace commands, etc.
[0039] S3: Create a mapping table between models and modeling commands;
[0040] Each model has a one-to-many mapping relationship with the modeling command. The mapping relationship is stored in the map. Each modeling command stores the relevant parameters of the operation for easy tracking.
[0041] S4: Create a model mapping relationship table for associated commands;
[0042] Specifically, the model mapping relationship table for creating the association command here includes the model mapping table for creating the copy association: During the modeling process, a shape may be created by copying another shape through translation, mirroring, rotation, or scaling. The update of the geometric data of the copied shape will also update its clone. Therefore, by establishing the copy-associated shape mapping relationship, the clone can be quickly indexed, thereby achieving a fast update effect.
[0043] And create a model mapping table with Boolean associations: During the modeling process, a shape (blank shape) may be derived through Boolean operations such as subtract, unite, split, or imprint with other shapes (tool shapes). Updates to the geometric data of the tool shapes will also cause the blank shape to be updated. Therefore, by establishing a Boolean-associated shape mapping relationship, the blank shape and tool shape can be quickly indexed, thereby achieving a fast update effect.
[0044] S5: When creating a modeling command operation, the geometric data of the model is updated;
[0045] Specifically, the specific operations for updating the model's geometric data are as follows: when performing translation, rotation, mirroring, and scaling operations on the model, a 4*4 matrix is constructed to update the model's geometric data; and when updating the operation parameters, a rectangle is used to backtrack the geometric state, and then the matrix is reconstructed to update the model's geometric data;
[0046] S6: Update the association of the model: starting from the starting model, obtain all associated association models according to the model mapping relationship table of the association command; and obtain the mapping relationship table between all associated models and modeling commands according to the mapping relationship table between the model and the modeling command; then update all the association models until all the association models are updated.
[0047] Specifically, in this step, a breadth-first search method based on a directed graph is used to update the association of the model. Based on the breadth-first search (BFS) of the directed graph, starting from a starting model, all associated association models are obtained according to the model mapping relationship table of the association command, that is, the copy-association model mapping table and the Boolean association model mapping table; then, the relationship mapping table between all associated models and the modeling command is obtained according to the relationship mapping table between the model and the modeling command;
[0048] Sort by the tagID of the last modeling command associated with the model, and update the model in turn for all acquired associated models through the mapping relationship table between the associated model and the modeling command. It should be noted here that because the associated update of the model will involve updating many associated models, that is, associated models; when updating the associated models, the update order should be consistent with the order in which these models are created. The tagIDs of all modeling commands are related in size. The sorting order of these tagIDs from small to large represents the order in which these modeling commands are created. Therefore, the size relationship of the tagID of the last modeling command of all associated models represents the order in which these models are created. Therefore, in order to ensure the sequentiality of model association updates, the tagID of the last modeling command of the model is used for sorting, and the model is updated to achieve a good model update effect and ensure the order. The updated model is marked as visited and added to the queue for the next visit. Repeat the above steps until all associated models are updated.
[0049] The method of the present invention improves the search efficiency of associated models by classifying modeling commands and constructing mapping relationships between different types of modeling commands; at the same time, the modeling command is set with a tagId to define the timing of the modeling operation, thereby avoiding the occurrence of a ring structure during breadth-first search, which causes an infinite loop and may cause the system to enter a deadlock state or fail to operate normally; the entire method can quickly update the geometric data of complex models with a large number of associated relationships and data interactions, thereby improving the user operation experience and taking into account the efficiency and performance of associated updates.
[0050] Example 2
[0051] A system using any of the above-described methods for updating the association of EDA models, comprising:
[0052] Pre-preparation module: used to create models and modeling commands, classify modeling commands, create a mapping relationship table between models and modeling commands, and create a model mapping relationship table of associated commands;
[0053] Model geometry data update module: used to update the model's geometry data when creating modeling command operations;
[0054] Model association update module: used to update the model association.
[0055] The system of the present invention can ensure data consistency, improve system maintainability and scalability, and by accurately and efficiently processing association relationships and data updates, the association update system enables the model to better cope with complex scenarios and changes in demand, thereby improving the quality and reliability of the system; in addition, the association update system can also better support concurrency and parallel processing, enabling the system to better cope with high-concurrency scenarios.
[0056] Example 3
[0057] A computer-readable storage medium storing a computer program, wherein the computer program is executed by a processor to implement an associated update method for EDA model modeling described in any one of the above. It is worth noting that for those skilled in the art, in addition to implementing the system and each module provided by the present application in a purely computer-readable program code manner, it is entirely possible to implement the same program in the form of logic gates, switches, application-specific integrated circuits, editable logic controllers, and embedded microcontrollers by logically programming the method steps. Therefore, the system provided by the present application and its various modules can be considered as a hardware component, and the modules for implementing various programs included therein can also be regarded as structures within the hardware component, and the modules for implementing various functions can also be regarded as both software programs for implementing the method and structures within the hardware component.
[0058] The examples described in the present invention are merely descriptions of the preferred embodiments of the present invention and are not intended to limit the concept and scope of the present invention. Without departing from the design concept of the present invention, various modifications and improvements made to the technical solutions of the present invention by engineers and technicians in this field should fall within the scope of protection of the present invention.
Claims
1. An associated update method for EDA model modeling, Characterized in that: It includes the following steps: Create models and modeling commands respectively: Each model has a unique ID and bodyID; Each modeling command has a unique ID and tagID; Classify the modeling commands; The modeling commands include ontology commands that only change the model itself; and association commands that associate the model itself with other models; Create a mapping table between the models and the modeling commands; Create a model mapping table for the association commands; When creating a modeling command operation, update the geometric data of the model; Perform an associated update on the model: Starting from the initial model, according to the model mapping table of the association commands, obtain all associated models; and obtain the mapping table between all associated models and the modeling commands according to the mapping table between the models and the modeling commands; Then update all the associated models until all the associated models are completely updated.
2. An associated update method for EDA model modeling according to claim 1, Characterized in that: The association commands include copy commands and Boolean commands; The ontology commands include creation commands, matrix commands, and Surface commands.
3. An associated update method for EDA model modeling according to claim 1, Characterized in that: The specific operation for updating the geometric data of the model is: When performing translation, rotation, mirroring, and scaling operations on the model, construct a 4*4 matrix to update the geometric data of the model; And when updating the operation parameters, use a rectangle for geometric state backtracking, and then reconstruct the matrix to update the geometric data of the model.
4. An associated update method for EDA model modeling according to claim 1, Characterized in that: Use a breadth-first search based on a directed graph to perform an associated update on the model.
5. An associated update method for EDA model modeling according to claim 4, Characterized in that: Updating all the associated models includes: Sorting according to the tagID of the last modeling command associated with the model, and sequentially obtaining all the associated models. Through the mapping table between the associated models and the modeling commands, update the model; And mark the updated model as visited and add it to the queue for the next visit; Repeat the above steps until all the associated models are completely updated.
6. A system applying the associated update method for EDA model modeling according to any one of claims 1-5, Characterized in that: It includes: A pre-preparation module: used to create models and modeling commands, classify the modeling commands, create a mapping table between the models and the modeling commands, and create a model mapping table for the association commands; A model geometric data update module: used to update the geometric data of the model when creating a modeling command operation; A model association update module: used to perform an associated update on the model.
7. A computer-readable storage medium storing a computer program, Characterized in that: When the computer program is executed by a processor, it implements an associated update method for EDA model modeling according to any one of claims 1-5.
Citation Information
Patent Citations
EDA pad package library updating / application method and system, medium and terminal
CN109165227A
A pilot control system and method based on dynamic modeling
CN109359792A
Parameterization unit data updating method and device, computer equipment and storage medium
CN113868280A
EDA model data group grouping method
CN116861836A
Association updating method and system for EDA model modeling and medium
CN117272877A