A register configuration method, device, equipment and medium

By introducing register control modules and register comparison modules into the chip verification platform, combining the register model and additional register model, the configuration and verification of instantiated multiple circuit module registers is achieved, which solves the problems of high verification complexity and low coverage in the existing technology, and improves the accuracy and speed of verification.

CN119720887BActive Publication Date: 2025-06-03SHANGHAI ENFLAME INTELLIGENCE TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510228901.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-06-03
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

It is difficult for the prior art to effectively verify registers in instantiated multiple circuit modules, especially in scenarios where registers share a set of register models and address segments, broadcast access methods and gate module access methods coexist, the real-time and coverage of verification are low, and the maintenance complexity of the verification platform is high.

Method used

By introducing register control module and register comparison module into the chip verification platform, combining the register model and additional register model, the configuration and verification of instantiated multiple circuit module registers are realized. The specific steps include obtaining register operation instructions, generating register configuration transactions, sending them to the system to be tested, and updating attributes in the register model or additional register model, while monitoring the register configuration operations of the system to be tested for attribute comparison.

Benefits of technology

This method can effectively reduce the complexity of the verification platform, improve the accuracy and speed of register verification, be compatible with the original register access method, be portable and popularizable, and can replace test cases and simplify the overall architecture of the test platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119720887B_ABST
    Figure CN119720887B_ABST
Patent Text Reader

Abstract

The present invention discloses a register configuration method, apparatus, device and medium. This method is executed in cooperation by a register control module and a register comparison module in a chip verification platform, and includes: through the register control module, when it is determined that a front-door issued register configuration transaction is obtained, sending a register operation instruction to a register model and obtaining register information; through the register control module, generating a register configuration transaction and sending the register configuration transaction to a system under test; through the register control module, updating the attributes of the register to be configured in the register model or an additional register model; through the register comparison module, when it is monitored that the system under test performs a register configuration operation, performing attribute comparison according to the interface information of the system under test, the register model and the additional register model. By adopting the above technical solution, it is possible to implement register verification for multiple instantiated circuit modules, reducing the complexity of the verification platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chip verification, and particularly relates to a register configuration method, apparatus, device and medium. Background Art

[0002] With the rapid development of artificial intelligence applications, the integration scale and design complexity of high-performance computing chips are increasing day by day. To achieve higher integration, the number of instantiations of the same circuit module in the chip increases geometrically. To save bus address resources and adapt to various usage scenarios, a design method in which a set of register address segments is shared by registers in the instantiated multiple circuit modules, and a broadcast access method and a gated module access method coexist has become an important means for the chip to obtain better performance and customization.

[0003] During the chip verification process, by verifying the registers, it can be ensured that the registers can correctly store and transmit data in the entire system, meeting the design specifications and functional requirements.

[0004] In traditional register verification methods, generally, a pre-generated register model is used to maintain the register information in each circuit module. However, since the register lists of the instantiated multiple circuit modules are the same, and only one register's attribute value can be stored at one address in the register model, the traditional register model can only be used for the register verification work of non-instantiated multiple circuit modules and cannot be used for the register verification work of instantiated multiple circuit modules. In the prior art, if it is necessary to verify the registers in the instantiated multiple circuit modules with the broadcast access method, it is necessary to establish a special test case to test the functions related to the broadcast access, which reduces the real-time performance and coverage of the verification. In the case of a large number of circuit module instantiations or a large number of registers, the register attribute array will also increase geometrically, which also increases the challenge of maintaining the verification platform. Summary of the Invention

[0005] The present invention provides a register configuration method, apparatus, device and medium, which can realize the register verification of the instantiated multiple circuit modules and reduce the complexity of the verification platform.

[0006] According to one aspect of the present invention, there is provided a register configuration method, which is cooperatively executed by a register control module and a register comparison module in a chip verification platform, including:

[0007] Through the register control module, when it is determined that the obtained register operation instruction is a front-door issued register configuration transaction, the register operation instruction is sent to the register model, and the register information of the register to be configured returned by the register model is obtained;

[0008] Through the register control module, according to the register information and the register operation instruction, generate a register configuration transaction, and send the register configuration transaction to the system under test for the system under test to perform attribute configuration on the register to be configured;

[0009] Through the register control module, according to the register information and the register operation instruction, update the attributes of the register to be configured in the register model or the additional register model;

[0010] Through the register comparison module, when it monitors that the system under test performs a register configuration operation, perform attribute comparison according to the interface information of the system under test, the register model, and the additional register model.

[0011] According to another aspect of the present invention, there is provided a register configuration device, which is cooperatively executed by the register control module and the register comparison module in the chip verification platform, and includes:

[0012] A register information acquisition unit, configured to, through the register control module, when it is determined that the obtained register operation instruction is a front-door issued register configuration transaction, send the register operation instruction to the register model, and acquire the register information of the register to be configured returned by the register model;

[0013] A configuration transaction issuing unit, configured to, through the register control module, generate a register configuration transaction according to the register information and the register operation instruction, and send the register configuration transaction to the system under test for the system under test to perform attribute configuration on the register to be configured;

[0014] A register attribute maintenance unit, configured to, through the register control module, update the attributes of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction;

[0015] An attribute comparison unit, configured to, through the register comparison module, when it monitors that the system under test performs a register configuration operation, perform attribute comparison according to the interface information of the system under test, the register model, and the additional register model.

[0016] According to another aspect of the present invention, there is provided an electronic device, and the electronic device includes:

[0017] At least one processor; and

[0018] A memory communicatively connected to the at least one processor; wherein,

[0019] The memory stores a computer program executable by the at least one processor. When executed by the at least one processor, the computer program enables the at least one processor to execute the register configuration method according to any embodiment of the present invention.

[0020] According to another aspect of the present invention, there is provided a computer-readable storage medium storing computer instructions for implementing the register configuration method according to any embodiment of the present invention when executed by a processor.

