Label management method and device, verification platform and storage medium
Patent Information
- Application Number
- CN202611093125.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-22
- Publication Date
- 2026-09-29
AI Technical Summary
[0005]一方面,不同数据结构与维护代码的开发与维护存在着重复性工作,另一方面,若tag的设计规格发生变更,则不同总线的tag维护代码均需要进行修改,二者均会导致时间与资源的浪费
[0020]本申请实施例中,测试流程控制总序列向各进程对应的子序列发送目标句柄,各子序列在拥有目标句柄的情况下,才能够调用标签管理模块。该方式有助于提高标签管理的有效性,避免不具有权限的进程对标签进行申请与回收导致标签管理混乱的情况下出现。
Smart Images

Figure CN122838191A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of integrated circuit simulation and verification, and specifically provides a tag management method, device, verification platform, and storage medium. Background Technology
[0002] When transmitting data via the bus, tags are needed to uniquely identify the data being transmitted. Correspondingly, when verifying the bus, the verification environment also needs to manage tags, simulating tag application and retrieval to verify the correctness of the bus function in a real-world stimulus scenario.
[0003] Currently, before verifying the bus, it is necessary to develop code to maintain tags so that tags can be generated in the verification environment and provided to the bus module for data transmission, thereby verifying the correctness of the bus function.
[0004] Within the same integrated circuit, multiple buses may be designed to meet different requirements. For example, an integrated circuit may simultaneously incorporate both an AXI (Advanced eXtensible Interface) bus and an AHB (Advanced High-Performance Bus). These different buses may be verified in different verification environments, which typically requires building separate data structures and maintenance code for each tag used in those environments.
[0005] On the one hand, the development and maintenance of different data structures and maintenance codes involve repetitive work. On the other hand, if the design specifications of the tag change, the tag maintenance code for different buses needs to be modified, both of which lead to a waste of time and resources. In addition, designing tag maintenance code according to the verification environment of different buses is not conducive to the reuse of tag data structures and maintenance code. Summary of the Invention
[0006] In view of this, this application aims to provide a tag management and bus verification method, apparatus, verification platform and storage medium to improve the versatility of tag management, meet the needs of different bus verification environments, and realize the reuse of tag management in different scenarios, thereby reducing the time and resource waste of tag management and maintenance.
[0007] In a first aspect, embodiments of this application provide a tag management method applied to a tag management module, the tag management module being configured on a verification platform, the verification platform further including a bus module; the tag management method includes: when a process transmits data through the bus module, obtaining an operation request from the process for a tag; sending the operation request to a tag management model preset within the tag management module, so that the tag management model executes the operation request; wherein, the tag management model is constructed based on a UVM (Universal Verification Methodology) object, and the tag management model manages the tags used by the bus module when transmitting data through a preset tag management structure, and executes the operation request based on the preset tag management structure.
[0008] This application provides a tag management module, which includes a tag management model. This model enables end-to-end tag management. The tag management model is built upon UVM objects, a commonly used verification method. The tag management model built on UVM can be used in most verification environments. Furthermore, the tag management model has a preset tag management structure. When applied to different verification environments, there is no need to redevelop the tag maintenance structure and code, allowing for tag management and maintenance based on the same structure. Therefore, because UVM object construction enables the tag management model to be used in different verification environments, and the preset tag management structure allows for tag management based on a unified architecture, the tag management model can be used in the verification of different bus modules, achieving reuse without the need to redevelop the maintenance structure and code, effectively reducing the time and resources required for bus verification.
[0009] In one embodiment, the preset tag management structure includes: an initialization mode for presetting a target mode for the tag management model to manage tags; tag boundaries for defining the maximum and minimum values of tag values; a tag quantity for defining the maximum number of tags managed by the preset tag management structure; a tag queue for storing tags not exceeding the tag quantity; a tag application operation lock for limiting the number of processes that can apply for tags from the tag management model at the same time to at most one; and a tag recycling operation lock for limiting the number of processes that can recycle tags through the tag management model at the same time to at most one. The tag management model is used to provide the tag queue to the processes that apply for tags based on the tag application operation lock. The tag management model is also used to recycle the tags used by the processes back to the tag queue based on the tag recycling operation lock.
[0010] In this embodiment, the preset tag management structure includes tag boundaries, tag quantity, and tag queue. Therefore, the tag management model can adjust the parameters of each part according to the specific requirements of bus verification, thereby adapting to the verification needs of different buses. Simultaneously, this structure also includes a tag application operation lock and a tag retrieval operation lock to limit the number of processes simultaneously applying for or retrieving tags. This prevents tag management anomalies caused by mutual interference when multiple processes simultaneously apply for or retrieval tags, improving the correctness and reliability of tag management.
[0011] In one embodiment, the initialization mode includes a random mode; the tag management method further includes: if the target mode is the random mode, the tag management model is further used to generate tags and store them in a tag queue based on the tag boundaries and the number of tags, so that the tag management model executes the operation request based on the tags in the tag queue.
[0012] In this embodiment of the application, a random mode is provided. In the random mode, tags can be randomly generated simply by defining the tag boundaries and the number of tags, thereby reducing the complexity of tag management.
[0013] In one embodiment, the initialization mode includes a user-defined mode; the tag management method includes: if the target mode is the user-defined mode, then obtaining a custom tag; filling the custom tag into the tag queue, so that the tag management model executes the operation request based on the custom tag in the tag queue.
[0014] In this embodiment of the application, user-defined tags are supported to meet the tag requirements of specific types and serial numbers in specific scenarios.
[0015] In one embodiment, the data types of the tag request operation lock and the tag recycling operation lock are configured to include a first identifier and a second identifier; the first identifier is used to indicate that only the tag management model supports operations on the tag; the second identifier is used to indicate that at most one process can execute an operation request on the tag at any given time.
[0016] In this embodiment of the application, by configuring a first identifier and a second identifier in the operation lock, the number of processes that simultaneously request to perform tag management operations is limited, thereby avoiding management chaos and anomalies caused by multiple processes simultaneously requesting to manage tags, improving the reliability and effectiveness of tag management, and thus helping to improve the accuracy of bus verification.
[0017] In one embodiment, before obtaining the process's operation request for the tag, the method further includes: receiving an initialization function for a test flow control sequence; the initialization function includes a first configuration value for the tag boundary or a user-defined tag, and the initialization function also includes a second configuration value for the initialization mode; wherein the test flow control sequence includes multiple sub-sequences, each sub-sequence corresponding to a process; in response to the initialization function, performing the following initialization process on the tag management model: modifying the initial configuration value of the initialization mode in the tag management model to the second configuration value; modifying the initial configuration value of the tag boundary in the tag management model to the first configuration value; calculating and configuring a third configuration value for the number of tags based on the tag boundary including the first configuration value and the initialization mode including the second configuration value; determining and configuring a fourth configuration value for the tag queue based on the third configuration value for the number of tags; or, in response to the initialization function, performing the following initialization process on the tag management model: modifying the initial configuration value of the initialization mode in the tag management model to the second configuration value; filling the tag queue with the user-defined tag.
[0018] In this embodiment, the tag management model can be initialized and configured according to specific scenario requirements, including but not limited to adjusting the range of tag serial numbers and configuring the number of allocable tags by modifying tag boundaries, or configuring user-inputted custom tags. By modifying the initialization mode, the model can meet the different management requirements of the bus for tags. By initializing the tag management model, the applicability of the tag management model can be effectively improved, and different requirements can be met.
[0019] In one embodiment, the test process control sequence is further used to pass the target handle for calling the tag management model to each of the sub-sequences after sending the initialization function to the tag management model; before sending the operation request to the tag management model preset in the tag management module, the method further includes: determining that the sub-sequence corresponding to the process that issued the operation request has the target handle.
[0020] In this embodiment, the test process control sequence sends target handles to the corresponding sub-sequences of each process. Each sub-sequence can only call the tag management module if it possesses the target handle. This approach helps improve the effectiveness of tag management and avoids situations where unauthorized processes apply for and reclaim tags, leading to chaos in tag management.
[0021] In one embodiment, when the processes corresponding to all the sub-sequences have completed data transmission, the test process control sequence sends a check function to the tag management module; the tag management method further includes: in response to the check function, calling the tag management model to determine whether all tags have been recycled; and outputting a tag management result based on whether all tags have been recycled.
[0022] In this embodiment, after data transmission is completed, a check function is used to check whether the tag has been recycled, and then the tag management result is output. Providing the tag management result to the engineer helps the engineer determine whether there is an anomaly in the bus transmission, improves the efficiency of the engineer in confirming the problem, and improves the overall efficiency of simulation verification.
[0023] In one embodiment, the operation request includes a target operation type for the tag; the target operation type is tag application or tag recycling; sending the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request, includes: if the target operation type is determined to be tag application, then the tag management model opens the tag application operation lock; the tag management model performs a tag application based on the target mode and provides feedback to the process; the tag management model releases the tag application operation lock; and / or, sending the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request, includes: if the target operation type is determined to be tag recycling, then the tag management model opens the tag recycling operation lock; the tag management model performs tag recycling for the process based on the target mode; the tag management model releases the tag recycling operation lock.
[0024] In this embodiment, an operation lock is used to restrict the tag management model from executing operation requests from multiple processes simultaneously. After completing the corresponding tag management operation, the corresponding operation lock is released, allowing the tag management model to execute new operation requests. This method makes tag management more orderly and reliable, avoids anomalies caused by managing tags from multiple processes simultaneously, and improves the accuracy of bus verification.
[0025] In one embodiment, if the target mode is a random mode, the tag management model applies for tags based on the target mode and feeds them back to the process, including: if the current number of tags in the tag queue is less than the number of tags, the tag management model generates a new tag in the tag queue based on the tag boundary; the new tag does not duplicate the current tag in the tag queue; and the new tag is provided to the process.
[0026] In this embodiment of the application, a random mode is provided, which can randomly generate new tags based on the number of tags and tag boundaries and provide them to the process. The new tags do not duplicate existing tags. Thus, the automatic generation of tags is realized, which satisfies the process's tag application requirements while improving the accuracy and reliability of tag management.
[0027] In one embodiment, if the target mode is a random mode, the tag management model performs tag recycling on the process based on the target mode, including: counting the sequence numbers of the remaining tags in the current tag queue to obtain first tag information; receiving second tag information fed back by the process after receiving previously applied tags; the second tag information includes the sequence number of the tags received by the process; determining whether the first tag information and the second tag information match; if it is determined that the first tag information and the second tag information match, the tag management model deletes the tags that are the same in the first tag information and the second tag information from the tag queue to complete the tag recycling.
[0028] In this embodiment of the application, after receiving the tag feedback from the process, it is determined whether there is a matching tag in the current queue. If there is, the tag is deleted from the tag queue. This method ensures that the tag can be accurately recycled, thereby ensuring the reliability of tag management.
[0029] In one embodiment, if the target mode is a user-defined mode, the tag queue in the user-defined mode includes user-defined tags; the tag management model applies for tags based on the target mode and feeds them back to the process, including: the tag management model randomly obtains a tag from the currently remaining tags in the tag queue and provides it to the process.
[0030] In this embodiment, the tag management model provides a user-defined mode. In this mode, users can set the tag number and quantity themselves to meet simulation verification needs in certain special scenarios. In user-defined mode, the tag management system can randomly select a user-defined tag from the tag queue and provide it to the process, thus completing the process's tag request.
[0031] In one embodiment, if the target mode is a user-defined mode, the tag queue in the user-defined mode includes user-defined tags; the tag management model performs tag recycling for the process based on the target mode, including: counting the sequence numbers of the remaining tags in the current tag queue to obtain first tag information; receiving second tag information fed back by the process after receiving previously applied tags; the second tag information includes the sequence number of the tags received by the process; determining whether the first tag information and the second tag information match; if there are mismatched tags between the first tag information and the second tag information, the tag management model deletes the mismatched tags from the tag queue to complete the tag recycling.
[0032] Secondly, embodiments of this application provide a tag management device applied to a tag management module. The tag management module is disposed on a verification platform, and the verification platform further includes a bus module. The tag management device includes: an acquisition unit, used to acquire an operation request for a tag by a process when the process transmits data through the bus module; and a model unit, used to send the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request; wherein the tag management model is constructed based on a UVM object, and the tag management model manages the tags used by the bus module when transmitting data through a preset tag management structure, and executes the operation request based on the preset tag management structure.
[0033] Thirdly, embodiments of this application provide an electronic device, including a memory and a processor, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the processor is configured as a verification platform and performs the tag management method as described in any of the first aspects.
[0034] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the tag management method as described in any of the first aspects. Attached Figure Description
[0035] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1A flowchart illustrating a label management method provided in this application embodiment; Figure 2 A flowchart illustrating a label management method provided in an embodiment of this application; Figure 3 This is a schematic diagram of bus verification interaction provided in an embodiment of this application; Figure 4 This is a schematic diagram of a label management device provided in an embodiment of this application; Figure 5 This is a schematic diagram of an electronic device provided in an embodiment of this application.
[0037] Icons: Tag management device 400; Acquisition unit 410; Model unit 420; Electronic device 500; Processor 510; Memory 520. Detailed Implementation
[0038] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0039] First, this application provides a label management method that can be applied to a label management module, wherein the label management module is set on a verification platform.
[0040] In the embodiments of this application, the verification platform is used to simulate and verify the code of integrated circuit functions, including but not limited to the circuit functions and the interaction between modules. The verification platform is a software platform, and correspondingly, the tag management module provided in the embodiments of this application is also a program module.
[0041] Before describing the tag management method provided in the embodiments of this application, a brief description will be given of the relevant content of the verification platform for simulating and verifying integrated circuits.
[0042] When simulating and verifying integrated circuits, a verification platform is used to simulate and verify the code and software functions of the integrated circuit. The verification platform builds a verification environment and abstracts the hardware functions of the integrated circuit into software code, so as to simulate the behavior of the hardware through software code, thereby realizing the simulation and verification of the integrated circuit.
[0043] like Figure 1 The verification environment includes, but is not limited to, register models, bus modules, alignment modules, and coverage collection modules. The verification platform may include bus modules of different types of buses, such as... Figure 1 As shown, this includes, but is not limited to, AXI bus, AHB bus, etc.
[0044] Each bus module may include an Agent, a Monitor, and a Driver. For example, the AXI bus module includes an AXI Agent, an AXI Monitor, and an AXI Driver, while the AHB bus includes an AHBA Agent, an AHB Monitor, and an AHB Driver.
[0045] When the verification platform performs simulation verification, it runs processes that simulate the functions of the integrated circuit. During the operation of each process, data transmission may be involved. Data is sent and received through the bus module. When transmitting data, the bus module configures a tag for each data packet. Only data packets with a configured tag can be transmitted. After the transmission is completed, the tag is recycled.
[0046] Therefore, when simulating data transmission for verification on the verification platform, it is also necessary to assign corresponding tags to the processes. At the same time, it is also necessary to manage and maintain the tags so that the tags can be correctly generated, requested by the processes, and reclaimed.
[0047] In the embodiments of this application, the label management module has a preset label management model, which can be used to manage the entire process of labels in the simulation verification process of the verification platform, including but not limited to label application, recycling, statistics, etc., to realize the label management method provided in the embodiments of this application.
[0048] The label management method provided in this application will be described next. Please refer to [link / reference]. Figure 2 , Figure 2 This is a flowchart illustrating a label management method provided in one embodiment of this application. The label management method includes: S210: When a process transmits data through the bus module, it obtains the process's operation request for the tag.
[0049] In the embodiments of this application, the tag operation request includes a tag application request and a tag recycling request. When a process transmits data through the bus module, it applies for a tag from the agent unit of the bus module, and after the data transmission is completed, the agent unit recycles the tag. Therefore, in the embodiments of this application, the tag management module may specifically be connected to the agent unit of the bus module to obtain the process's tag operation request when the process transmits data through the bus module, and manage the tag accordingly.
[0050] S220, the operation request is sent to the tag management model preset in the tag management module so that the tag management model can execute the operation request.
[0051] In the embodiments of this application, the tag management module manages tags through a tag management model to meet the process's needs for tag application and recycling.
[0052] In the embodiments of this application, if the tag management module and tag management model are to be adapted to the needs of different buses, two conditions need to be met: first, it must be able to be used in the verification environment of different buses; second, the method of using different data structures and maintenance codes for different buses must be converted into management using a unified data structure and code.
[0053] Regarding the first point, in the embodiments of this application, a tag management model can be built based on UVM objects. UVM is a mainstream verification methodology with advantages such as randomness, reusability, and integration. uvm_object (UVM object) is a mainstream and fundamental component in UVM. Based on the current development trend of mainstream verification methodologies, UVM is typically used to build verification environments on different buses. Therefore, in the embodiments of this application, the tag management model built based on UVM objects can be used in verification environments on different buses, conforming to the development trend of mainstream verification methodologies and having better reusability.
[0054] Regarding the second point, in the embodiments of this application, the tags used by the bus modules for data transmission are managed through a tag management model using a preset tag management structure, and operation requests are executed based on the preset tag management structure. That is, a preset tag management structure is configured in the tag management model, allowing the tag management model to uniformly manage and maintain tags from different buses using this preset tag management structure. Therefore, through the tag management model, it is unnecessary to build a data structure and maintenance code for managing tags for each bus.
[0055] Therefore, through the above two aspects, the tag management module and tag management model can be made universal and reusable. Reusability means that the tag management module and tag management model can be used in different verification projects and can be reused. Universality means that the tag management module and tag management model can also be used when verifying different buses, without the need to build separate data structures and maintenance code for managing tags for different buses.
[0056] Some of the preset tag management structures in this application may include features such as tag boundaries, initialization mode, number of tags, tag queue, and operation lock.
[0057] Tag boundaries define the maximum and minimum values for a tag, thus limiting its value range. Tag values also guarantee the tag's sequence number, ID (identity), or identifier. For example, if a tag has a value of 1, then its ID is 1.
[0058] In the embodiments of this application, the tag boundary includes an upper boundary and a lower boundary. The upper boundary, also known as the maximum tag, is used to define the maximum value of the tag. The lower boundary, also known as the minimum tag, is used to define the minimum value of the tag. The tags generated in the tag management model need to be assigned values based on the tag boundaries, not exceeding the upper boundary and not less than the lower boundary.
[0059] The label boundaries can be defined based on the bus width. For example, when the bus width is 4, the minimum lower boundary is 0, and the maximum upper boundary is 2. 4 -1 can also be other values, such as 13 for the upper boundary and 4 for the lower boundary. For specific values, please refer to existing technologies and we will not elaborate further here.
[0060] The initialization mode is used to preset the target mode for tag management by the tag management model. In this embodiment, different management modes can be set through the initialization mode to meet the bus verification requirements in different scenarios.
[0061] For example, in some embodiments of this application, the initialization mode includes a random mode and a user-defined mode. In the random mode, the tag management model will randomly generate tags that meet the requirements through tag boundaries. In the user-defined mode, users can input user-defined tags.
[0062] The tag queue is used to store generated, unassigned tags that conform to the aforementioned tag boundary constraints. For example, randomly generated tags or user-inputted custom tags can be temporarily stored in the tag queue before being assigned to a process.
[0063] The tag count defines the maximum number of tags that can be managed by the preset tag management structure. Generally, the maximum tag count is (maximum boundary - minimum boundary + 1).
[0064] In embodiments of this application, the number of tags can also be related to the initialization mode. For example, in random mode, the number of tags is (maximum boundary - minimum boundary + 1), and in user-defined mode, the number of tags is equal to the number of tags defined by the user in the tag queue.
[0065] The operation locks include the tag application operation lock and the tag recycling operation lock. The tag application operation lock is used to limit the number of processes that apply for tags from the tag management model; the tag recycling operation lock is used to limit the number of processes that recycle tags through the tag management model.
[0066] Because a tag only supports one data packet for data transmission, if multiple processes simultaneously apply for and / or reclaim tags during tag management, it may lead to chaotic tag allocation and abnormal reclamation feedback to different processes. Therefore, in the embodiments of this application, to reduce the difficulty of tag management, an operation lock can be used to limit the number of processes performing tag management simultaneously. For example, only one process can apply for or reclaim a tag at a time.
[0067] In one embodiment of this application, the data types of the tag application operation lock and the tag recycling operation lock can be configured to include a first identifier and a second identifier.
[0068] The first identifier is used to indicate that only the tag management model supports operations on the tag; for example, the first identifier is protected. The second identifier is used to indicate that at most one process can execute an operation request on the tag at any given time; for example, the second identifier is a semaphore. Therefore, the data type of the tag request operation lock and the tag revocation operation lock can be configured as protected semaphore.
[0069] By restricting tag application operation locks and tag recycling operation locks, abnormal tag allocation and recycling situations caused by multiple processes simultaneously requesting tag management can be avoided, thereby improving the reliability of tag management.
[0070] In the embodiments of this application, the tag management model performs tag-related management operations based on the aforementioned preset tag management structure.
[0071] For example, the tag management model also provides the tag queue to the process that applies for the tag based on the tag application operation lock; the tag management model reclaims the tags used by the process to the tag queue based on the tag reclamation operation lock.
[0072] For example, the initialization mode includes a random mode and a user-defined mode. If the target mode is the random mode, the tag management model is further used to generate tags based on the tag boundaries and the number of tags, and store them in a tag queue, so that the tag management model executes the operation request based on the tags in the tag queue. Alternatively, if the target mode is the user-defined mode, then custom tags are obtained; the custom tags are added to the tag queue, so that the tag management model executes the operation request based on the custom tags in the tag queue. Custom tags are tags input by the user.
[0073] In the embodiments of this application, the tag management model can generate tags that meet the verification requirements of different buses and different scenarios and manage them accordingly by configuring and adjusting various features of the preset tag management structure.
[0074] For example, the verification platform includes a top-level sequence (a component in UVM that controls the test flow), which can be called the overall test flow control sequence. The overall test flow control sequence includes multiple sub-sequences, each sub-sequence corresponding to a process, and the process completes the tag management operation through the corresponding sub-sequence.
[0075] In the embodiments of this application, before obtaining the process's operation request for the tag, the test process control sequence can send an initialization function to the tag management module so that the tag management module can perform initialization of the tag management model and complete the initialization configuration.
[0076] That is, the tag management module can receive the initialization function of the test process control sequence and, in response to the initialization function, perform initialization on the tag management model.
[0077] In some embodiments of this application, the initialization function may include a first configuration value for the label boundary or a user-defined label, and the initialization function may also include a second configuration value for the initialization mode. The second configuration value is the value corresponding to the selected initialization mode; for example, the configuration value for a random mode may be 0, and the configuration value for a user-defined mode may be 1. Accordingly, the following initialization process can be performed on the tag management model: modify the initial configuration value of the initialization mode in the tag management model to the second configuration value; modify the initial configuration value of the tag boundary in the tag management model to the first configuration value; calculate and configure the third configuration value of the number of tags based on the initialization mode including the tag boundary and the second configuration value; determine and configure the fourth configuration value of the tag queue based on the third configuration value of the number of tags.
[0078] In the embodiments of this application, if the second configuration value represents a random mode, then the third configuration value is equal to the upper boundary minus the lower boundary plus one in the first configuration value; if the second configuration value represents a user-defined mode, then the third configuration value is equal to the number of tags in the first configuration value. Accordingly, the fourth configuration value is generally equal to the third configuration value. In other embodiments, the third and fourth configuration values can also be set in the initialization function to meet actual testing requirements.
[0079] In some embodiments of this application, the tag management model may generate corresponding tags and store them in the tag queue after initialization based on tag boundaries and tag quantity, or it may generate the corresponding tags after receiving the operation request from the process. The specific tag generation time can be set according to the requirements, and the specific time of tag generation is not limited here.
[0080] Alternatively, the following initialization process can be performed on the tag management model: modify the initial configuration value of the initialization mode described in the tag management model to the second configuration value; populate the tag queue with custom tags.
[0081] In embodiments of this application, the overall test flow control sequence is further used to pass the target handle for calling the tag management model to each sub-sequence after sending the initialization function to the tag management model. Before sending the operation request to the tag management model preset in the tag management module, the method may further include: determining that the sub-sequence corresponding to the process issuing the operation request has a target handle.
[0082] In this embodiment, only subsequences with the target handle can apply for tags from the tag management module, thereby further improving the orderliness and reliability of tag management.
[0083] Next, the process of S120 in the label management method provided in this application will be explained in conjunction with the above-mentioned label management model.
[0084] In the embodiments of this application, the operation request includes the target operation type for the tag, which is tag application or tag recycling. By the target operation type, it can be determined whether the process requests to apply for or recycle a tag.
[0085] Accordingly, sending an operation request to a tag management model pre-set within the tag management module, so that the tag management model executes the operation request, may include: If the target operation type is determined to be a tag application, the tag management model opens the tag application operation lock; the tag management model performs a tag application based on the target mode and provides feedback to the process; the tag management model releases the tag application operation lock.
[0086] And / or, if the target operation type is determined to be tag recycling, the tag management model opens the tag recycling operation lock; the tag management model performs tag recycling for the process based on the target pattern; the tag management model releases the tag recycling operation lock.
[0087] Whether it's tag application or tag recycling, an operation lock can be enabled before executing a tag operation request. The corresponding operation request can then be executed with the operation lock enabled to avoid interference from other processes during the execution of the operation request, which could negatively impact tag management.
[0088] In this embodiment, opening the operation lock indicates that the tag management model is currently occupied by a process and cannot receive operation requests from other processes. This can be implemented by setting a flag bit using a set signal. For example, when the tag management model is idle and can receive operation requests, the flag bit is 0; when an operation request from any process is received, the flag bit is set to 1. Correspondingly, after completing an operation request, the operation lock also needs to be released so that the tag management model can receive and execute new operation requests.
[0089] In the embodiments of this application, different initialization modes will have different execution methods during tag application and recycling.
[0090] For example, if the target pattern is a random pattern, the tag management model can apply for tags based on the target pattern and provide feedback to the process. This can include: if the current number of tags in the tag queue is less than the total number of tags, the tag management model can generate new tags in the tag queue based on the tag boundary; and provide the new tags to the process.
[0091] If the current number of tags in the tag queue is greater than or equal to the target number, then we can wait for the current number of tags in the tag queue to be less than the target number, that is, wait for tags to be provided to the process or for tags to be recycled and deleted before generating new tags.
[0092] The random mode refers to randomly generating new labels under constraints. These constraints include two aspects: first, the new label must meet the label boundary constraints, meaning the new label's sequence number cannot exceed the label boundary range; second, the new label's sequence number must not be duplicated with the current label in the label queue, to avoid the situation where identical labels exist at the same time, thus affecting process data transmission.
[0093] Accordingly, when the target mode is random mode, the tag management model performs tag recycling for the process based on the target mode, which may include: counting the sequence numbers of the remaining tags in the current tag queue to obtain the first tag information; the receiving process receiving the previously applied tags and then feeding back the second tag information; determining whether the first tag information and the second tag information match; if it is determined that the first tag information and the second tag information match, the tag management model deletes the tags that are the same in the first tag information and the second tag information from the tag queue to complete the tag recycling.
[0094] In the embodiments of this application, in random mode, after a tag is provided to the process, the tag is still kept in the tag queue for subsequent determination of whether the tag should be recycled.
[0095] In bus transmission, after a process receives a tag, it sends the tag's sequence number back to the tag management module, indicating that the module has received the tag and is using it for data transmission. Correspondingly, the tag management module and tag management model can also use the tag's sequence number sent back by the process to determine whether the tag has been retrieved.
[0096] In other words, the second tag information includes the sequence number of the tag received by the process. The first tag information, obtained by counting the sequence numbers of the remaining tags in the current tag queue, is compared with the second tag information, which includes the tag sequence number, returned by the process. If the first and second tag information match, the identical tags are deleted from the tag queue, completing a tag retrieval operation. Here, the comparison means that if any tag has the same sequence number, then that tag is a match between the first and second tag information, and the tag deleted from the tag queue is also that matching tag.
[0097] In the embodiments of this application, the process can return the tag's sequence number to the tag queue each time it receives a tag. In this case, when comparing the first tag information with the second tag information, it can check if the matching count is 1. If it is 1, the tag is deleted from the tag queue; otherwise, the matching count is 0. If the matching count is 0, it means that the process responded with an unused tag during transmission. If the matching count is greater than or equal to 2, it means that multiple transmission responses with the same tag have been received. Both of these indicate a problem with the bus transmission. Alternatively, it could mean that multiple transmission responses with the same tag have been received.
[0098] In user-defined mode, the tag queue includes user-defined tags. If the initialization model configured by the tag management model is user-defined mode, the tag management model applies for tags based on the target mode and feeds them back to the process. This may include: the tag management model randomly selects a tag from the currently remaining tags in the tag queue and provides it to the process.
[0099] Because the user has already defined the tags and serial numbers in the user-defined mode, there is no need to generate tags. Instead, a tag is randomly selected from the tag queue and provided to the process.
[0100] Accordingly, in the user-defined mode, the tag management model performs tag recycling for the process based on the target mode, including: counting the sequence number of the remaining tags in the current tag queue to obtain the first tag information; the receiving process receiving the previously applied tags and then feeding back the second tag information; determining whether the first tag information and the second tag information match; if there are mismatched tags between the first tag information and the second tag information, the tag management model deletes the mismatched tags from the tag queue to complete the tag recycling.
[0101] In the above embodiments, the focus is on the recycling of one or more tags. When the data transmission is completed, it is also necessary to determine whether all tags have been recycled.
[0102] Therefore, in the embodiments of this application, when the processes corresponding to all the sub-sequences have completed data transmission, the test process control total sequence sends a check function to the tag management module; the tag management method further includes: in response to the check function, calling the tag management model to determine whether all tags have been recycled; and outputting the tag management result based on whether all tags have been recycled.
[0103] In the embodiments of this application, the number of tags in the tag queue can be used to determine whether recycling is complete. For example, in the aforementioned embodiments, each time a tag is recycled, the tag is removed from the tag queue. Correspondingly, if the number of tags remaining in the tag queue is 0, it is determined that all tags have been recycled. If it is not zero, it indicates that some tags have not been recycled, and the tag management result can be output so that engineers can perform subsequent problem analysis based on the tag management result.
[0104] In the embodiments of this application, the usage status of tags in the tag management model can be obtained at any intermediate moment. For example, a query command can be sent to the tag management module, and the tag management module controls the tag management model to count the tag usage based on the query command. For example, in random mode, the tag management model returns the number of tags; in user-defined mode, the tag management returns the number of tags minus the current queue size.
[0105] Furthermore, in the embodiments of this application, after the process completes data transmission, the tag management module can also reset the tag management, including but not limited to setting boundary values to 0, clearing the tag queue to 0, and clearing the respective tag bits to 0.
[0106] In this embodiment of the application, the label management module and label management model enable full-process management of labels, including but not limited to label application, recycling, and statistics.
[0107] Furthermore, because this tag management model is built upon UVM objects and has a pre-defined tag management structure, it can be used in different verification environments. The pre-defined tag management structure enables tag management based on a unified architecture. This allows the tag management model to be used in the verification of different bus modules, achieving reuse without the need to redevelop and maintain the structure and code, effectively reducing the time and resources required for bus verification.
[0108] Next, the process of executing the tag management method by the tag management module provided in this application will be explained in conjunction with bus verification.
[0109] Please see Figure 3 , Figure 3 This is a schematic diagram of bus verification interaction provided in an embodiment of this application.
[0110] The overall test flow control sequence in the bus module can include multiple sub-sequences, to... Figure 3 For example, it can include subsequence A and subsequence B, with each subsequence corresponding to a process. Additionally, the verification platform also includes a label management module.
[0111] In this embodiment, before executing tag management, the overall test process control sequence can first call an initialization function to initialize the tag management model in the tag management module. The initialization function includes information such as tag boundaries and initialization modes.
[0112] After receiving the initialization function, the tag management module configures the tag management model based on the initialization function so that the configuration of the preset tag management structure in the tag management model matches the information in the initialization function.
[0113] Then, the overall test process control sequence can pass the target handle for calling the tag management model to each sub-sequence, so that the process corresponding to each sub-sequence can call the tag management model according to the target handle.
[0114] When the process corresponding to subsequence A requests a tag, it can send a tag request to the tag management module. The tag management module opens a tag request operation lock, provides a tag to the process according to a pre-configured initialization mode, and then releases the tag request operation lock. After receiving the tag, process A returns the tag's sequence number, i.e., the second tag information, to the tag management module. Upon receiving the tag's sequence number from the process, the tag management module enters the tag recycling process, checks whether a tag with the same returned sequence number exists in the tag queue, and deletes the tag from the tag queue based on the initialization mode, either matching or not matching, thus completing the tag recycling. The process for requesting and recycling tags for the process corresponding to subsequence B is similar.
[0115] After data transmission is completed, the overall test flow control sequence sends a check function to the tag management module. The tag management module responds to the check function, determines whether all tags have been recycled, and feeds back the tag management results to the overall test flow control sequence.
[0116] Based on the same inventive concept, this application also provides a label management device. Please refer to [link to relevant documentation]. Figure 4 , Figure 4 This is a schematic diagram of a label management device provided in an embodiment of this application. The label management device 400 includes: an acquisition unit 410 and a model unit 420.
[0117] The acquisition unit 410 is used to acquire the process's operation request for the tag when the process transmits data through the bus module; Model unit 420 is used to send the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request.
[0118] In one embodiment, a preset tag management structure includes: a tag boundary, used to define the maximum and minimum values of tag values; an initialization mode, used to preset the target mode for the tag management model to manage tags; a tag quantity, used to define the maximum number of tags managed by the preset tag management structure; a tag queue, used to store tags not exceeding the tag quantity; a tag application operation lock, used to limit the number of processes applying for tags from the tag management model; and a tag recycling operation lock, used to limit the number of processes recycling tags through the tag management model.
[0119] The tag management model within model unit 420 can provide the tag queue to the process applying for tags based on the tag application operation lock, and reclaim the tags used by the process back to the tag queue based on the tag recycling operation lock.
[0120] The tag management model within model unit 420 is used to: if the target mode is the random mode, the tag management model is also used to generate tags and store them in a tag queue based on the tag boundary and the number of tags, so that the tag management model executes the operation request based on the tags in the tag queue.
[0121] The tag management model within model unit 420 is used to: if the target mode is the user-defined mode, obtain a custom tag; populate the custom tag into the tag queue, so that the tag management model executes the operation request based on the custom tag in the tag queue.
[0122] Model unit 420 is further configured to configure the data types of the tag request operation lock and the tag recycling operation lock to include a first identifier and a second identifier; the first identifier is used to indicate that only the tag management model is supported to operate on the tag; the second identifier is used to indicate that at most one process is supported to execute an operation request on the tag at any given time.
[0123] The acquisition unit 410 is configured to acquire the operation request of the process for the tag and receive an initialization function of the overall test flow control sequence. The initialization function includes a first configuration value for the tag boundary or a user-defined tag, and the initialization function further includes the following: the overall test flow control sequence includes multiple sub-sequences, each sub-sequence corresponding to a process. The model unit 420 is further configured to, in response to the initialization function, perform the following initialization process on the tag management model: modify the initial configuration value of the initialization mode in the tag management model to the second configuration value; modify the initial configuration value of the tag boundary in the tag management model to the first configuration value and modify the initial configuration value of the initialization mode to the second configuration value; calculate and configure a third configuration value for the number of tags based on the tag boundary including the first configuration value and the initialization mode including the second configuration value; determine and configure a fourth configuration value for the tag queue based on the third configuration value for the number of tags. Alternatively, model unit 420 may also be configured to, in response to the initialization function, perform the following initialization process on the tag management model: modify the initial configuration value of the initialization mode in the tag management model to the second configuration value; and populate the custom tag into the tag queue.
[0124] The test process control sequence is also used to pass the target handle for calling the tag management model to each of the sub-sequences after sending the initialization function to the tag management model; the acquisition unit 410 is also used to determine that the sub-sequence corresponding to the process that issued the operation request has the target handle before sending the operation request to the tag management model preset in the tag management module.
[0125] When all processes corresponding to the sub-sequences have completed data transmission, the test process control sequence sends a check function to the tag management module; the model unit 420 is also used to respond to the check function by calling the tag management model to determine whether all tags have been recycled; and outputs the tag management result based on whether all tags have been recycled.
[0126] The operation request includes the target operation type for the tag; the target operation type is tag application or tag recycling, and the model unit 420 is used to: if the target operation type is determined to be tag application, then the tag management model opens the tag application operation lock; the tag management model performs tag application based on the target mode and feeds back to the process; the tag management model releases the tag application operation lock.
[0127] And / or, model unit 420 is configured to: if the target operation type is determined to be tag recycling, then the tag management model opens the tag recycling operation lock; the tag management model performs tag recycling on the process based on the target mode; and the tag management model releases the tag recycling operation lock.
[0128] If the target mode is a random mode, the model unit 420 is used to: when the current number of tags in the tag queue is less than the number of tags, the tag management model generates a new tag in the tag queue based on the tag boundary; the new tag does not duplicate the current tag in the tag queue; and the new tag is provided to the process.
[0129] If the target mode is a random mode, the model unit 420 is used to: count the sequence numbers of the remaining tags in the current tag queue to obtain first tag information; receive second tag information fed back by the process after receiving the previously applied tags; the second tag information includes the sequence number of the tag received by the process; determine whether the first tag information and the second tag information match; if it is determined that the first tag information and the second tag information match, the tag management model deletes the tags that are the same in the first tag information and the second tag information from the tag queue to complete tag recycling.
[0130] If the target mode is a user-defined mode, the tag queue in the user-defined mode includes user-defined tags; the model unit 420 is used for: the tag management model randomly selects a tag from the current remaining tags in the tag queue and provides it to the process.
[0131] If the target mode is a user-defined mode, the model unit 420 is used to: count the sequence numbers of the remaining tags in the current tag queue to obtain first tag information; receive second tag information fed back by the process after receiving the previously applied tags; the second tag information includes the sequence number of the tag received by the process; determine whether the first tag information and the second tag information match; if there are mismatched tags between the first tag information and the second tag information, the tag management model deletes the mismatched tags from the tag queue to complete tag recycling.
[0132] The label management device provided in this application has similar functions to the label management method provided in the foregoing embodiments. For the sake of brevity, it will not be elaborated here. The functions implemented by the label management device can be referred to the foregoing label management method.
[0133] Please refer to Figure 5 , Figure 5This application also provides a schematic diagram of an electronic device 500, which can serve as the execution subject of the aforementioned tag management method, including: a processor 510 and a memory 520, the processor 510 and the memory 520 being communicatively connected.
[0134] The electronic device 500 can be configured as a verification platform, and the memory 520 stores computer-readable instructions that can be executed by the processor 510, so that the processor 510 can execute the tag management method in the aforementioned embodiments.
[0135] The processor 510 and memory 520 are connected, but are not limited to, via a communication bus.
[0136] Processor 510 can be an integrated circuit chip with signal processing capabilities. Processor 510 can be a general-purpose processor, including a CPU (Central Processing Unit), NP (Network Processor), etc.; it can also be a digital signal processor, application-specific integrated circuit, off-the-shelf programmable gate array, or other programmable logic device or transistor logic device, or discrete hardware component. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor.
[0137] The memory 520 may include, but is not limited to, RAM (Random Access Memory), ROM (Read Only Memory), PROM (Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electric Erasable Programmable Read-Only Memory), etc.
[0138] It is understood that the electronic device 500 may also include more general modules required by itself, which will not be described one by one in the embodiments of this application.
[0139] Based on the same inventive concept, embodiments of this application also provide a readable storage medium storing a program thereon, wherein when the computer program runs on a processor, the processor executes the tag management method provided in the above embodiments.
[0140] The readable storage medium can be any available medium that the processor can access, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs (digital video discs)), or semiconductor media (e.g., SSDs (solid state disks)).
[0141] If the method is implemented as a software functional module and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0142] In the embodiments provided in this application, it should be understood that the disclosed methods and apparatus can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. The functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
[0143] The above embodiments can be freely combined without conflict, and the resulting embodiments are covered within the protection scope of this application.
[0144] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
[0145] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
Claims
1. A label management method, characterized in that, The label management method is applied to a label management module, which is set on a verification platform, and the verification platform also includes a bus module; the label management method includes: When a process transmits data through the bus module, it obtains the process's operation request for the tag. The operation request is sent to the tag management model preset in the tag management module, so that the tag management model executes the operation request; The tag management model is built based on UVM objects, and the tag management model manages the tags used by the bus module when transmitting data through a preset tag management structure, and executes the operation request based on the preset tag management structure.
2. The label management method according to claim 1, characterized in that, The preset tag management structure includes: Initialization mode is used to preset the target mode for the tag management model to manage tags; Label boundaries are used to define the maximum and minimum values that a label can take. Tag quantity, used to define the maximum number of tags managed by the preset tag management structure; A tag queue is used to store tags not exceeding the number of tags stated above; The tag application operation lock is used to limit the process of applying for tags to the tag management model at any given time to a maximum of one. A tag recycling operation lock is used to limit the tag recycling process through the tag management model to a maximum of one at any given time. The tag management model is used to provide the tag queue to the process that applies for the tag based on the tag application operation lock; the tag management model is also used to reclaim the tags used by the process back to the tag queue based on the tag recycling operation lock.
3. The label management method according to claim 2, characterized in that, The initialization mode includes a random mode; the tag management method further includes: If the target mode is the random mode, the tag management model is further used to generate tags and store them in a tag queue based on the tag boundary and the number of tags, so that the tag management model can execute the operation request based on the tags in the tag queue.
4. The label management method according to claim 2, characterized in that, The initialization mode includes a user-defined mode; the tag management method includes: If the target mode is the user-defined mode, then obtain the custom tag; The custom tags are populated into the tag queue so that the tag management model executes the operation request based on the custom tags in the tag queue.
5. The label management method according to claim 2, characterized in that, The data types of the tag application operation lock and the tag recycling operation lock are configured to include a first identifier and a second identifier; The first identifier is used to indicate that only the tag management model supports operations on tags; The second identifier is used to indicate that at most one process can execute an operation request for the tag at any given time.
6. The label management method according to claim 2, characterized in that, Before obtaining the process's operation request for the tag, the method further includes: An initialization function is received for the overall test flow control sequence; the initialization function includes a first configuration value or a user-defined label for the label boundary, and the initialization function also includes a second configuration value for the initialization mode; wherein, the overall test flow control sequence includes multiple sub-sequences, and each sub-sequence corresponds to a process; In response to the initialization function, the following initialization process is performed on the tag management model: The initial configuration value of the initialization mode in the tag management model is modified to the second configuration value; the initial configuration value of the tag boundary in the tag management model is modified to the first configuration value; a third configuration value for the number of tags is calculated and configured based on the tag boundary including the first configuration value and the initialization mode including the second configuration value; a fourth configuration value for the tag queue is determined and configured based on the third configuration value for the number of tags. Alternatively, in response to the initialization function, the following initialization process is performed on the tag management model: the initial configuration value of the initialization mode in the tag management model is modified to the second configuration value; the custom tag is populated into the tag queue.
7. The label management method according to claim 6, characterized in that, The overall test process control sequence is also used to pass the target handle for calling the tag management model to each of the sub-sequences after sending the initialization function to the tag management model; Before sending the operation request to the tag management model preset in the tag management module, the method further includes: It is determined that the subsequence corresponding to the process that issued the operation request has the target handle.
8. The label management method according to claim 6, characterized in that, When all processes corresponding to the sub-sequences have completed data transmission, the test process control sequence sends a check function to the tag management module; The tag management method also includes: In response to the check function, the tag management model is invoked to determine whether all tags have been recycled; The tag management results are output based on whether all the tags have been recycled.
9. The label management method according to claim 2, characterized in that, The operation request includes the target operation type for the tag; the target operation type is tag application or tag recycling. Sending the operation request to a pre-set tag management model within the tag management module, so that the tag management model executes the operation request, includes: if the target operation type is determined to be a tag application, the tag management model opens the tag application operation lock; the tag management model performs a tag application based on the target mode and provides feedback to the process; the tag management model releases the tag application operation lock. And / or, sending the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request, includes: if the target operation type is determined to be tag recycling, then the tag management model opens the tag recycling operation lock; the tag management model performs tag recycling on the process based on the target mode; the tag management model releases the tag recycling operation lock.
10. The label management method according to claim 9, characterized in that, If the target pattern is a random pattern; The label management model applies for labels based on the target pattern and feeds back to the process, including: If the current number of tags in the tag queue is less than the total number of tags, the tag management model generates a new tag within the tag queue based on the tag boundary; the new tag is not a duplicate of the current tag in the tag queue. The new label is provided to the process.
11. The label management method according to claim 9, characterized in that, If the target pattern is a random pattern; The tag management model performs tag recycling for the process based on the target pattern, including: Count the remaining tags in the current tag queue to obtain the first tag information; The process receives second tag information after receiving a previously applied tag; the second tag information includes the sequence number of the tag received by the process. Determine whether the first tag information matches the second tag information; If the first tag information is determined to match the second tag information, the tag management model will delete the tags that are the same in the first tag information and the second tag information from the tag queue to complete the tag recycling.
12. The label management method according to claim 9, characterized in that, If the target mode is a user-defined mode, the tag queue in the user-defined mode includes user-defined tags; The label management model applies for labels based on the target pattern and feeds back to the process, including: The tag management model randomly selects a tag from the currently remaining tags in the tag queue and provides it to the process.
13. The label management method according to claim 9, characterized in that, If the target mode is a user-defined mode, the tag queue in the user-defined mode includes user-defined tags; The tag management model performs tag recycling for the process based on the target pattern, including: Count the remaining tags in the current tag queue to obtain the first tag information; The process receives second tag information after receiving a previously applied tag; the second tag information includes the sequence number of the tag received by the process. Determine whether the first tag information matches the second tag information; If there is a mismatch between the first tag information and the second tag information, the tag management model will delete the tag from the tag queue to complete the tag recycling.
14. A label management device, characterized in that, The label management device is applied to a label management module, which is set on a verification platform. The verification platform also includes a bus module. The label management device includes: The acquisition unit is used to acquire the process's operation request for the tag when the process transmits data through the bus module; The model unit is used to send the operation request to a tag management model preset in the tag management module, so that the tag management model executes the operation request; The tag management model is built based on UVM objects, and the tag management model manages the tags used by the bus module when transmitting data through a preset tag management structure, and executes the operation request based on the preset tag management structure.
15. An electronic device, characterized in that, The device includes a memory and a processor, wherein the memory stores computer-readable instructions that, when executed by the processor, cause the processor to be configured as a verification platform and to perform the tag management method as described in any one of claims 1-13.
16. A computer-readable storage medium, characterized in that, The readable storage medium stores a computer program that, when run on a computer, causes the computer to perform the tag management method as described in any one of claims 1-13.