Method, system, equipment and medium for recording important signal behaviors through module bind
By using module bind to record important signal behaviors, the problem that UVM verification methods cannot monitor commands and data flows of non-UVM components in SoC is solved, file management is simplified, and verification efficiency and monitoring effectiveness are improved.
Patent Information
- Application Number
- CN202610451474.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-08
- Publication Date
- 2026-05-05
- Estimated Expiration
- 2046-04-08
AI Technical Summary
Existing UVM verification methods cannot monitor commands and data flows issued by non-UVM components in the SoC, and file management is complex, affecting the efficiency of setting up the verification environment.
By using module bind, the monitoring module file is bound to the DUT interface, the effective operation time point of the signal is identified, and the key signal behavior is recorded through intermediate variables. This is independent of UVM and simplifies file management.
It enables direct capture and recording of key signals, reduces the number of files, improves verification efficiency, and is suitable for monitoring in real SOC environments.
Smart Images

Figure CN121981035A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of verification technology, and specifically to a method, system, device, and medium for recording important signal behaviors through module bind. Background Technology
[0002] In current verification environments, UVM, as a widely used verification methodology, provides verification personnel with convenience and a relatively unified verification approach, reducing communication costs among them. UVM agents can act as masters or slaves, issuing or receiving commands and data streams. Verification personnel can record these commands and data streams using relevant sequences and save them to files for debugging by verification and design personnel. Simultaneously, verification personnel can also use sequences to obtain relevant signals from the DUT (Device Under Test) and combine them logically to examine its internal behavior.
[0003] The following is a simple example of recording master behavior using UVM sequence in existing technology: class example_seq_extends uvm_sequence; integer file_handle; function new(); super.new(); / / Save filename file_handle = $fopen("cfg.log"); endfunction / / Taking writing to a register as an example virtual task cpu_write_reg(input bit[31:0] addr, input bit[31:0]data); / / Use $fdisplay to write the address and data written by cpu_write_reg to the file. $fdisplay(file_handle, “0x%0h =>'h%0h, addr, data); endtask endclass However, this debugging method has limitations in SoCs. If the command issuer is the CPU and not the UVM agent, the command cannot be saved through the sequence, and there is no way to detect key signals. Furthermore, the agent requires layer-by-layer instantiation and configuration, making file management cumbersome and adding complexity to the setup of the verification environment. Summary of the Invention
[0004] The purpose of this invention is to overcome the shortcomings of the prior art and provide a method, system, device and medium for recording important signal behavior through module bind.
[0005] The objective of this invention is achieved through the following technical solution: Firstly, this application discloses a method for recording important signal behaviors through module binding, including: Create a new module file for monitoring; Configure the input ports of the module file according to all the signals that need to be monitored; The signals from the input ports are processed according to a preset protocol to identify the time points corresponding to valid operations in the signals. Set at least one intermediate variable. When a valid operation is detected, set the corresponding intermediate variable to the first state. When the detected valid operation is completed, set the corresponding intermediate variable to the second state. Create a log file to record relevant information of the identified valid operations; Bind the module file with the configured input ports to the specified DUT internal interface, and connect the input ports one by one with the signals to be monitored for recording the monitored signals.
[0006] Based on the first aspect, the preset protocols include the amba ahb protocol and the ddr protocol.
[0007] Based on the first aspect, the effective operation includes a read operation or a write operation.
[0008] Based on the first aspect, the processing of the input port signal according to the preset protocol specifically includes: If the default protocol is amba ahb, the system identifies whether the valid operation is a read or write operation based on the hwrite and htrans signals. If it is a write operation, the write operation flag is written to the log file, and the address and data of the write operation are also recorded in the log file. If it is a read operation, the read operation flag is written to the log file, and the data read from the address of the read operation is also recorded in the log file. If the default protocol is ddr protocol, then the operations MRS, REF, SRE, SRX, PRE, PRE, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL and ZQCS are identified by judging the CKE, CS_n, ACT_n, ADDR, BG, BA and C signals.
[0009] Based on the first aspect, if a write operation is detected, the first intermediate variable of the write operation is set to logic 1, and when the write operation is completed, the first intermediate variable is set to logic 0; if a read operation is detected, the second intermediate variable of the read operation is set to logic 1, and when the read operation is completed, the second intermediate variable is set to 0.
[0010] Based on the first aspect, the values represented by MRS, REF, SRE, SRX, PRE, PREA, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL, and ZQCS operations are assigned to a third intermediate variable. When viewing the waveform, the third intermediate variable is directly viewed to intuitively understand the commands issued by the ddr interface.
[0011] Secondly, this application discloses a system for recording important signal behaviors via module binding, and the method for recording important signal behaviors via module binding as described above includes: The input port definition module is used to set the input ports of the module file according to the signals to be monitored; The identification module is used to identify the time point corresponding to the valid operation in the signal according to a preset protocol; An intermediate state management module is used to set at least one intermediate variable, which is set to a first state when a valid operation is detected to begin, and to a second state when a valid operation is detected to end. The log triggering module is used to collect relevant information when a valid operation is detected and to send a log recording request. The log management module is used to create log files and write relevant information about valid operations into the log files according to the log recording request. The binding configuration module is used to bind the module file with the configured input ports to the specified internal interface of the DUT, and connect the input ports to the signals to be monitored one by one for recording the signals to be monitored.
[0012] Thirdly, this application discloses an electronic device, the electronic device comprising: Memory, which stores executable instructions; A processor that executes the executable instructions in the memory to implement the method described above for recording important signal behaviors via module bind.
[0013] Fourthly, this application discloses a computer storage medium storing a computer program, which is executed by a processor to implement the method described above for recording important signal behavior through module bind.
[0014] The beneficial effects of this invention are: 1) This application binds the pre-configured module file for monitoring to the specified DUT internal interface, which can directly capture the key signals to be monitored and the results of multiple signal combinations. At the same time, with the help of the state switching of intermediate variables, the start and end timing of effective operations can be clearly marked in the waveform.
[0015] 2) This application works independently of UVM, adopts an independent design, does not require layer-by-layer instantiation or configuration, greatly reduces the number of related files, and does not affect the reusability of files; thus lowering the threshold for use.
[0016] 3) This application can automatically record the identified valid operations to a separate log file for easy viewing; at the same time, this application can be used in a real SoC environment to monitor CPU commands and improve its verification system.
[0017] 4) This application allows for the reuse of common protocols, simplifying the work of verification personnel; verification personnel only need to adjust the input port according to the target protocol, which significantly improves the efficiency of verification work. Attached Figure Description
[0018] Figure 1 This is a flowchart illustrating the method for recording important signal behaviors via module bind according to an embodiment of the present invention. Detailed Implementation
[0019] The technical solution of the present invention will be clearly and completely described below with reference to the embodiments. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0020] This application discloses a method for recording important signal behaviors through module binding. Using the `bind` function in SystemVerilog, a pre-configured module file is bound to a specified DUT interface. This allows the system to operate independently of UVM (Underwriters Modem) while still monitoring commands and data streams issued by the actual master (non-UVM component) and received by the slave (non-UVM component). When monitoring specific combinational logic, the results can be directly displayed, visually represented in waveforms. For example, for variable `c`, the waveform of `c` can be directly viewed, and the times `c` is high can be recorded in a separate file, facilitating debugging. For instance, some CPUs have AHB (Automatic Bootstrap) interfaces; a corresponding module can be written according to the AHB protocol, bound to the CPU, and the AHB commands issued by the CPU can be monitored and recorded in real time. This application operates independently of UVM, eliminating the need for layered instantiation or configuration, significantly reducing the number of associated files without compromising file reusability.
[0021] The technical terms used in this application are explained below: UVM (Universal Verification Methodology) was officially released by Accellera in February 2011. UVM almost entirely inherits from OVM while also adopting the register-based solution from VMM. It is a verification methodology based on SystemVerilog and can also be viewed as a library, providing a series of interfaces. UVM can be used to build verification platforms for verifying the correct form of digital logic circuits.
[0022] Agent: A UVM agent consists of a driver, a monitor, and a sequencer. When in use, the entire agent can be invoked directly, eliminating the need to write separate drivers, monitors, and sequencers, greatly simplifying the verification process. In conjunction with an interface, the agent can be connected to a specific interface. By modifying the agent's operating mode (active or passive), it can effectively meet different verification requirements (actively generating stimuli or passively monitoring the interface).
[0023] Debug: Here, debug specifically refers to the process of debugging and analyzing problems during simulation, as well as the reasons for those problems.
[0024] DUT: an abbreviation for device under test, refers to an integrated circuit or electronic component whose performance is measured, analyzed, or verified during the testing process.
[0025] Interface: An interface is an important structure in SystemVerilog. It encapsulates a set of related signals, simplifying the connection between modules and enabling reuse.
[0026] AHB: Advanced High-Performance Bus, supporting 2-level pipelined operation.
[0027] The flowchart of the method is shown below. Figure 1 As shown, it specifically includes: Create a new module file for monitoring; Configure the input ports of the module file according to all the signals that need to be monitored. The signals from the input ports are processed according to a preset protocol to identify the time points corresponding to valid operations in the signals. Set at least one intermediate variable. When a valid operation is detected, set the corresponding intermediate variable to the first state. When the detected valid operation is completed, set the corresponding intermediate variable to the second state. This intermediate variable can be viewed visually in the waveform. Create a log file to record relevant information of the identified valid operations; Bind the module file with the configured input ports to the specified DUT internal interface, and connect the input ports one by one with the signals to be monitored for recording the monitored signals.
[0028] Specifically, the preset protocols include the amba ahb protocol and the ddr protocol. Amba ahb: Advanced Microcontroller Bus Architecture (amba), Advanced High Performance Bus (ahb); Ddr: DDR SDRAM (Double Data Rate Synchronous Dynamic Random Access Memory).
[0029] Specifically, the effective operations include read operations or write operations, etc.
[0030] Specifically, the processing of the input port signal according to the preset protocol includes: If the default protocol is Amb AHB, the system identifies whether a valid operation is a read or write operation based on the hwrite and htrans signals. If a write operation is identified, the write operation flag is written to the log file, and the address and data of the write operation are also recorded in the log file. If a read operation is identified, the read operation flag is written to the log file, and the data read from the address of the read operation is also recorded in the log file. If the default protocol is DDR, the system identifies MRS, REF, SRE, SRX, PRE, PREA, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL, and ZQCS operations by using the CKE, CS_n, ACT_n, ADDR, BG, BA, and C signals. CKE, CS_n, ACT_n, ADDR, BG, and BA are DDR interface signal names; MRS is the mode register configuration; REF is refresh; SRE is self-refresh; SRX is exit self-refresh; PRE is pre-charge a specific part of a specific area; PREA is pre-charge the entire area; RFU is a reserved operation (no actual operation); ACT is activated for a specific part of a specific area; WR is a write operation; RD is a read operation; NOP is no operation (no operation); DES is deselect device; PDE is power-off; PDX is power-off; ZQCL is a long operation for resistor / capacitor calibration; ZQCS is a short operation for resistor / capacitor calibration.
[0031] Specifically, if a write operation is detected, the first intermediate variable for the write operation is set to logic 1, and when the write operation is completed, the first intermediate variable is set to logic 0; if a read operation is detected, the second intermediate variable for the read operation is set to logic 1, and when the read operation is completed, the second intermediate variable is set to 0.
[0032] Specifically, the values represented by MRS, REF, SRE, SRX, PRE, PREA, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL, and ZQCS operations are assigned to a third intermediate variable. When viewing the waveform, directly view the third intermediate variable to intuitively understand the commands issued by the ddr interface.
[0033] For example, this application discloses a system for recording important signal behavior through module binding, and the method for recording important signal behavior through module binding as described above includes: The input port definition module is used to set the input ports of the module file according to the signals to be monitored; The identification module is used to identify the time point corresponding to the valid operation in the signal according to a preset protocol; An intermediate state management module is used to set at least one intermediate variable, which is set to a first state when a valid operation is detected to begin, and to a second state when a valid operation is detected to end. The log triggering module is used to collect relevant information when a valid operation is detected and to send a log recording request. The log management module is used to create log files and write relevant information about valid operations into the log files according to the log recording request. The binding configuration module is used to bind the module file with the configured input ports to the specified internal interface of the DUT, and connect the input ports to the signals to be monitored one by one for recording the signals to be monitored.
[0034] For example, this application discloses an electronic device, the electronic device comprising: Memory, which stores executable instructions; A processor that executes the executable instructions in the memory to implement the method described above.
[0035] For example, this application discloses a computer storage medium storing a computer program that is executed by a processor to implement the method described above.
[0036] The above description is merely a preferred embodiment of the present invention. It should be understood that the present invention is not limited to the forms disclosed herein and should not be construed as excluding other embodiments. It can be used in various other combinations, modifications, and environments, and can be altered within the scope of the concept described herein through the above teachings or related technologies or knowledge. Modifications and variations made by those skilled in the art that do not depart from the spirit and scope of the present invention should be within the protection scope of the appended claims.
Claims
1. A method for recording important signal behaviors via module bind, characterized in that, include: Create a new module file for monitoring; Configure the input ports of the module file according to all the signals that need to be monitored; The signals from the input ports are processed according to a preset protocol to identify the time points corresponding to valid operations in the signals. Set at least one intermediate variable. When a valid operation is detected, set the corresponding intermediate variable to the first state. When the detected valid operation is completed, set the corresponding intermediate variable to the second state. Create a log file to record relevant information of the identified valid operations; Bind the module file with the configured input ports to the specified DUT internal interface, and connect the input ports one by one with the signals to be monitored for recording the monitored signals.
2. The method for recording important signal behavior via module bind according to claim 1, characterized in that, The preset protocols include the amba ahb protocol and the ddr protocol.
3. The method for recording important signal behavior via module bind according to claim 1, characterized in that: The valid operations include read operations or write operations.
4. The method for recording important signal behavior via module bind according to claim 1, characterized in that: The specific processing of the input port signals according to the preset protocol includes: If the default protocol is amba ahb, the system identifies whether the valid operation is a read or write operation based on the hwrite and htrans signals. If it is a write operation, the write operation flag is written to the log file, and the address and data of the write operation are also recorded in the log file. If it is a read operation, the read operation flag is written to the log file, and the data read from the address of the read operation is also recorded in the log file. If the default protocol is ddr protocol, then the operations MRS, REF, SRE, SRX, PRE, PRE, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL and ZQCS are identified by judging the CKE, CS_n, ACT_n, ADDR, BG, BA and C signals.
5. The method for recording important signal behavior via module bind according to claim 4, characterized in that: If a write operation is detected, the first intermediate variable for the write operation is set to logic 1, and after the write operation is completed, the first intermediate variable is set to logic 0. If a read operation is detected, the second intermediate variable for the read operation is set to logic 1, and after the read operation is completed, the second intermediate variable is set to 0.
6. The method for recording important signal behavior via module bind according to claim 4, characterized in that, Assign the values represented by the operations MRS, REF, SRE, SRX, PRE, PREA, RFU, ACT, WR, RD, NOP, DES, PDE, PDX, ZQCL, and ZQCS to the third intermediate variable. When viewing the waveform, directly view the third intermediate variable.
7. A system for recording important signal behavior via module binding, employing the method for recording important signal behavior via module binding as described in any one of claims 1-6, characterized in that, include: The input port definition module is used to set the input ports of the module file according to the signals to be monitored; The identification module is used to identify the time point corresponding to the valid operation in the signal according to a preset protocol; An intermediate state management module is used to set at least one intermediate variable, which is set to a first state when a valid operation is detected to begin, and to a second state when a valid operation is detected to end. The log triggering module is used to collect relevant information when a valid operation is detected and to send a log recording request. The log management module is used to create log files and write relevant information about valid operations into the log files according to the log recording request. The binding configuration module is used to bind the module file with the configured input ports to the specified internal interface of the DUT, and connect the input ports to the signals to be monitored one by one for recording the signals to be monitored.
8. An electronic device, characterized in that, The electronic device includes: Memory, which stores executable instructions; A processor that executes the executable instructions in the memory to implement the method of recording important signal behavior by module bind as described in any one of claims 1-6.
9. A computer storage medium, characterized in that, The medium stores a computer program, which is executed by a processor to implement the method for recording important signal behavior by module bind as described in any one of claims 1-6.
Citation Information
Patent Citations
Parallel form verification method and device, computer equipment and medium
CN114692538A
Chip verification method, device, system, equipment, medium and program
CN120874706A
Method and system for system-on-chip design validation
KR102717540B1