[0021] In the technical solution of the embodiment of the present invention, through the register control module, when it is determined that a register configuration transaction is obtained from the front door, a register operation instruction is sent to the register model, and register information is obtained. Through the register control module, a register configuration transaction is generated and sent to the system under test. Through the register control module, the attributes of the register to be configured are updated in the register model or the additional register model. Through the register comparison module, when it is monitored that the system under test performs a register configuration operation, according to the interface information of the system under test, the register model, and the additional register model, the attributes are compared. This method does not affect the existing use of registers in the test platform, is compatible with the original register access method, has portability and popularity, and can replace test cases, simplifies the complexity of the test platform, and makes the overall architecture of the test platform clearer. The register information can be monitored in real time, improving the accuracy and speed of register verification, and effectively solving the problem of verifying the coexistence of a shared set of register models and register address segments, broadcast access mode and gated module access mode in multiple instantiated circuit modules in chip verification.

[0022] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present invention, nor is it used to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0024] Figure 1 is a flowchart of a register configuration method according to Embodiment 1 of the present invention;

[0025] Figure 2 is a schematic structural diagram of a chip verification platform according to an embodiment of the present invention;

[0026] Figure 3 is a schematic structural diagram of an existing chip verification platform provided according to an embodiment of the present invention;

[0027] Figure 4 is a schematic diagram of a register model provided according to an embodiment of the present invention;

[0028] Figure 5 is a flowchart of a register configuration method for a front-door issued register configuration transaction provided according to Embodiment II of the present invention;

[0029] Figure 6 is a flowchart of a register configuration method when accessing a register through the back door provided according to Embodiment III of the present invention;

[0030] Figure 7 is a schematic structural diagram of a register configuration device provided according to Embodiment IV of the present invention;

[0031] Figure 8 is a schematic structural diagram of an electronic device for implementing the register configuration method of the embodiment of the present invention. Detailed implementation manners

[0032] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying 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 the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

[0033] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products, or devices.

[0034] Embodiment I

[0035] Figure 1The flowchart of a register configuration method provided by Embodiment 1 of the present invention. This embodiment is applicable to the situation of real-time verification of register configuration in a chip. This method can be executed by a register configuration device, which can be implemented in the form of hardware and / or software and is generally configured in a chip verification platform with data processing functions. As Figure 1 shown, the method includes:

[0036] S110. Through the register control module, when it is determined that the obtained register operation instruction is a front-door issued register configuration transaction, send the register operation instruction to the register model, and obtain the register information of the register to be configured returned by the register model.

[0037] Optionally, Figure 2 The structural schematic diagram of a chip verification platform provided by an embodiment of the present invention. As Figure 2 shown, the chip verification platform includes a register control module, a register comparison module, a register model, an additional register model, and a system under test.

[0038] Optionally, the system under test may refer to the chip to be verified. The system under test includes multiple circuit modules. The circuit modules can be un-instantiated multiple circuit modules or instantiated multiple circuit modules, and the circuit modules may include multiple registers. Since in most usage scenarios, the configuration values of the registers in the instantiated multiple circuit modules are the same, if each instantiated multiple circuit module is assigned an independent address segment, it will greatly occupy the address space of the control bus and affect the address allocation. Therefore, in currently designed chips, the register lists in the instantiated multiple circuit modules are the same.

[0039] Furthermore, the register model is generated by the verification platform according to the register list of the chip. Therefore, only the data of one register is stored at one address in the register model.

[0040] Figure 3 The structural schematic diagram of an existing chip verification platform. As Figure 3As shown in the figure, in the existing chip verification platform, it only includes a register model, a register processing module, and a system under test. When configuring registers according to the existing chip verification platform, the register model cannot maintain all the register attributes of multiple instantiated circuit modules. Therefore, in the prior art, test cases are generally established, and an attribute array of multiple instantiated circuit modules is established in the test cases to save the attribute values of multiple instantiated circuit modules. However, through the method of test cases, it is impossible to monitor any register access in real time like the register model, which reduces the real-time performance and coverage rate of verification. If the number of circuit module instantiations or the number of registers is large, the register attribute array will increase geometrically, with a high complexity, and the challenge of maintaining the verification platform will also increase.

[0041] Figure 4 It is a schematic diagram of an optional register model. As Figure 4 shown, this chip includes circuit module A and circuit module E that are not instantiated multiple times, and also includes circuit modules B, C, and D that are instantiated multiple times. Among them, the registers of circuit modules B1, B2, ……, Bn share a section of register address, the registers of circuit modules C1, C2, ……, Cm share a section of register address, and the registers of circuit modules D1, D2, ……, Dp share a section of register address.

[0042] In an optional example, when circuit module B is instantiated into circuit modules B1, B2, ……, Bn, if circuit module B1 includes register 1, register 2, and register 3, then circuit modules B2, ……, Bn also include register 1, register 2, and register 3. This is only for illustrative purposes.

[0043] Optionally, in order to solve the problem in the prior art that only one register's attribute value can be saved at one address in the register model and it can only be used for the register verification work of circuit modules that are not instantiated multiple times, the present invention proposes to add an additional register model to the chip verification platform to maintain the register information of circuit modules instantiated multiple times through the additional register model.

[0044] Optionally, the front-door issued register configuration transaction can refer to issuing the register configuration transaction to the system under test through a standardized method such as an interface or a communication channel.

[0045] Optionally, in the register model proposed by the present invention, the register model can maintain the register information and attribute values of the un-instantiated multiple circuit modules. At the same time, the register model also includes the register information of the instantiated multiple circuit modules. The register information can be information such as address, name, the circuit module to which it belongs, and whether the circuit module to which it belongs is an instantiated multiple circuit module. However, the register model does not maintain the register attributes of the instantiated multiple circuit modules. The additional register model is not restricted by the address. The additional register model can maintain the register attributes of the instantiated multiple circuit modules, and the registers in the instantiated multiple circuit modules are all identified by the register name. For example, the additional register can maintain the circuit module B2, the register x, and the attribute value.

[0046] Optionally, the register operation instruction may include the name or address of the register to be configured, and may also include the attribute value to be configured for the register to be configured, so as to replace the original attribute value of the register to be configured in the chip according to the attribute value in the register operation instruction.

