Version updating processing method and device for chip design and related device
By obtaining the version update information of the chip design function module in the version management system and determining the optimization method according to management needs for processing, the problem of insufficient functions of the version management system when managing the version update information of IP module versions in large SoC chip design projects is solved, and management efficiency and quality are improved.
Patent Information
- Application Number
- CN202510322518.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2025-06-20
AI Technical Summary
When the existing version management system manages IP module version update information in large SoC chip design projects, there are problems of insufficient management functions, which affects R&D efficiency and quality.
Provide a version update processing method for chip design, by obtaining version update information of each functional module in chip design, and determining optimization methods based on the management needs of the version management system, and processing version update information to meet management needs.
The management function of the version management system has been improved, which facilitates the management of version update information when each functional module is updated, optimizes the management function of the version management system for the chip design cycle, and improves the convenience of use and the efficiency of information interaction between design teams.
Smart Images

Figure CN120179280A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the technical field of chip design, and in particular, to a method, apparatus, and related apparatus for processing version updates in chip design. Background Art
[0002] With the development of integrated circuit technology, the integration of chips (such as SoC, System on Chip) is getting higher and higher, the number of functional modules is constantly increasing, and the design complexity is increasing exponentially. To meet the requirements of efficient design and verification of chips, an advanced version management system (such as the perforce version management system) is used to manage the design process of chip design. The version management system can manage and coordinate various activities in the chip design process, including code development, version control, document management, release management, etc. Its purpose is to ensure the efficiency, consistency, and traceability of the chip design process, while meeting quality, schedule, and compliance requirements.
[0003] However, there are still some deficiencies in the management of the version management system for the chip design process, which affect the R & D efficiency and quality of chip design. Therefore, in this context, how to provide technical solutions to optimize the management function of the version management system for the chip design process has become a technical problem that needs to be solved urgently by those skilled in the art. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide a method, apparatus, and related apparatus for processing version updates in chip design, which optimize the management function of the version management system for the design cycle of chip design.
[0005] To achieve the above object, embodiments of the present invention provide the following technical solutions.
[0006] In a first aspect, embodiments of the present invention provide a method for processing version updates in chip design, which is applied to a version management system. The method includes:
[0007] Obtaining version update information of each functional module in the chip design;
[0008] Determining a corresponding optimization method according to the management requirements of the version management system for the version update information; the optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module for each management requirement;
[0009] Processing the version update information by using the determined optimization method so that the processed result meets the management requirements.
[0010] In a second aspect, embodiments of the present invention provide a device for processing version updates in chip design, which is applied to a version management system and includes:
[0011] A version update information acquisition module, configured to acquire version update information of each functional module in the chip design;
[0012] An optimization method determination module, configured to determine a corresponding optimization method according to the management requirements of the version management system for the version update information; the optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module for each management requirement;
[0013] A processing module, configured to process the version update information by using the determined optimization method so that the processed result meets the management requirements.
[0014] In a third aspect, an embodiment of the present invention provides an electronic device, including a memory and a processor. The memory stores a program, and the processor calls the program stored in the memory to execute the version update processing method for chip design as described in the first aspect.
[0015] In a fourth aspect, an embodiment of the present invention provides a storage medium, which stores a program, and when the program is executed, it implements the version update processing method for chip design as described in the first aspect.
[0016] In a fifth aspect, an embodiment of the present invention provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the version update processing method for chip design as described in the first aspect.
[0017] The technical solution provided by the embodiment of the present invention, when using the version management system to manage the design process of the chip design, in the case where the version of the functional module used in the chip design is updated, based on the different management requirements of the version management system for the version update information, a suitable optimization method can be selected to process the version update information so that the processed result meets the management requirements. Since the optimization method optimizes the management function of the version management system for managing the version update information for each management requirement. Therefore, the management function of the version management system can be improved, facilitating the management of the version update information when each functional module is updated, thereby optimizing the management function of the version management system for managing the design process of the chip design; at the same time, the usability of the version management system can be improved, and further facilitating the information interaction between each design team using the version management system. Description of the Drawings
[0018] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only the embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on the provided drawings.
[0019] Figure 1 It is a schematic flowchart of a method for processing version update of chip design provided by an embodiment of the present invention;
[0020] Figure 2 It is a schematic flowchart of the processing flow of the first optimization method provided by an embodiment of the present invention;
[0021] Figure 3 It is a schematic flowchart of the processing flow of the second optimization method provided by an embodiment of the present invention;
[0022] Figure 4 It is a schematic structural diagram of a device for processing version update of chip design provided by an embodiment of the present invention;
[0023] Figure 5 It is a schematic structural diagram of a version update module provided by an embodiment of the present invention;
[0024] Figure 6 It is a schematic structural diagram of a release note generation module provided by an embodiment of the present invention. Detailed implementation manners
[0025] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the scope of protection of the present invention.
[0026] In the design project of chip design, the design of digital circuits is usually based on a hardware description language (HDL, Hardware Description Language), such as Verilog, and describes the circuit behavior in the form of RTL (Register Transfer Level) code files. These RTL code files are transformed into actual circuits through specialized EDA (Electronic Design Automation) tools and finally generate layout files for processing. This process can be broken down into multiple key steps, including HDL logic coding, simulation verification, logic synthesis, formal verification, timing analysis, and placement and routing. In the logic design stage, in addition to delivering the RTL code, a design constraint file (such as an SDC file) needs to be provided to guide the logic synthesis tool to achieve the design intent.
[0027] To improve design efficiency and quality, dozens of IP modules (Intellectual Property Core, integrated circuit design modules, also known as functional modules) with different functions are usually integrated into the entire system of chip design. However, in the design project of large and complex chip designs (such as SoC chip design), the number of IPs included is large, some IP modules may still be under development, and new versions may be released for the completed IP modules due to bug fixes or function enhancements. As the design project progresses, the continuous upgrade and update of the versions of IP modules bring challenges to the design management of chip design.
[0028] Each IP core usually contains hundreds of RTL design files, and these files may be maintained by multiple people. Therefore, how to scientifically manage the versions of these design files and IP modules becomes a key issue. Usually, specialized version management systems (such as SVN, Perforce, Git, etc.) are used to manage the versions of these design files and IP modules. These version management systems can handle conflict issues that occur when multiple people modify the same design file or code simultaneously and support functions such as file modification record query, version rollback, branch management, and tag management.
[0029] However, since these general version management systems consider their generality more and do not provide specific functions for large SoC projects (such as the management of the versions of a large number of IP modules), this brings additional challenges to the design management of chip design. Therefore, it is very necessary to optimize the management functions of the version management system.
[0030] Based on this, the embodiments of the present invention provide a method for processing version updates in chip design, which optimizes the management functions of the version management system for managing the design process of chip design.
[0031] Please refer to Figure 1 , Figure 1 which is a schematic flowchart of a method for version update processing of chip design provided by an embodiment of the present invention.
[0032] As Figure 1 shown, the method includes the following steps:
[0033] Step S101, obtain the version update information of each functional module in the chip design.
[0034] The version update information of each functional module may be information generated when the version of the functional module used in the chip design is updated. Each time the version of the functional module is updated, version update information is generated correspondingly. The version update information may include the parameter configuration information and the updated naming after the update of the functional module. For example, the naming before the update is v2.0. In order to facilitate the distinction and use of the updated functional module, the updated naming can be defined as v2.1.
[0035] Step S102, determine the corresponding optimization method according to the management requirements of the version management system for the version update information.
[0036] The optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module for each management requirement.
[0037] The management requirements of the version management system for the version update information refer to the requirements generated in each link of the version management system for managing it when the version of the IP module (functional module) is updated.
[0038] In the version management system, the links for managing the version update of the IP module usually include: the link for maintaining the version update information of the IP module and the link for documenting the version update information of the IP module (for example, organizing it into a release note based on the version update information).
[0039] Among them, the link for maintaining the version update information of the IP module refers to the process of regularly or irregularly checking, repairing, optimizing, and improving the IP module. Exemplarily, this link may include the following aspects:
[0040] Error repair: Solve known vulnerabilities or problems.
[0041] Performance optimization: Improve the efficiency or stability of the operating system.
[0042] Function enhancement: Add new functions or improve existing functions.
[0043] Compatibility adjustment: Ensure that the version of the IP module is compatible with the new development environment or system.
[0044] The purpose of the process of maintaining the version update information of the IP module is to ensure that the version of the IP module can continuously meet the user requirements and adapt to the changes in technological development.
[0045] The process of documenting the version update information of the IP module refers to the document provided to the downstream design team or relevant parties when reaching the stage goal (or milestone node) of the current design stage after the version update of the IP module is completed, which is used to describe the content, purpose, scope of influence of the version update of each IP module in this design stage, and instructions on how to use the new version. This process usually includes the following contents:
[0046] Update content: List in detail the new functions, fixed vulnerabilities, improved performance, etc.
[0047] Version number change: Explain the change of the version number and its meaning.
[0048] Usage instructions: Guide users on how to upgrade to the new version and matters that need attention during the upgrade process.
[0049] Compatibility description: Inform users of the compatibility of the new version with the existing system.
[0050] The process of documenting the version update information of the IP module is an important part of the version management system for managing the version update of the IP module. It helps users understand the necessity and value of the version update of the IP module, and at the same time ensures that users can smoothly transition to the new version.
[0051] Generally, the maintenance of the version update information of the IP module can occur at each milestone node in the design process. Among them, at each time point within each design stage before reaching the stage goal of that design stage, the version update of the IP module can be carried out. The documentation of the version update information of the IP module mainly occurs after each design stage reaches the corresponding stage goal, and is the collation and summary of the version update information that occurs at each time point for each functional module. Therefore, both are very important in the process of the version management system managing the version update information of the IP module, and there is an associated relationship in the execution order between the two.
[0052] With the increase in the functional complexity of chip design, the types and quantities of IP modules integrated on it are also increasing continuously. Furthermore, in each design stage of chip design, the quantity of version update information generated during the version update of each IP module is increasing continuously, resulting in a corresponding increase in the difficulty of maintaining and documenting the version update information of the IP module by the version management system, and the management function of the version management system cannot meet the usage requirements and management requirements in chip design.
[0053] Therefore, in the embodiments of the present invention, an optimization method is provided corresponding to each management requirement, so that for each management requirement, the version management system can optimize the management of the version update information of the functional module, thereby achieving the purpose of optimizing the management function of the version management system.
[0054] Step S103: Process the version update information by using the determined optimization method so that the processed result meets the management requirement.
[0055] It can be seen that in the technical solution provided by the embodiments of the present invention, when using the version management system to manage the design process of chip design, in the case where the version of the functional module used in the chip design is updated, an applicable optimization method can be selected based on different management requirements of the version management system for the version update information to process the version update information so that the processed result meets the management requirement. Since the optimization method optimizes the management function of the version management system for managing the version update information for each management requirement. Therefore, the management function of the version management system can be improved, facilitating the management of the version update information when each functional module is updated, thereby optimizing the management function of the version management system for managing the design process of chip design; at the same time, the usability of the version management system can be improved, and further facilitating the information interaction between each design team using the version management system.
[0056] To flexibly implement the optimization of the version management system, in one embodiment, the determined optimization methods corresponding to each management requirement can be used independently or collaboratively based on the association relationship of the management requirements; Step S102 may include:
[0057] When the management requirement is the first management requirement for maintaining the version update information of the functional module, the determined corresponding first optimization method is: updating the version update information to the version management information to synchronously control the version information of the functional modules referenced correspondingly in each development environment of the chip design based on the updated version management information; the version management information is formed by the historical version information of each functional module;
[0058] When the management requirement of the functional module is the second management requirement for documenting the version update information of the functional module, the determined corresponding second optimization method is: processing the version update information by using the document preset format and automatically generating a release note based on the version update information that conforms to the document preset format; the document preset format is defined based on the update information during the design phase of the chip design.
[0059] The first management requirement is the requirement generated in the link of maintaining the version update information of the IP module as described above.
[0060] When the version of a functional module is updated to form version update information, the chip design integrating the functional module also needs to synchronously modify the version information of the functional module it uses during its design phase, so as to ensure the version consistency of the functional modules used in the chip design.
[0061] Meanwhile, in chip design, the version management system will create a version library (i.e., code repository) for each design project of the chip design to centrally manage the versions of various functional modules of the design project. The version library is created and maintained based on the file system, network protocol, and version management system.
[0062] The developers in the development team of the design project responsible for each branch project (each branch project corresponds to a design phase) can associate the versions of the functional modules in the version library through the version management system using the local workspace (the current development environment used by the developers for chip design development), ensuring that the developers can obtain the latest versions of the functional modules, modify them, and submit them. Thus, the version management system can efficiently support team collaboration, version tracking, and code management in chip design.
[0063] Therefore, when the version of a functional module is updated, if the management function of maintaining the version of the functional module in the version management system is not optimized, when it updates the version of the corresponding referenced functional module in the current development environment based on the version update information of each functional module, on the one hand, due to the large number of IP modules integrated in the chip design and the large number of updates to the IP modules, the workload of the version update information for the IP modules is very large at this time, resulting in difficult maintenance; on the other hand, in the design project, system-level problems often occur, and it is necessary to accurately know the version update information of the IP modules to quickly narrow down the scope of the problems. However, in the commonly used version management system, it does not support querying the specific version update information of the functional modules in each design phase, and only the version number of the final version of the IP module submitted when each design phase reaches the phase goal and the corresponding submitted modification description information can be queried. As a result, it is impossible to accurately and conveniently query the specific version update information during each functional module update, bringing great inconvenience to the version update maintenance of the IP modules.
[0064] Based on this, the embodiment of the present invention provides a first optimization method for the first management requirement. In this first optimization method, the embodiment of the present invention updates the version management information, and then synchronously controls the version information of the corresponding referenced functional modules in each development environment of the chip design based on the updated version management information.
[0065] Among them, the version management information used in the first optimization method is formed according to the historical version information of the functional modules; the historical version information of the functional modules is recorded in the configuration file (ip.cfg) of the functional modules. Ip.cfg is a file in the version library, that is, a basic file formed at the initial stage of the design project, and the historical version information of each functional module is recorded in ip.cfg. Therefore, in the embodiments of the present invention, the configuration file is further applied. The configuration file is used as version management information for recording the version update information of each functional module, so as to facilitate querying and tracing the version change situation of each functional module. Thus, when the version of the functional module is updated, the version update information can be used to update the version management information, corresponding to the historical version information of the recorded functional module, so as to easily compare the specific changes in the version of each functional module and accurately know the version update information formed at the corresponding time point of each IP module in each design stage.
[0066] Update the version update information of the functional module to the version management information, so that when a problem occurs, it is convenient to directly locate the version update information of the malfunctioning functional module according to the version update information recorded in the updated version management information. It is convenient for developers to use the version management system to query the version update information of the IP module and trace the version update information where problems occur.
[0067] At the same time, the updated version management information can be synchronously controlled to manage the version information of the functional modules referenced in the development environment, facilitating the timely and accurate maintenance of the version information of the functional modules used in the development environment.
[0068] Taking the Perforce version management system as an example for illustration, in the Perforce version management system, streamspec is used to manage the design process of chip design. Stream Spec can define the version reference path of the functional module, but when the version of the functional module is updated, if the method of directly updating the version reference path defined by Stream Spec is adopted, the situation where the specific version update information cannot be traced will occur. Based on this, in the embodiments of the present invention, the version management information is borrowed, and the version management information is used as a medium to reflect the version update information, facilitating the querying and tracing of the version update situation of each functional module.
[0069] Since the updated version management information can synchronize the historical version information of the functional modules referenced in various development environments of chip design, the version update information in the updated version management information can be used to update the stream spec of the Perforce version management system (for example, the update of the Path field in the stream spec). It can be seen that the update of the version management information drives the update of the version information of the functional modules referenced by the stream spec; that is, the changes in the content of the version management information can reflect the changes in the content of the stream spec.
[0070] The second management requirement is the requirement in the aforementioned link of documenting the version update information of the IP module.
[0071] When each design phase reaches a milestone (meets the design goals), the designer sends release notes to the developers of the next design phase.
[0072] Designers can write detailed release notes documents based on the version update information to describe the modification description information during the design phase, including updated content of IP modules in chip design, fixed issues, new features, updated version number changes, etc., and generate release notes based on the modification description information.
[0073] Of course, when a milestone is reached during the design phase, not only will release notes be provided to downstream teams, but the final version of the code files will also be provided to users.
[0074] Since the version update information of IP modules is large and scattered, and the updates cover a wide range of situations, such as the fixed issues and updated content mentioned above, when the design stage reaches a milestone, developers are prone to miss some modification description information when processing a large amount of version update information into modification description information, and the entire release notes formation process is very time-consuming. If the missed update information happens to be very important content for the next design stage, it will be very unfavorable for the collaboration between the various design stages.
[0075] Based on this, the present invention correspondingly provides a second optimization method for the second management requirement. In the second optimization method, the embodiments of the present invention process the modification description information using a preset document format, and the preset document format is defined based on the update information of the chip design during the design phase, so as to facilitate the classification and summary of the update information of the chip design during the design phase using the preset document format, thereby facilitating the intuitive query and induction of the update information by developers. Furthermore, the generated modification description information can include each update information within this design phase; thus, the integrity and accuracy of the generated release note can be improved, the time for manually collecting code change points can be saved, the accurate synchronization of change information between different design phases can be ensured, and the team collaboration efficiency can be improved.
[0076] Based on the foregoing, it can be seen that there is an associated relationship in the processing flow between the link corresponding to the first management requirement and the link corresponding to the second management requirement, that is, they have a progressive relationship in the execution order. And the embodiments of the present invention correspondingly provide an optimization method for each management requirement, and can optimize the management function under this management requirement. Therefore, in some embodiments, the optimization methods under each management requirement can be independently used based on specific usage requirements and the difficulty level of the design project, or the optimization methods determined under each management requirement can be used in cooperation (superposition) to fully combine the optimization effects of each optimization method on the version management system, and further enhance the optimization effect of the management function of the version management system.
[0077] After determining the optimization method under each management requirement, step S103 may include:
[0078] When the management requirement is for the first management requirement, process the version update information using the first optimization method;
[0079] When the management requirement is for the second management requirement, process the version update information using the second optimization method.
[0080] The above processing process may depend on the usage of the first optimization method and the second optimization method. When using either the first optimization method or the second optimization method independently in a one - of - two selection manner, the version update information is processed according to the specifically selected optimization method.
[0081] When the first optimization method and the second optimization method are used in cooperation, first, maintain the version update information based on the first optimization method to facilitate quick problem location and query of the version update information of each IP module; when the version update information is maintained based on the first optimization method and it is known that the design node reaches the node target, then use the second optimization method for subsequent processing of the version update information, that is, accurately and quickly generate the release note, so as to fully realize the optimization of the management function of the version management system.
[0082] To facilitate understanding of the management functions of the version management system optimized using the corresponding determined optimization methods under each management requirement, the process of optimizing the management functions of the version management system using the first optimization method under the first management requirement is first discussed below.
[0083] Please refer to Figure 2 , Figure 2 which is a schematic diagram of the processing flow of the first optimization method provided by an embodiment of the present invention.
[0084] As Figure 2 shown, the process includes the following steps:
[0085] Step S201, obtain the version update information of each functional module in the chip design.
[0086] Step S202, based on the first management requirement, obtain the version management information.
[0087] The version management information includes the historical version information of each functional module in the chip design.
[0088] The version management information is the ip.cfg.
[0089] In some embodiments, step S202 may include:
[0090] Determine whether the version management information in the design stage has been established;
[0091] If so, directly execute step S202. If not, determine the various functional modules used in the chip design in this design stage, obtain the historical version information of each functional module, and establish the version management information based on the historical version information of each functional module.
[0092] Step S203, use the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information.
[0093] It should be noted that under the first management requirement, the first optimization method is used each time a functional module is updated. That is, each time a functional module undergoes a version update, the version update information generated during this update is updated to the version management information. Thus, the version update information for each update of each functional module is clearly recorded in the version management information, facilitating subsequent query and traceability.
[0094] Step S204, update the historical version reference path information based on the updated version management information to obtain the updated version reference path information, so as to modify the historical version information referenced by the historical version reference path information.
[0095] The historical version reference path information is information defined in the design stage of chip design, and is used to reference the code content corresponding to the version information of the functional module into the current development environment. Developers use the historical version reference path information to call the version information of the functional module in the version library, so as to implement the development of chip design in their own development environment.
[0096] The updated version management information has the updated version number in the version update information, so that the version information of the corresponding referenced functional module in the development environments used by different developers can be synchronously controlled. Since the version management information is formed based on the ip.cfg file in the version library, it is relatively convenient to update the version management information. Furthermore, the updated version management information is used to synchronously control the version reference situation of the functional module in the design stage, which is convenient to synchronize the version update information to the current development environment, thereby reducing the difficulty of version update of the functional module in the design stage.
[0097] Step S205: Based on the updated version reference path information, synchronize the version update information to the current development environment of the chip design to verify the chip design in the design stage.
[0098] After completing the version information of the functional module referenced in the design stage, the version information of the functional module defined in the design stage conforms to the actually latest updated version information of the functional module, that is, the version synchronization of the functional module is achieved. At this time, based on the updated version reference path information, the configuration update parameters (function description class codes included in the version update information) of the latest version of the functional module can be updated to the current development link, which is convenient for developers to use and ensures the correctness of chip design and development.
[0099] In one implementation, the version update information may include a version update number and configuration update parameters; step S204 may include:
[0100] When it is determined that the version update information indicates an update of the version number of the functional module, update the version update number in the version update information to the historical version reference path information to obtain the updated version reference path information, so as to modify the initial version number included in the historical version information of the functional module;
[0101] When it is determined that the version update information indicates an update of the version number of the functional module and a version path update, update the version update number and the path update information in the version update information to the historical version reference path information to obtain the updated version reference path information, so as to modify the historical version number and the historical path information included in the historical version information of the functional module;
[0102] Step S205 may include:
[0103] Based on the updated version reference path information, synchronize the code content corresponding to the version update number to the current development environment of the chip design.
[0104] For example, before the update, the initial version number of the functional module IPA is 123, and the version number of this IPA referenced in the historical version reference path information is 123. When the IPA is updated and its version update number is 124, at this time, the initial version number information defined by the historical version reference path information can be updated to 124 based on the version update number to synchronize it with the update situation of the IPA.
[0105] After completing the update of the version update number, the configuration update parameters of the IPA can be synchronized to the current development environment, so that the code, that is, the configuration parameters, of the IPA used in the current development environment is the latest version.
[0106] To ensure the secure update of the version update information, in one implementation, before step S203, it may further include:
[0107] Check the storage path information and mapping path information of each functional module in the updated version management information based on the path preset format;
[0108] For the functional modules that pass the check, when verifying that they are located in the storage locations corresponding to the storage path information, execute the step of using the version update information to update the historical version information of the corresponding functional modules in the version management information to obtain the updated version management information;
[0109] The path preset format associates the functional modules defined in the historical version reference path information with the functional modules in the updated version management information.
[0110] The path preset format defines the version reference path information (i.e., the mapping path information) for each functional module used in each design stage, as well as the storage location (i.e., the storage path information) of each functional module in the version library, so as to associate the functional modules used in different design stages with the functional modules in the version library (the content of the functional modules in the version library is the basis for the use of the entire design process), which is convenient for synchronously controlling the historical version information of the functional modules defined in the initial version reference path in the design stage when the version of the functional modules in the version management information is updated to obtain the updated version management information.
[0111] Exemplarily, the path preset format can be expressed as:
[0112] #Depot mapping
[0113] / / ip / ipA / rel / ...@77 import / ipA
[0114] / / ip / ipB / rel / ...@88 import / ipB;
[0115] Among them, each storage path information under Depot represents the path and version information of the IP module in the repository, and each mapping path information under mapping represents the specific path in the current design stage of the mapping. The lines starting with # are comment lines, which are used to distinguish and explain the storage path information and the mapping path information.
[0116] Check whether the version update information of the IP module specified in each line exists in the repository according to the storage path information to ensure the correctness of subsequent updates.
[0117] In one implementation manner, using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information includes:
[0118] Determine the definition method of the historical version reference path information by the version management system; according to the definition method, use the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information.
[0119] Since there are various types of version management systems, such as the aforementioned perforce version management system, it can also include version management systems such as Subversion (SVN), Mercurial, TFVC (Team Foundation Version Control), etc. Different version management systems have different ways of defining historical version reference path information when managing each design stage of chip design. Therefore, according to the specific version management system used, determine its definition method of historical version reference path information to update the historical version reference path information and update the historical version reference path information correctly and appropriately.
[0120] When the version management system is the perforce version management system, the definition method can be the first definition method of defining the historical version reference path information through the path field. At this time, according to the definition method, using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information includes:
[0121] According to the first definition method, use the version update information to update the path field to obtain the updated version reference path information.
[0122] In the Perforce version management system, stream specification files are used to manage each design phase. In the stream specification files, the keyword "Path" is used to define the initial version number of the functional modules used in each design phase. Therefore, when updating based on the version update number, the version update number can replace the historical version number defined in Path. For example, when the version number before the aforementioned update is 123 and the version update number after the update is 124, the ".......@123" defined in Path can be updated to "......@124" to obtain the updated version reference path information.
[0123] In some other embodiments, if the version management system is SVN, the definition method may be a second definition method for defining version reference path information through the functional module directory. At this time, according to the definition method, using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information, including:
[0124] According to the second definition method, using the version update information to update the functional module directory to obtain the updated version reference path information.
[0125] According to different definition methods, correctly implement the update of the historical version reference path information to facilitate the subsequent correct synchronization of the code content corresponding to the version update number.
[0126] Next, the process of optimizing the management function of the version management system using the second optimization method under the second management requirement is discussed.
[0127] Please refer to Figure 3 , Figure 3 which is a schematic diagram of the processing flow of the second optimization method provided by the embodiments of the present invention.
[0128] As Figure 3 shown, the process includes the following steps:
[0129] Step S301, obtain the version update information of each functional module in the chip design.
[0130] Step S302, based on the second management requirement, aggregate the version update information of each functional module to form a version update information set.
[0131] The second management requirement means that the design phase has reached the phase goal. At this time, the version update information set can be formed based on the version update information of all functional modules within the design phase, providing an implementation basis for generating a detailed release note later.
[0132] Step S303: Based on the version update information set, form modification description information according to the preset document format.
[0133] Since the preset document format is defined based on the update information of the chip design during the design phase, the update information of the chip design during the design phase can be detailedly divided and classified and summarized, so that the expression of the modification description information formed based on the preset document format can be clearer and the content can be more sufficient and accurate.
[0134] Step S304: Automatically generate a release note based on the modification description information.
[0135] Since the modification description information has a relatively clear and accurate description format (preset document format), the release note generated based on the modification description information can cover the version update situations of each functional module during the design phase. This makes the release note more beneficial for use in the next design phase.
[0136] In one implementation, step S302 may include:
[0137] In the current development environment of the chip design, verify the chip design by using the version update information formed by each functional module during the current update;
[0138] After the verification passes, store the version update information of the current update;
[0139] Until the design phase of the chip design has reached the phase goal, obtain the version update information at each update of the functional module as the version update information set.
[0140] After each update of the version of the IP module, after its version update information is updated to the local workspace (current development environment), in order to ensure the final quality of the chip design, ensure that the updated configuration parameters of the updated IP module meet the functions required by the design, and ensure that the chip design meets the functions required by the design, in the current development environment, verify the chip design by using the version update information of the IP module, that is, perform various quality checks at the chip design level.
[0141] When the verification passes, the version update information of the IP module (and the modifications at the chip design level) can be submitted to the version library.
[0142] It should be noted that due to the different forms of updates of the IP module, the impact on chip design is different. Therefore, the modification of chip design depends on the specific update situation of the IP module. For example, if the update of the IP module involves changes in the connection ports between the IP module and the outside, the wiring at the chip design level also needs to be modified accordingly, and thus the code of the chip design also needs to be updated. When the verification is passed, the information submitted also includes the modification at the chip design level. If only the internal function of the IP module changes, the code at the chip design level does not need to be modified accordingly. When the verification is passed, only the version update information of the current IP module can be directly submitted.
[0143] When the milestone node (phase target) is reached, the developer can create a label in the repository and inform the downstream team (the team for the development of the next design phase) of the label number created and the release note corresponding to the label number (including the modification points that affect the downstream team).
[0144] The downstream team can download a relatively stable code version (version update information) based on the label and start the development work of the next design phase in combination with the release note. For example, after receiving the label and release note given by the developer in the previous design phase, the verification team can know which bugs have been fixed and which functions have been upgraded; after receiving the label and release note given by the developer in the previous design phase, the integration team can know which IP module codes have changed, and only the IP modules with code changes need to be re-integrated.
[0145] The release note is generated based on the modification description information. Therefore, a detailed and accurate modification description information is very important for generating the release note used in the next design phase. In the embodiments of the present invention, the version update information for each update of each functional module will be included to form a version update information set, and then, based on the preset format of the document, the version update information set involved in this design phase will be classified and summarized; so that the modification description information can fully cover the update situation represented by the version update information set, facilitating the accurate use by the development team in the next design phase.
[0146] To form accurate and rich modification description information, in one implementation manner, step S303 may include:
[0147] Based on the version update information set, an initial modification description information is formed; when it is checked that the initial modification description information conforms to the preset format of the document, the modification description information is formed.
[0148] The version update information set contains the version update information formed for each update of each functional module. Therefore, an initial modification description information covering the update situation represented by the version update information set can be initially formed.
[0149] Since the update situations covered in the version update information set are very extensive and complex, the initial modification description information is somewhat chaotic. In order to facilitate the subsequent generation of clear and accurate release notes, the initial modification description information is adjusted according to the preset format of the document.
[0150] In one implementation, the automated generation of release notes based on the modification description information includes:
[0151] Using the change objects defined by the preset format of the document, in the modification description information, obtain the target modification description information that matches the target change objects for the next design stage of the chip design;
[0152] And, using the impact category information defined by the preset format of the document, screen out the target information in the target modification description information;
[0153] Automatically generate release notes for the target information according to the predefined release note format.
[0154] The change objects are related to the providers of version update information, and can be the designers who update the version of the functional module or the code at the chip design level.
[0155] The target change objects can be determined based on the design requirements of the next design stage, that is, which functional module updates or which chip design level code modifications are mainly concerned about in the next design stage.
[0156] Since the target modification description information corresponding to the target change objects includes the update situations that occurred during multiple updates of the target change objects in the previous design stage. The update situations for each update are different. For example, the first update can be to fix the bugs of the target change object, and the second update can be to add the functions of the target change object. And the roles of different update situations are different in different design stages. Therefore, further screening can be performed in the target modification description information to select the update situations (i.e., impact category information) that the next design stage mainly focuses on for the target change object. For example, if the next design stage is the stage corresponding to the verification team, then it mainly focuses on bug fix information and feature change information. For the synthesis team, it mainly focuses on SDC (Synopsys Design Constraints) and UPF (Unified Power Format) modification information.
[0157] Furthermore, obtain the target information applicable to the next design stage, so that the generated release notes can maximize their role in the next design stage.
[0158] To fully improve the accuracy and sufficiency of the predefined format of the document, the objects of change include the design objects of functional modules and the design objects of the top-level design; the impact category information includes: software-related impact information, timing constraint-related impact information, and power consumption-related impact information; the predefined format of the document also defines: a modified content description entry, a vulnerability repair description entry, and a function update description entry. The modified content description entry is used to describe the updated content when the functional module is updated; the vulnerability repair description entry is used to describe the vulnerabilities repaired when the functional module is updated; the function update description entry is used to describe the functions added when the functional module is updated.
[0159] The software-related impact information includes, for example, the bug repair information and feature change information; the timing constraint-related impact information includes, for example, the SDC modification information; the power consumption-related impact information includes, for example, the UPF modification information.
[0160] Exemplarily, the predefined format of the document can be expressed as:
[0161] {OWNER}_REL: [TYPE], [bug number], [feature: xxx], {comment}.
[0162] Where:
[0163] {OWNER} is the object of change, indicating whether it is the designer of the IP module or the designer of the top-level design (SoC). The optional values are SOC_DE, IPA_DE, IPB_DE, IPC_DE, and it is a mandatory item;
[0164] {TYPE} is the impact category information, indicating the specific type of impact on the next design stage. The optional values are SW, SDC, UPF, indicating an impact on the firmware software and the constraints used by the logic synthesis team. It is an optional item. If there is none, leave it blank;
[0165] [bug number] is the vulnerability repair description entry, which is the specific number in the bug record system. It is an optional item. If there is none, leave it blank;
[0166] [feature: xxx] is the function update description entry, which is the specific function that is updated. It is an optional item. If there is none, leave it blank;
[0167] {comment} is the modified content description entry, which is other relevant descriptions. It is a mandatory item.
[0168] Exemplarily, the modified description information that conforms to the predefined format of the document can be expressed as:
[0169] CLK_DE_REL: ,, feature: clock gating, add clock gating for sys_clk, which can be described as "added clock gating function for sys_clk";
[0170] SOC_DE_REL: sdc,,, change sys_clk period, which can be described as: "changed the period of sys_clk";
[0171] SOC_DE_REL:,, jira-345,, fix sys_clk connect issue, which can be described as: "fixed the connection issue of sys_clk with defect number jira-345";
[0172] SOC_DE_REL: upf, jira-550,, fix power connect issue, which can be described as: "fixed the power connection issue with defect number jira-550".
[0173] From the above examples, it can be seen that the modification description information formed based on the preset format of the document can be more targeted and the content description can be updated more clearly, so that the generated release notes can better meet the usage requirements of the next design stage.
[0174] An embodiment of the present invention further provides a version update processing device for chip design. The device is applied to a version management system. Please refer to Figure 4 , Figure 4 which is a schematic structural diagram of the version update processing device for chip design provided by an embodiment of the present invention.
[0175] As Figure 4 shown, the device may include:
[0176] A version update information acquisition module 400, configured to acquire version update information of each functional module in the chip design;
[0177] An optimization method determination module 401, configured to determine a corresponding optimization method according to the management requirements of the version management system for the version update information; the optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module for each management requirement;
[0178] A processing module 402, configured to process the version update information by using the determined optimization method so that the processed result meets the management requirements.
[0179] Optionally, the determined optimization methods corresponding to each management requirement can be used independently or collaboratively based on the association relationship of the management requirements; the optimization method determination module 401 determines the corresponding optimization method according to the management requirements of the version management system for the version update information, including:
[0180] When the management requirement is the first management requirement for maintaining the version update information of the functional module, the determined corresponding first optimization method is: updating the version update information to the version management information, so as to synchronously control the version information of the functional modules referenced in each development environment of the chip design based on the updated version management information; the version management information is formed by the historical version information of each functional module;
[0181] When the management requirement of the functional module is the second management requirement for documenting the version update information of the functional module, the determined corresponding second optimization method is: processing the version update information using the preset document format, and automatically generating a release note based on the version update information that conforms to the preset document format.
[0182] Optionally, the processing module is used to process the version update information using the determined optimization method, and may include:
[0183] The version update module is used to process the version update information using the first optimization method when the management requirement is the first management requirement;
[0184] The release note generation module is used to process the version update information using the second optimization method when the management requirement is the second management requirement.
[0185] The structure of the version update module can refer to Figure 5 , Figure 5 which is a schematic structural diagram of the version update module provided by an embodiment of the present invention.
[0186] As Figure 5 shown, the version update module may include:
[0187] The configuration file reading unit 501 is used to obtain the updated version management information;
[0188] The updated version management information is obtained by updating the historical version information of the corresponding functional module in the version management information using the version update information of each functional module.
[0189] The format check unit 502 is used to check the storage path information and mapping path information of each functional module in the updated version management information based on the preset path format;
[0190] A storage path information checking unit 503 is configured to, for a function module that passes the check, verify whether it is located in the storage location corresponding to the storage path information;
[0191] A historical version reference path information updating unit 504 is configured to, when verifying that a function module is located in the storage location corresponding to the storage path information, use the version update information to update the historical version information of the corresponding function module in the version management information, so as to obtain updated version management information.
[0192] The historical version reference path information updating unit 504 can be determined according to the specific version management system used.
[0193] When the version management system is the perforce version management system, the historical version reference path information updating unit 504 is a stream specification file updating unit; when the version management system is the SVN version management system, the historical version reference path information updating unit 504 is an IP target updating unit.
[0194] The structure of the release note generation module can refer to Figure 6 , Figure 6 which is a schematic structural diagram of the release note generation module provided by an embodiment of the present invention.
[0195] As Figure 6 shown, the release note generation module may include:
[0196] A submission module 60, and the code submission module 60 may include:
[0197] A modified description information format checking unit 601 is configured to check the initial modified description information formed based on the version update information set for a document preset format, and form modified description information when it is determined that the document preset format is met;
[0198] A submission unit 602 is configured to submit the modified description information to a version library for use by developers in the next design stage;
[0199] A generation module 61, and the generation module 61 includes:
[0200] An information obtaining unit 610 of a target change object is configured to use the change object defined by the document preset format to obtain target modified description information that matches the target change object in the next design stage of the chip design from the modified description information;
[0201] An information screening unit 611 is configured to screen out target information from the target modified description information by using the impact category information defined by the document preset format;
[0202] A release note generation unit 612 is configured to automatically generate a release note according to a predefined release note format for the target information.
[0203] Among them, the target change object acquisition unit 610 may include an information acquisition unit of the IP module and an information acquisition unit at the chip design level.
[0204] It can be seen that in the technical solution provided by the embodiment of the present invention, when using a version management system to manage the design process of chip design, in the case where the version of the functional module used in chip design is updated, an applicable optimization method can be selected based on different management requirements of the version management system for version update information, and the version update information is processed so that the processed result meets the management requirements. Since the optimization method is for each management requirement and optimizes the management function of the version management system for managing version update information. Therefore, the management function of the version management system can be improved, facilitating the management of version update information when each functional module is updated, thereby optimizing the management function of the version management system for the design cycle of chip design.
[0205] It can be seen that the co-simulation platform provided by the embodiment of the present invention can achieve parallel communication between each simulation environment with the help of a cross-simulation environment communication hub, and on the basis of ensuring the scalability, flexibility and stability of the simulation environment of the chip design in the co-simulation platform, accelerate the efficiency of co-simulation.
[0206] The embodiment of the present invention provides an electronic device, such as a computer device such as a terminal device or a server device, including a memory and a processor. The memory stores a program, and the processor calls the program stored in the memory to execute the version update processing method of the chip design as described in the foregoing embodiment.
[0207] The embodiment of the present invention provides a storage medium, and the storage medium stores a program, and when the program is executed, it implements the version update processing method of the chip design as described in any one of the foregoing embodiments.
[0208] The embodiment of the present invention provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the version update processing method of the chip design as described in any one of the foregoing embodiments.
[0209] The above describes multiple embodiment solutions provided by the embodiment of the present invention. The optional methods introduced in each embodiment solution can be combined and cross-referenced with each other without conflict, so as to extend a variety of possible embodiment solutions, and these can all be considered as the embodiment solutions disclosed and made public by the embodiment of the present invention.
[0210] Although the embodiments of the present invention are disclosed as above, the present invention is not limited thereto. Any person skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention. Therefore, the protection scope of the present invention should be subject to the scope defined by the claims.
Claims
1. A method for processing a version update of a chip design, characterized in that: Applied to a version management system, the method includes: Obtain the version update information of each functional module in chip design; Determine a corresponding optimization method according to the management requirements of the version management system for the version update information; the optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module according to each management requirement; The version update information is processed using a determined optimization method so that the processed result meets the management requirements.
2. The chip design version update processing method according to claim 1, characterized in that: The optimization methods determined corresponding to each management requirement can be used independently or in coordination based on the association relationship between the management requirements; the corresponding optimization methods are determined according to the management requirements of the version management system for the version update information, including: When the management requirement is a first management requirement for maintaining version update information of a functional module, determining a corresponding first optimization method is: updating the version update information into the version management information, so as to synchronize the version information of the corresponding referenced functional modules in various development environments of the chip design based on the updated version management information; the version management information is formed by the historical version information of each functional module; When the management requirement of the functional module is the second management requirement of documenting the version update information of the functional module, the corresponding second optimization method is determined as: processing the version update information using a preset document format, and automatically generating release notes based on the version update information that conforms to the preset document format; the preset document format is based on the update information definition of the chip design during the design phase.
3. The chip design version update processing method according to claim 2, characterized in that: The processing of the version update information by using the determined optimization method includes: When the management requirement is the first management requirement, processing the version update information by using the first optimization method; When the management requirement is the second management requirement, the version update information is processed using the second optimization method.
4. The chip design version update processing method according to claim 3, characterized in that: When the management requirement is the first management requirement, processing the version update information by using the first optimization method includes: Based on the first management requirement, obtaining version management information, wherein the version management information includes historical version information of each functional module in the chip design; Using the version update information, update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information; Based on the updated version management information, the historical version reference path information is updated to obtain the updated version reference path information, so as to modify the historical version information referenced by the historical version reference path information, wherein the historical version reference path information is information defined in the design phase of chip design and is used to reference the code content corresponding to the version information of the functional module to the current development environment; Based on the updated version reference path information, the version update information is synchronized to the current development environment of the chip design to verify the chip design in the design phase.
5. The chip design version update processing method according to claim 4, characterized in that: The method of using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information includes: When it is determined that the version update information indicates that the version number of the function module is updated, the version update number in the version update information is updated to the historical version reference path information to obtain the updated version reference path information to modify the initial version number included in the historical version information of the function module; When it is determined that the version update information indicates a version number update and a version path update of the function module, the version update number and the path update information in the version update information are updated to the historical version reference path information to obtain the updated version reference path information, so as to modify the historical version number and the historical path information included in the historical version information of the function module; The step of synchronizing the version update information to the current development environment of the chip design based on the updated version reference path information includes: Based on the updated version reference path information, the code content corresponding to the version update number is synchronized to the current development environment of the chip design.
6. The chip design version update processing method according to claim 5, characterized in that: Before the step of using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information, the method further includes: Checking the storage path information and mapping path information of each functional module in the updated version management information based on a preset path format; For the function module that has passed the check, when it is verified that it is located in the storage location corresponding to the storage path information, the step of using the version update information to update the historical version information of the corresponding function module in the version management information to obtain the updated version management information is performed; The path preset format associates the function modules defined in the historical version reference path information with the function modules in the updated version management information.
7. The chip design version update processing method according to claim 6, characterized in that: The method of using the version update information to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information includes: Determine a definition method of the version management system for the reference path information of the historical version; According to the definition method, the version update information is used to update the historical version information of the corresponding functional module in the version management information to obtain the updated version management information.
8. The chip design version update processing method according to claim 2, characterized in that: When the management requirement is the second management requirement, processing the version update information by using the second optimization method includes: Based on the second management requirement, the version update information of each functional module is aggregated to form a version update information set; Based on the version update information set, forming modification description information according to a preset document format; Automatically generate release notes based on the modification description information.
9. The chip design version update processing method according to claim 8, characterized in that: The version update information of each functional module is aggregated based on the second management requirement to form a version update information set, including: In the current development environment of the chip design, verifying the chip design using the version update information of each functional module formed during the current update; After verification, the current version update information is stored; Until the design stage of the chip design has reached the stage goal, the version update information of each functional module update is obtained as the version update information set.
10. The chip design version update processing method according to claim 9, characterized in that: The forming of modification description information based on the version update information set in accordance with a preset document format includes: Based on the version update information set, forming initial modification description information; When checking whether the initial modification description information complies with the preset format of the document, modification description information is formed.
11. The chip design version update processing method according to claim 10, characterized in that: The automatically generating a release note based on the modification description information includes: Using the change object defined in the preset format of the document, in the modification description information, obtain target modification description information matching the target change object of the next design stage of the chip design; and, using the impact category information defined in the preset document format, filtering out target information from the target modification description information; The target information is automatically used to generate a release note according to a predefined release note format.
12. A chip design version update processing device, characterized in that: Applied to a version management system, the device comprises: A version update information acquisition module is used to obtain version update information of each functional module in chip design; An optimization method determination module is used to determine a corresponding optimization method according to the management requirements of the version management system for the version update information; the optimization method is used to optimize the management function of the version management system for managing the version update information of the functional module according to each management requirement; The processing module is used to process the version update information using a determined optimization method so that the processed result meets the management requirements.
13. An electronic device, characterized in that: It comprises a memory and a processor, the memory stores a program, and the processor calls the program stored in the memory to execute the version update processing method of the chip design as described in any one of claims 1-11.
14. A storage medium, characterized in that: The storage medium stores a program, and when the program is executed, the version update processing method of the chip design according to any one of claims 1 to 11 is implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the version update processing method of the chip design as described in any one of claims 1-11 is implemented.