[0047] Optionally, after the register control module receives the register operation instruction, it sends the register operation instruction to the register model, so that the register model can obtain the register information of the register to be configured in the register model according to the register name or address in the register operation instruction, and return the register information of the register to be configured to the register control module.

[0048] Optionally, the returned register information of the register to be configured may include the address of the register to be configured, the information of the circuit module to which the register to be configured belongs, and the name of the register to be configured. If the register to be configured belongs to the instantiated multiple circuit modules, the returned register information of the register to be configured may also include the selection module information in the circuit module to which the register to be configured belongs.

[0049] S120. Through the register control module, generate a register configuration transaction according to the register information and the register operation instruction, and send the register configuration transaction to the system under test for the system under test to perform attribute configuration on the register to be configured.

[0050] Optionally, through the register control module, after obtaining the register address of the register to be configured, it can determine the target attribute value of each attribute to be configured for the register to be configured according to the register operation instruction, combine the register address and the target attribute value to generate a register configuration transaction, and send the register configuration transaction to the system under test for the system under test to determine the register to be configured according to the register address and update the attribute value of the register to be configured to the target attribute value.

[0051] Optionally, for circuit modules instantiated multiple times, a selection module may be included, which can be used to configure the circuit module as a broadcast access mode or a gated module mode.

[0052] Optionally, if the circuit module is configured in broadcast access mode, one address can correspond to registers with the same name in each instantiated multiple circuit modules. For example, when the circuit module B is not instantiated multiple times, the address adress_0 can correspond to the register x in the circuit module B. When the circuit module B is instantiated as circuit modules B1, B2,..., Bn, the address adress_0 can correspond to the register x in each of the circuit modules B1, B2,..., Bn.

[0053] Optionally, if the circuit module is configured in gated module mode, one address only corresponds to a specified register in a certain circuit module among the instantiated multiple circuit modules, and the specific corresponding circuit module can also be configured through the selection module. For example, for the circuit module B instantiated multiple times, the selection module can configure the address adress_0 to correspond to the register x in the circuit module B2.

[0054] Furthermore, if in the register configuration transaction received by the system under test, the register to be configured belongs to a circuit module not instantiated multiple times, it can be directly configured according to the register address and the target attribute value of the register to be configured; if the register to be configured belongs to a circuit module instantiated multiple times and the circuit module is configured in broadcast access mode, each register belonging to the register address is configured according to the target attribute value; if the register to be configured belongs to a circuit module instantiated multiple times and the circuit module is configured in broadcast access mode, the register specified for the register address in the selection module is configured according to the target attribute value.

[0055] S130. Through the register control module, update the attributes of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction.

[0056] Optionally, in order to verify the reliability and accuracy of the register configuration, it is necessary to maintain the attribute values of the register to be configured in the register model or the additional register model while sending the register configuration transaction to the system under test, so as to facilitate subsequent viewing or comparison of the register attributes.

[0057] Optionally, through the register control module, it is determined whether the register to be configured belongs to the instantiated multiple circuit modules; if not, the corresponding register is directly determined in the register model according to the register address or name, and the attribute value of the register in the register model is updated according to the target attribute value; if so, at least one register is determined in the additional register model, and the attributes of the register determined in the additional register model are updated with the target attribute value.

[0058] Further, if the register to be configured belongs to the instantiated multiple circuit modules, the information of the circuit module to which the register to be configured belongs is used to determine whether the circuit module to which the register to be configured belongs is in the broadcast access mode or the strobe module mode. If it is in the broadcast access mode, all the instantiated circuit module names of the circuit module to which it belongs and the name of the register to be configured are determined, and all the registers in the additional register model that match the instantiated circuit module name and the name of the register to be configured are updated to the target attribute value; if it is in the strobe module mode, the target instantiated circuit module corresponding to the strobe module mode needs to be obtained, and the register in the target instantiated circuit module in the additional register model that corresponds to the name of the register to be configured is updated to the target attribute value.

[0059] S140. Through the register comparison module, when it is monitored that the register configuration operation is performed on the system under test, attribute comparison is performed according to the interface information, register model, and additional register model of the system under test.

[0060] Optionally, through the register comparison module, the register configuration operation on the interface of the system under test can be monitored in real time. When the interface information in the register configuration interface of the system under test is read, it is determined that the register configuration operation of the system under test is monitored.

[0061] Optionally, when the register configuration operation is monitored, the interface information can be parsed to obtain the register attributes and register address of the currently configured register in the system under test, and the register address is sent to the register model again to obtain the register information fed back by the register model to the register comparison module.

[0062] Further, after obtaining the register information, it is first necessary to determine whether it belongs to the register of the instantiated multiple circuit modules. If it belongs to the register of the instantiated multiple circuit modules, the state of the selection register is read later to determine whether it is in the broadcast access mode or the strobe module access mode, and then the attribute values of the corresponding register are obtained from the additional register model and compared with the monitored register configuration to complete the closed-loop inspection work of the register. If it belongs to the register of the non-instantiated multiple circuit modules, the attribute values of the register in the register model are obtained and compared with the attribute values obtained by parsing the interface information.

[0063] The technical solution of the embodiment of the present invention, through the register control module, when it is determined that a register configuration transaction is obtained from the front door, sends the register operation instruction to the register model, and obtains the register information. Through the register control module, a register configuration transaction is generated and sent to the system under test. Through the register control module, the attributes of the register to be configured are updated in the register model or the additional register model. Through the register comparison module, when it monitors that the system under test performs a register configuration operation, according to the interface information of the system under test, the register model, and the additional register model, the method of attribute comparison does not affect the existing test platform's use of registers, is compatible with the original register access method, has portability and popularity, and can replace test cases, simplifies the complexity of the test platform, and makes the overall architecture of the test platform clearer. The register information can be monitored in real time, improving the accuracy and speed of register verification, and effectively solving the problem of verifying the coexistence of a set of register models and register address segments, broadcast access mode and gated module access mode for registers in multiple instantiated circuit modules in chip verification.

[0064] Embodiment 2

[0065] Figure 5 The flowchart of a register configuration method for a register configuration transaction sent from the front door provided by the second embodiment of the present invention. Based on the above embodiments, this embodiment specifically describes the register configuration method for a register configuration transaction sent from the front door. As Figure 5 shown, the method includes:

[0066] S210. Through the register control module, when it is determined that the obtained register operation instruction is a register configuration transaction sent from the front door, send the register operation instruction to the register model, and obtain the register information of the register to be configured returned by the register model.

[0067] Optionally, the register information of the register to be configured includes the register address of the register to be configured, the first circuit module information of the first circuit module to which the register to be configured belongs, and the first register name; when the register to be configured belongs to multiple instantiated circuit modules, the register information of the register to be configured further includes the first selection module information of the first circuit module.

[0068] Optionally, the first circuit module may refer to the circuit module to which the register to be configured in the register operation instruction belongs, the first register name is the register name of the register to be configured, and the first circuit module information includes the first circuit module name and whether the first circuit module is a circuit module with multiple instantiations.

[0069] S220. Through the register control module, determine the target attribute values of each attribute of the register to be configured according to the register operation instruction, and generate a register configuration transaction according to the register address of the register to be configured and the target attribute values of each attribute.

[0070] S230. Through the register control module, send the register configuration transaction to the system under test for the system under test to configure the attributes of the register to be configured.

[0071] Optionally, when the register configuration transaction is issued through the front door, the register configuration transaction is issued to the system under test through the interface in the system under test.

[0072] S240. Through the register control module, update the attributes of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction.

[0073] Optionally, the chip verification platform only needs to customize an additional register list for instantiating multiple circuit modules, and then use the automated tool ralgen to generate an additional register model. The additional register model stores the attribute values of each register of the instantiated multiple circuit modules, and there is no need to manually create an array to maintain.

[0074] The advantage of this setting is that it breaks through the address limitation of the register model, and at the same time increases the portability and maintainability of the verification platform. If there is a modification to the register or the circuit module, only the additional register list needs to be modified to complete the update of the additional register model.

[0075] Among them, through the register control module, updating the attributes of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction may include any of the following:

[0076] Through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the circuit module that is not instantiated multiple times, locate the first register to be configured in the register model according to the first register name or register address, and update each attribute array of the first register to be configured with the target attribute value;

[0077] Through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the circuit module that is instantiated multiple times, update the attributes of the register to be configured in the additional register model according to the register information and the register operation instruction.

[0078] Optionally, the register model maintains the attributes of multiple un-instantiated circuit modules. The register model stores the names, addresses, names of the circuit modules to which the registers belong, whether the circuit modules to which the registers belong are instantiated circuit modules, and the register attribute arrays. After determining the address or name of the registers of multiple un-instantiated circuit modules, the attribute array of the register can be directly located in the register model.

[0079] Optionally, the first register name is a combination of the module name of the circuit module to which the register belongs and the register name. For example, register x of circuit module B2. Such a naming method can accurately locate the register in the register model and the additional register model.

[0080] Optionally, if the register to be configured belongs to multiple un-instantiated circuit modules, the first register to be configured can be directly located in the register model according to the first register name or the register address.

[0081] Among them, through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to multiple instantiated circuit modules, the attributes of the register to be configured are updated in the additional register model according to the register information and the register operation instruction, which may include:

[0082] Through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to multiple instantiated circuit modules, the register configuration method of the first circuit module is determined to be the broadcast access method or the strobe module method according to the first selection module information;

[0083] Through the register control module, if the register configuration method is the broadcast access method, multiple second registers to be configured are located in the additional register model according to the first register name, and the attribute arrays of each second register to be configured are respectively updated with the target attribute value; among them, each second register to be configured belongs to each instantiated circuit module of the first circuit module;

[0084] Through the register control module, if the register configuration method is the strobe module method, the first instantiated circuit module in the first circuit module is determined according to the first selection module information, and the third register to be configured is located in the additional register according to the first register name and the first instantiated circuit module, and the attribute arrays of the third register to be configured are updated with the target attribute value.

[0085] Optionally, the register model also maintains the addresses, names, names of the circuit modules to which the registers belong, whether the circuit module is an instantiated circuit module, and the register configuration method as a broadcast access method or a gated module method. If it is a gated module method, it also includes the module name specified by the gated module. After obtaining the above information in the register model, the attribute array of the register can be located in the additional register model. In the additional register model, each register information includes the register name and the attribute array.

[0086] Optionally, if multiple circuit modules are instantiated, one register address corresponds to the registers with the same name in each of the multiple instantiated circuit modules. The first register name can include the specified registers in each of the multiple instantiated circuit modules. For example, it can be register x of circuit module B1, register x of circuit module B2,..., register x of circuit module Bn.

[0087] Optionally, if it is a broadcast access method, all the registers in the additional register model that belong to the first register name are determined as the second registers to be configured.

[0088] Optionally, if it is a gated module method, the first instantiated circuit module specified in the multiple instantiated circuit modules is determined according to the first selection module information. For example, circuit module B2 in each instantiated circuit module of specified circuit module B. At this time, the first register name that matches the first instantiated circuit module is determined in the first register name. For example, register x of circuit module B2. Then, according to the first register name that matches the first instantiated circuit module, the third register to be configured is determined in the additional register.

[0089] S250. Through the register comparison module, when it monitors that the system under test performs a register configuration operation, it parses the interface information of the system under test, obtains the target address of the currently configured register in the system under test and the first attribute value of each attribute of the currently configured register, and sends the target address to the register model to obtain the register information of the currently configured register returned by the register model.

[0090] Optionally, the first attribute value can refer to the attribute value obtained by parsing the interface information, and the target address can refer to the address of the currently configured register in the system under test. After sending the target address to the register model, the register information of the currently configured register feedback by the register model can be obtained, which can include the name, address, name of the circuit module to which the register belongs, whether the circuit module is a multiple instantiated circuit module. If it is a multiple instantiated circuit module, the register information of the currently configured register also includes the register configuration method as a broadcast access method or a gated module method. If it is a gated module method, it also includes the module name specified by the gated module.

[0091] S260. Through the register comparison module, perform attribute comparison with the register model or the additional register model according to the register information of the current configuration register and the first attribute value.

[0092] Among them, the register information of the current configuration register includes the second register name of the current configuration register, the second circuit module information of the second circuit module to which the current configuration register belongs, and the second selection module information of the second circuit module; if the second circuit module belongs to the un-instantiated multiple circuit modules, the register information of the current configuration register further includes the second attribute value of each attribute of the current configuration register stored in the register module.

[0093] Optionally, performing attribute comparison with the register model or the additional register model through the register comparison module according to the register information of the current configuration register and the first attribute value may include any of the following:

[0094] Through the register comparison module, when it is determined according to the second circuit module information that the current configuration register belongs to the un-instantiated multiple circuit modules, compare the first attribute value with the second attribute value to obtain the comparison result of the register configuration;

[0095] Through the register comparison module, when it is determined according to the second circuit module information that the current configuration register belongs to the instantiated multiple circuit modules, perform attribute comparison with the additional register model according to the register information of the current configuration register and the first attribute value.

[0096] Optionally, if the currently configured register belongs to the un-instantiated multiple circuit modules, the second attribute value of the register can be directly obtained in the register model, and the second attribute value is the attribute value of the register saved in the register model. If the first attribute value is the same as the second attribute value, it is determined that the configured value of the register in the register model is the same as that in the system under test, and the closed-loop check of the register configuration is completed.

[0097] Optionally, through the register comparison module, when it is determined according to the second circuit module information that the current configuration register belongs to the instantiated multiple circuit modules, performing attribute comparison with the additional register model according to the register information of the current configuration register and the first attribute value may include:

[0098] Through the register comparison module, when it is determined according to the second circuit module information that the current configuration register belongs to the instantiated multiple circuit modules, determine the register configuration method of the second circuit module as the broadcast access method or the strobe module method according to the second selection module information;

[0099] Through the register comparison module, if it is a broadcast access mode, according to the second register name, obtain the attribute values of multiple first registers in the additional register model, and compare the attribute values of each first register with the first attribute value respectively to obtain the comparison result of the register configuration; wherein, each first register belongs to each instantiated circuit module of the second circuit module.

[0100] Through the register comparison module, if it is a strobe module mode, determine the second instantiated circuit module in the second circuit module according to the second selection module information, and locate the second register in the additional register according to the second register name and the second instantiated circuit module, and compare the attribute value of the second register with the first attribute value to obtain the comparison result of the register configuration.

[0101] Optionally, if the currently configured register belongs to a circuit module with multiple instantiations, determine the corresponding register in the additional register model according to the register information of the currently configured register, and then compare the attribute value saved in the additional register model with the first attribute value.

[0102] Optionally, the method for determining the currently configured register in the additional register model according to the register information of the currently configured register is similar to the method for determining the register to be configured in the additional register model in step S240, and will not be elaborated here.

[0103] The technical solution of the embodiment of the present invention, by using the register control module, when it is determined that a register configuration transaction is obtained from the front door, send the register operation instruction to the register model, and obtain the register information, use the register control module to generate a register configuration transaction, and send the register configuration transaction to the system under test, use the register control module to update the attributes of the register to be configured in the register model or the additional register model, use the register comparison module, when it monitors that the system under test performs a register configuration operation, according to the interface information of the system under test, the register model and the additional register model, perform the method of attribute comparison, does not affect the existing test platform's use of registers, is compatible with the original register access mode, has portability and popularity, and can replace test cases, simplifies the complexity of the test platform, and also makes the overall architecture of the test platform clearer. The register information can be monitored in real time, improving the accuracy and speed of register verification, and effectively solving the problem of verifying the coexistence of a set of register models and register address segments, broadcast access mode and strobe module access mode for registers in multiple instantiated circuit modules in chip verification.

[0104] Embodiment III

[0105] Figure 6The figure is a flowchart of a register configuration method when accessing a register through a backdoor according to Embodiment 3 of the present invention. Based on the above embodiments, this embodiment specifically describes the register configuration method when accessing a register through a backdoor. As Figure 6 shown, the method includes:

[0106] S310. Through the register control module, when it is determined that the obtained register operation instruction is a backdoor access to a register, send the register operation instruction to the register model, and obtain the second register name of the register to be configured returned by the register model.

[0107] Optionally, accessing a register through a backdoor may refer to directly obtaining the backdoor access address of the register, so as to configure the attribute value of the register directly through the backdoor access address of the register without modifying the register configuration through an interface.

[0108] Optionally, since there is only one register bank in the register model, only one register bank can be accessed when implementing backdoor access, and backdoor access cannot be performed on other register banks. The backdoor access path is of string type. If backdoor access is to be implemented, then multiple instantiated circuit modules need to be saved, such as circuit modules B1, B2,..., Bn, circuit modules C1, C2,..., Cm, circuit modules D1, D2,..., Dp. The backdoor access paths of all registers of these circuit modules need to be saved. In an existing chip, the number of instantiated circuit modules and registers actually set is relatively large. If the backdoor access paths are saved manually, the workload is extremely large, and multiple-level selection and judgment are required, which is not conducive to the maintenance of the verification platform.

[0109] In the embodiment of the present invention, an additional register model can provide the backdoor access paths of the registers corresponding to each instantiated circuit module. When the register control module receives a module register operation, after instruction analysis and processing, if the operation type is backdoor access, the backdoor access path of the corresponding module register can be directly obtained from the additional register model, and the backdoor access operation is completed by calling the backdoor access function built in the UVM (Universal Verification Methodology) function library. The introduction of the additional register model solves the problem of the backdoor access path.

[0110] It can be understood that if the method of saving the backdoor access path in the prior art is adopted, when obtaining the backdoor access path, it is necessary to traverse all the register backdoor access paths to determine the backdoor access path of the register to be configured. By instantiating an additional register model, not only the problem that the backdoor access paths of the registers in each instantiated multiple circuit modules cannot be saved in the existing register model is solved, but also the backdoor access path corresponding to the name can be quickly obtained after inputting the second register name.

[0111] Optionally, the second register name may include the circuit module name to which the register to be configured belongs and the register name.

[0112] S320. Through the register control module, obtain the backdoor access address corresponding to the second register name in the additional register model, and determine the second attribute values of the attributes of the register to be configured according to the register operation instruction.

[0113] S330. Through the register control module, call the backdoor access function, and configure the attributes of the register to be configured in the system under test according to the backdoor access address and the second attribute values.

[0114] Optionally, the backdoor access function can be the built-in backdoor access function in the UVM function library.

[0115] Optionally, for the backdoor access register, after obtaining the backdoor access address, the register can be directly accessed according to the backdoor access address, and the attribute value of the register is updated to the second attribute value.

[0116] The technical solution of the embodiment of the present invention, by using the register control module, when it is determined that the obtained register operation instruction is a backdoor access register, the register operation instruction is sent to the register model, and the second register name of the register to be configured returned by the register model is obtained. The backdoor access address corresponding to the second register name is obtained in the additional register model, and the second attribute values of the attributes of the register to be configured are determined according to the register operation instruction. The backdoor access function is called, and the attributes of the register to be configured in the system under test are configured according to the backdoor access address and the second attribute values. In this way, the backdoor access paths of the registers in the instantiated multiple circuit modules can be quickly obtained through the additional register model. For a chip with a large number of registers, the workload of chip designers can be greatly reduced. Moreover, during the register configuration process, the backdoor access path can be quickly obtained, improving the register configuration efficiency.

[0117] Embodiment 4

[0118] Figure 7 This is a schematic structural diagram of a register configuration device provided in Embodiment 4 of the present invention. AsFigure 7 As shown in Figure 7 , the device includes: a register information acquisition unit 410, a configuration transaction sending unit 420, a register attribute maintenance unit 430, and an attribute comparison unit 440.

[0119] The register information acquisition unit 410 is configured to, through a register control module, when it is determined that the obtained register operation instruction is a front-door issued register configuration transaction, send the register operation instruction to a register model, and acquire the register information of the register to be configured returned by the register model.

[0120] The configuration transaction sending unit 420 is configured to, through a register control module, generate a register configuration transaction according to the register information and the register operation instruction, and send the register configuration transaction to a system under test for the system under test to perform attribute configuration on the register to be configured.

[0121] The register attribute maintenance unit 430 is configured to, through a register control module, update the attributes of the register to be configured in a register model or an additional register model according to the register information and the register operation instruction.

[0122] The attribute comparison unit 440 is configured to, through a register comparison module, when it monitors that the system under test performs a register configuration operation, perform attribute comparison according to the interface information of the system under test, the register model, and the additional register model.

[0123] The technical solution of the embodiment of the present invention, through a register control module, when it is determined that a front-door issued register configuration transaction is obtained, sends the register operation instruction to a register model, and acquires register information, through a register control module, generates a register configuration transaction, and sends the register configuration transaction to a system under test, through a register control module, updates the attributes of the register to be configured in a register model or an additional register model, through a register comparison module, when it monitors that the system under test performs a register configuration operation, performs attribute comparison according to the interface information of the system under test, the register model, and the additional register model, does not affect the use of registers by the existing test platform, is compatible with the original register access method, has portability and popularity, and can replace test cases, simplifies the complexity of the test platform, and also makes the overall architecture of the test platform clearer. The register information can be monitored in real time, improves the accuracy and speed of register verification, and effectively solves the problem of verifying the coexistence of a set of register models and register address segments shared by registers in multiple instantiated circuit modules, broadcast access mode and gated module access mode in chip verification.

[0124] Based on the above embodiments, the register information of the register to be configured includes the register address of the register to be configured;

[0125] Configure a transaction issuing unit 420, which can be specifically used for:

[0126] Through the register control module, according to the register operation instruction, determine the target attribute values of the attributes of the register to be configured, and generate a register configuration transaction according to the register address of the register to be configured and the target attribute values of the attributes.

[0127] Based on the above embodiments, the register information of the register to be configured further includes the first circuit module information of the first circuit module to which the register to be configured belongs and the first register name;

[0128] The register attribute maintenance unit 430 may include:

[0129] The uninstantiated multiple circuit module register maintenance subunit is used to, through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the uninstantiated multiple circuit modules, locate the first register to be configured in the register model according to the first register name or the register address, and update the attribute arrays of the first register to be configured with the target attribute values;

[0130] The instantiated circuit module register maintenance subunit is used to, through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the instantiated multiple circuit modules, update the attributes of the register to be configured in the additional register model according to the register information and the register operation instruction.

[0131] Based on the above embodiments, when the register to be configured belongs to the instantiated multiple circuit modules, the register information of the register to be configured further includes the first selection module information of the first circuit module;

[0132] The instantiated circuit module register maintenance subunit can be specifically used for:

[0133] Through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the instantiated multiple circuit modules, determine that the register configuration method of the first circuit module is the broadcast access method or the strobe module method according to the first selection module information;

[0134] Through the register control module, if the register configuration method is the broadcast access method, locate multiple second registers to be configured in the additional register model according to the first register name, and update the attribute arrays of each second register to be configured with the target attribute values respectively; wherein, each second register to be configured belongs to each instantiated circuit module of the first circuit module;

[0135] Through the register control module, if the register configuration mode is the gated module mode, determine the first instantiated circuit module in the first circuit module according to the first selection module information, and locate the third register to be configured in the additional register according to the first register name and the first instantiated circuit module, and update each attribute array of the third register to be configured with the target attribute value.

[0136] Based on the above embodiments, the attribute comparison unit 440 may include:

[0137] An interface information parsing subunit, configured to parse the interface information of the system under test through a register comparison module, obtain the target address of the currently configured register in the system under test and the first attribute value of each attribute of the currently configured register, and send the target address to the register model to obtain the register information of the currently configured register returned by the register model;

[0138] An information comparison subunit, configured to perform attribute comparison with the register model or the additional register model through the register comparison module according to the register information and the first attribute value of the currently configured register;

[0139] Wherein, the register information of the currently configured register includes the second register name of the currently configured register, the second circuit module information of the second circuit module to which the currently configured register belongs, and the second selection module information of the second circuit module; if the second circuit module belongs to an uninstantiated multiple circuit module, the register information of the currently configured register further includes the second attribute value of each attribute of the currently configured register stored in the register module.

[0140] Based on the above embodiments, the information comparison subunit may be configured to perform any one of the following:

[0141] Through the register comparison module, when it is determined according to the second circuit module information that the currently configured register belongs to an uninstantiated multiple circuit module, compare the first attribute value with the second attribute value to obtain the comparison result of the register configuration;

[0142] Through the register comparison module, when it is determined according to the second circuit module information that the currently configured register belongs to an instantiated multiple circuit module, perform attribute comparison with the additional register model according to the register information and the first attribute value of the currently configured register.

[0143] Based on the above embodiments, the information comparison subunit may be further specifically configured to:

[0144] Through the register comparison module, when it is determined according to the second circuit module information that the current configuration register belongs to multiple instantiated circuit modules, the register configuration method of the second circuit module is determined to be the broadcast access method or the strobe module method according to the second selection module information;

[0145] Through the register comparison module, if it is the broadcast access method, then according to the second register name, obtain the attribute values of multiple first registers in the additional register model, and compare the attribute values of each first register with the first attribute value respectively to obtain the comparison result of the register configuration; wherein, each first register belongs to each instantiated circuit module of the second circuit module;

[0146] Through the register comparison module, if it is the strobe module method, then determine the second instantiated circuit module in the second circuit module according to the second selection module information, and locate the second register in the additional register according to the second register name and the second instantiated circuit module, and compare the attribute value of the second register with the first attribute value to obtain the comparison result of the register configuration.

[0147] Based on the above embodiments, it may further include a backdoor access unit for:

[0148] Through the register control module, when it is determined that the obtained register operation instruction is a backdoor access register, send the register operation instruction to the register model, and obtain the second register name of the register to be configured returned by the register model;

[0149] Through the register control module, obtain the backdoor access address corresponding to the second register name in the additional register model, and determine the second attribute value of each attribute of the register to be configured according to the register operation instruction;

[0150] Through the register control module, call the backdoor access function, and configure the attributes of the register to be configured in the system under test according to the backdoor access address and the second attribute value.

[0151] The register configuration device provided by the embodiments of the present invention can execute the register configuration method provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the method.

[0152] Embodiment Five

[0153] Figure 8The schematic structural diagram of an electronic device 10 that can be used to implement the embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or claimed herein.

[0154] As Figure 8 shown, the electronic device 10 includes at least one processor 11, and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc. Among them, the memory stores a computer program executable by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.

[0155] A plurality of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disc, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0156] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as the register configuration method described in the embodiments of the present invention. That is:

[0157] Through the register control module, when it is determined that the obtained register operation instruction is a front-door issued register configuration transaction, the register operation instruction is sent to the register model, and the register information of the register to be configured returned by the register model is obtained;

[0158] Through the register control module, according to the register information and the register operation instruction, a register configuration transaction is generated, and the register configuration transaction is sent to the system under test for the system under test to perform attribute configuration on the register to be configured;

[0159] Through the register control module, according to the register information and the register operation instruction, the attributes of the register to be configured are updated in the register model or the additional register model;

[0160] Through the register comparison module, when it is monitored that the system under test performs a register configuration operation, attribute comparison is performed according to the interface information of the system under test, the register model, and the additional register model.

[0161] In some embodiments, the register configuration method can be implemented as a computer program, which is tangibly included in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the register configuration method described above can be executed. Alternatively, in other embodiments, the processor 11 can be configured to execute the register configuration method by any other suitable means (e.g., by means of firmware).

[0162] The various embodiments of the systems and techniques described above in this document can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, the programmable processor can be a dedicated or general-purpose programmable processor, and can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0163] A computer program for implementing the method of the present invention can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, a special purpose computer, or other programmable data processing device, such that the computer programs, when executed by the processor, cause the functions / operations specified in the flowchart and / or block diagram to be implemented. The computer programs can be executed entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine, or entirely on the remote machine or server.

[0164] In the context of the present invention, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0165] In order to provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0166] The systems and techniques described herein can be implemented in a computing system including backend components (e.g., as a data server), or a computing system including middleware components (e.g., an application server), or a computing system including frontend components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or a computing system including any combination of such backend components, middleware components, or frontend components. The components of the system can be interconnected with each other by digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.

[0167] A computing system can include a client and a server. The client and the server are generally remote from each other and typically interact via a communication network. The client-server relationship is created by computer programs running on respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or a cloud host, which is a host product in the cloud computing service system and solves the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services.

[0168] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in the present invention can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solution of the present invention can be achieved, and no limitation is imposed herein.

[0169] The above specific embodiments do not constitute a limitation on the protection scope of the present invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims

1. A register configuration method, characterized in that: The register control module and register comparison module in the chip verification platform cooperate to execute the following operations: When it is determined through the register control module that the acquired register operation instruction is a register configuration transaction issued by the front door, the register operation instruction is sent to the register model, and the register information of the register to be configured returned by the register model is acquired; Generate a register configuration transaction according to the register information and the register operation instruction through a register control module, and send the register configuration transaction to the system under test so that the system under test can perform attribute configuration on the register to be configured; By means of a register control module, updating the attribute of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction; Through the register comparison module, when the system under test is monitored to perform register configuration operations, attribute comparison is performed based on the interface information, register model and additional register model of the system under test; Wherein, the register information of the register to be configured further includes first circuit module information of the first circuit module to which the register to be configured belongs and a first register name; By means of a register control module, according to the register information and the register operation instruction, updating the attribute of the register to be configured in the register model or the additional register model includes any of the following: By means of the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to a circuit module that has not been instantiated in multiple copies, the first register to be configured is located in the register model according to the first register name or register address, and each attribute array of the first register to be configured is updated using the target attribute values ​​of each attribute of the register to be configured; Through the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to multiple instantiated circuit modules, the attribute of the register to be configured is updated in the additional register model according to the register information and the register operation instruction.

2. The method according to claim 1, characterized in that The register information of the register to be configured includes the register address of the register to be configured; Generate a register configuration transaction according to the register information and the register operation instruction, including: The register control module determines the target attribute values ​​of various attributes of the register to be configured according to the register operation instruction, and generates a register configuration transaction according to the register address of the register to be configured and the target attribute values ​​of various attributes.

3. The method according to claim 2, characterized in that When the register to be configured belongs to multiple instantiated circuit modules, the register information of the register to be configured also includes first selection module information of the first circuit module; When it is determined through the register control module that the register to be configured belongs to the instantiated multiple copies of the circuit module according to the first circuit module information, the attribute of the register to be configured is updated in the additional register model according to the register information and the register operation instruction, including: By means of the register control module, when it is determined according to the first circuit module information that the register to be configured belongs to the instantiated multiple copies of the circuit module, it is determined according to the first selection module information that the register configuration mode of the first circuit module is the broadcast access mode or the gated module mode; Through the register control module, if the register configuration mode is a broadcast access mode, multiple second registers to be configured are located in the additional register model according to the first register name, and the attribute arrays of each second register to be configured are updated respectively by using the target attribute value; wherein each second register to be configured belongs to each instantiated circuit module of the first circuit module; Through the register control module, if the register configuration mode is the selection module mode, the first instantiated circuit module in the first circuit module is determined according to the first selection module information, and the third register to be configured is located in the additional register according to the first register name and the first instantiated circuit module, and the attribute arrays of the third register to be configured are updated using the target attribute value.

4. The method according to any one of claims 1 to 3, characterized in that: Perform attribute comparison based on the interface information, register model, and additional register model of the system under test, including: The interface information of the system to be tested is parsed through the register comparison module to obtain the target address of the current configuration register in the system to be tested and the first attribute value of each attribute of the current configuration register, and the target address is sent to the register model to obtain the register information of the current configuration register returned by the register model; By means of a register comparison module, performing attribute comparison with a register model or an additional register model according to register information of a current configuration register and a first attribute value; Among them, the register information of the current configuration register includes the second register name of the current configuration register, the second circuit module information of the second circuit module to which the current configuration register belongs, and the second selection module information of the second circuit module; if the second circuit module belongs to an uninstantiated multiple circuit module, the register information of the current configuration register also includes the second attribute value of each attribute of the current configuration register stored in the register module.

5. The method according to claim 4, characterized in that By means of the register comparison module, according to the register information of the current configuration register and the first attribute value, an attribute comparison is performed with the register model or the additional register model, including any of the following: When it is determined by the register comparison module that the current configuration register belongs to a circuit module that has not been instantiated multiple times according to the second circuit module information, the first attribute value is compared with the second attribute value to obtain a comparison result of the register configuration; When it is determined through the register comparison module that the current configuration register belongs to the instantiated multiple circuit modules according to the second circuit module information, a property comparison is performed with the additional register model according to the register information of the current configuration register and the first property value.

6. The method according to claim 5, characterized in that When it is determined by the register comparison module that the current configuration register belongs to the instantiated multiple circuit modules according to the second circuit module information, a property comparison is performed with the additional register model according to the register information of the current configuration register and the first property value, including: When it is determined by the register comparison module that the current configuration register belongs to the instantiated multiple copies of the circuit module according to the second circuit module information, it is determined that the register configuration mode of the second circuit module is the broadcast access mode or the gated module mode according to the second selection module information; Through the register comparison module, if the access mode is broadcast, the attribute values ​​of multiple first registers are obtained in the additional register model according to the second register name, and the attribute values ​​of each first register are respectively compared with the first attribute value to obtain the comparison result of the register configuration; wherein each first register belongs to each instantiated circuit module of the second circuit module; Through the register comparison module, if it is a selection module mode, the second instantiated circuit module in the second circuit module is determined according to the second selection module information, and the second register is located in the additional register according to the second register name and the second instantiated circuit module, and the attribute value of the second register is compared with the first attribute value to obtain the comparison result of the register configuration.

7. The method according to claim 1, characterized in that Also includes: When it is determined through the register control module that the acquired register operation instruction is a backdoor access register, the register operation instruction is sent to the register model, and a second register name of the register to be configured returned by the register model is acquired; Obtaining, through the register control module, a backdoor access address corresponding to the second register name in the additional register model, and determining, according to the register operation instruction, second attribute values ​​of various attributes of the register to be configured; The backdoor access function is called through the register control module, and the property configuration is performed on the register to be configured in the system under test according to the backdoor access address and the second property value.

8. A register configuration device, characterized in that: The register control module and register comparison module in the chip verification platform cooperate to execute the following operations: A register information acquisition unit, configured to send the acquired register operation instruction to the register model through the register control module when determining that the acquired register operation instruction is a register configuration transaction issued by the front door, and acquire register information of the register to be configured returned by the register model; A configuration transaction issuing unit, configured to generate a register configuration transaction according to the register information and the register operation instruction through a register control module, and send the register configuration transaction to the system under test so that the system under test can perform attribute configuration on the register to be configured; A register attribute maintenance unit, configured to update the attribute of the register to be configured in the register model or the additional register model according to the register information and the register operation instruction through the register control module; The property comparison unit is used to perform property comparison according to the interface information, register model and additional register model of the system under test through the register comparison module when monitoring the system under test to perform register configuration operation; Wherein, the register information of the register to be configured further includes first circuit module information of the first circuit module to which the register to be configured belongs and a first register name; Register attribute maintenance unit, including: The uninstantiated multiple circuit module register maintenance subunit is used to locate the first register to be configured in the register model according to the first register name or register address, and update each attribute array of the first register to be configured by using the target attribute value of each attribute of the register to be configured through the register control module when it is determined that the register to be configured belongs to the uninstantiated multiple circuit modules according to the first circuit module information; The instantiated circuit module register maintenance subunit is used to update the properties of the register to be configured in the additional register model according to the register information and the register operation instruction through the register control module when it is determined that the register to be configured belongs to multiple instantiated circuit modules according to the first circuit module information.

9. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the register configuration method according to any one of claims 1 to 7 of the present invention.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the register configuration method according to any one of claims 1 to 7 when executed.

Citation Information

Patent Citations

  • Chip prototype verification method, device, equipment and medium

    CN112560372A