CN113204929B - Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM - Google Patents
Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM Download PDFInfo
- Publication number
- CN113204929B CN113204929B CN202110288992.2A CN202110288992A CN113204929B CN 113204929 B CN113204929 B CN 113204929B CN 202110288992 A CN202110288992 A CN 202110288992A CN 113204929 B CN113204929 B CN 113204929B
- Authority
- CN
- China
- Prior art keywords
- vip
- ahb
- protocol
- transaction
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 7
- 238000004088 simulation Methods 0.000 abstract description 7
- 230000004888 barrier function Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 10
- 230000005284 excitation Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a method, an electronic device and a storage medium for realizing AHB VIP based on SV and UVM, wherein SV and UVM are used for realizing a VIP kernel to reduce cross-language compiling barriers, encryption is not used for reducing simulation barriers, and finally, fault points can be positioned in a one-time compiling- > simulation process, a host, a slave and multiple selectors can be simulated, and front and back doors can be accessed.
Description
[ Technical field ]
The invention belongs to the technical field of semiconductor integrated circuits, and particularly relates to a method for realizing AHB VIP by using SystemVerilog and UVM, a corresponding electronic device and a storage medium.
Background art
At present, an AHB (ADVANCED HIGH-Performance Bus) Bus interface protocol is widely used in the field of design of chips such as a system on a chip (SOC), a Micro Controller (MCU), a Digital Signal Processor (DSP) and the like. The AHB bus interface protocol is a high-performance comprehensive on-chip bus protocol, which is an important component of AMBA (Advanced Microcontroller Bus Architecture) 4.0.0/5.0 protocols and can meet the requirements of data transmission and register configuration of high-performance and complex chip systems.
Chip verification is one of important links of chip research and development, and because of the wide use of an AHB bus in modern chips, a great number of verification scenes are oriented to the AHB bus protocol for receiving and transmitting data. At this time, the device capable of abstracting simplification at the behavior level and accurately simulating the transmission and reception of data information of the AHB protocol at the signal level is called an AHB VIP (Verification Intellectual Property).
For the AHB bus interface to verify the transmitted and received data, VIP based on various languages (such as E language, C/C++, and the like) and verification methodologies (such as VM, OVM, and the like) exist at early stage, and even a Verilog module is directly adopted, but the VIP has inherent defects. With the development and widespread use of SV (SystemVerilog) and universal validation methodologies (UVM, universal Verification Methodology), SV & UVM based AHB VIP was developed by various large EDA manufacturers.
Each large EDA vendor promoted its AHB VIP through its business model and was widely used. However, the AHB VIP of the tool vendor only opens up a brief introduction to the user of members (members) and methods (methods) of some classes, and its implementation of the internal core is typically based on the C language and encrypted, and the user can only configure and debug the VIP's behavior and state using its provided callback (callback) function. When a complicated problem is encountered and debugging is needed, a user cannot accurately position a fault point in an auxiliary tool in a one-time 'compiling > > simulation' process, and the fault point can be positioned only by iterating the process of 'modifying > > increasing and decreasing callback functions > > compiling > > simulating > > checking printing information or waveforms' for many times.
The AHB VIP provided by EDA vendors typically opens up the underlying callback functions of each UVM Component, such as members, methods, and transmission stages (typically cycle-level) directly to the user. This requires that the user is not only very familiar with the AHB protocol, but also the architecture of VIP (Verification Intellectual Property) and the transmission phase corresponding to the callback function of VIP, which not only brings a very high learning curve to the user, but also reduces the debugging efficiency.
Furthermore, AHB VIP provided by some chip EDA tool vendors may not achieve well-defined resolution of timing-related constraints due to the use of the C language as the core of the VIP. This also explicitly notes in its user manual that it ignores certain user-set timing constraints in the case of certain unresolved constraints (constraints do not necessarily conflict), and that the constraints are removed according to the most relaxed constraint conditions and not prompted in the simulation log file (log). Moreover, due to the reasons of kernel encryption, the user cannot know the internal constraint solving sequence, so that the user needs to try multiple times of debugging when testing some extreme time sequences, and the verification efficiency is seriously reduced.
Summary of the invention
The invention aims to provide a method, an electronic device and a storage medium for realizing AHB VIP based on SV and UVM, which can simulate a host, a slave and multiple selectors and can be accessed from front to back. The invention is realized by the following technical scheme:
a method for implementing AHB VIP based on SV and UVM, comprising:
Declaring a host agent or a slave agent in an environment component of the VIP, a VIP configuration component handle, a monitor handle, and a virtual interface handle; in the building phase of UVM, the configuration environment component obtains a configuration component object and an interface handle of the VIP from the outside of the VIP, instantiates a monitor object, selects an instantiation host agent or a slave agent according to the configuration of the configuration component object, and transmits the obtained configuration component handle and interface handle to the host agent or the slave agent;
Declaring a monitor, a sequencer, a corresponding protocol driver component, a VIP configuration component, and a virtual interface handle in the host agent or the slave agent; instantiating objects of a sequencer, a master or a slave protocol driver component in an established phase of UVM; the VIP configuration component handle obtained from the environment component is transmitted to the sequencer, the corresponding protocol driving component and the monitor; transmitting the obtained interface handle to a corresponding protocol driving component and a monitor; the corresponding protocol driving assembly and the sequence generator are connected in the link phase of the UVM through a TLM mechanism;
creating a storage space in the sequencer by using the associated array, and creating a back door read-write function for the storage space;
The monitor is configured to know whether the current VIP simulates a host or a slave and whether the function of the multiple selector is simulated according to the information of the VIP configuration component, so that the information of address, data, trigger type, trigger size, response type and the like in interface signals is captured according to the corresponding time sequence specified by the AHB-VIP protocol, the information is converted into transaction objects of the AHB-VIP, the transaction objects are sent to a TLM interface, and the transaction objects are provided for other component calls in the verification environment.
As a further technical solution, a VIP configuration component handle conversion function is predefined in the sequencer, so that the user can change the VIP configuration in real time in any sequence.
As a specific technical scheme, when the corresponding protocol driving component is a host protocol driving component, the corresponding protocol driving component is configured to include a thing acquisition task block, a command driving task block and a read-write data task block; the transaction acquisition task block acquires transactions from the sequencer and then transmits the transactions to the command driving task block; the command driving task block selects whether to simulate the function of the multiple selector according to the information of the VIP configuration component, and converts the transaction into a corresponding AHB signal according to the time sequence requirement of the AHB protocol to drive the signal interface; for writing operation, the read-write data task block drives the write data in the transaction to the signal interface according to the time sequence specified by the protocol; for read operation, the read-write data task block collects the read data on the interface according to the time sequence requirement of the protocol and encapsulates the read data into the transaction, then the transaction is returned to the sequencer as a feedback transaction, and finally the sequencer returns the feedback transaction to the sequence in the verification environment.
As a specific technical scheme, when the corresponding protocol driving component is a slave protocol driving component, the corresponding protocol driving component is configured to comprise a command acquisition task block, a write data acquisition task block and a read data driving task block; the command acquisition task block encapsulates command information into a transaction according to signals on the interface and transmits the command information to a preset slave sequence in the sequence library; in a preset slave sequence, if the slave sequence is a transaction of a read command, the preset sequence can acquire data from a storage space according to an AHB protocol, package the data into the transaction and send the data back to a slave protocol driving assembly; the data-writing acquisition task block encapsulates the data-writing information into a transaction according to the signal on the interface, and then writes the data-writing information in the transaction into the storage space according to the AHB protocol; the read data driving block drives read data in the transaction onto the interface signal according to the AHB protocol.
As a specific technical solution, the VIP configuration information preset in the AHB-VIP configuration module includes: address range, ID of VIP, master/slave select signal, analog multiple selector enable signal, and predefined multiple transfer modes.
As a specific technical solution, the transaction class of the AHB VIP includes members that: commands, data information, timing information of the AHB protocol.
As a specific technical scheme, constraints of member variables are defined according to a plurality of transmission modes predefined by the AHB protocol and the AHB-VIP configuration component.
As a specific technical solution, the method for presetting transaction class of AHB-VIP includes: a VIP configuration component handle acquisition method, a feedback type acquisition method, a random configuration method and various AHB protocol signal value information acquisition methods.
An electronic device, comprising a memory and a processor, wherein the memory stores a program for implementing the AHB VIP method based on SV and UVM, which can be executed on the processor.
A storage medium, wherein a program for implementing AHB VIP based on SV and UVM is stored on the storage medium, and the program for implementing AHB VIP based on SV and UVM is executable by one or more processors to implement the steps of the method for implementing AHB VIP based on SV and UVM.
The invention has the beneficial effects that:
1. The SV and UVM are used for realizing the VIP kernel to reduce cross-language compiling barriers, encryption is not used for reducing simulation barriers, and finally fault points can be positioned in one-time compiling-simulating process
2. The method for pre-packaging the foundation simplifies the parameters, provides a simple and easy-to-use method for the common user, and enables the common user to concentrate on high-level abstract behaviors rather than details, so that the common user can use the method through simple training. And a code architecture with high cohesion and low coupling is provided for the senior users, the functions are integrated and unified, and the learning curve of the senior users is reduced.
3. The back door access and the VIP configuration can be modified in real time in the excitation sequence, and great convenience and flexibility are provided for the senior users.
4. Flexible rich configuration is provided to implement the function of simulating multiple selectors in a host, a slave, and a bus system.
5. The code is not encrypted, and a constraint solving process is disclosed, so that test excitation for writing extreme time sequences is more efficient and convenient.
Description of the drawings
Fig. 1 is a schematic diagram of an implementation of AHB-VIP based on SV and UVM implementations in an embodiment of the present invention.
FIG. 2 is a schematic diagram of an implementation of a host agent in an embodiment of the present invention.
Fig. 3 is a schematic diagram of an implementation of a sequencer in an embodiment of the invention.
Fig. 4 is a schematic diagram of an implementation of a monitor according to an embodiment of the present invention.
Fig. 5 is a schematic diagram of an implementation of a host protocol driving component according to an embodiment of the present invention.
Fig. 6 is a schematic diagram of an implementation of a slave protocol driving assembly according to an embodiment of the present invention.
Fig. 7 is a schematic diagram of an implementation of an AHB-VIP configuration module in an embodiment of the present invention.
Fig. 8 is a schematic diagram of an implementation of an AHB-VIP transaction class in an embodiment of the invention.
FIG. 9 is a schematic diagram of an implementation of a top-level environment of a verification environment in an embodiment of the invention.
Fig. 10 is a schematic diagram of a host preset sequence according to an embodiment of the present invention.
Best mode for carrying out the invention
Referring to fig. 1, the SV and UVM based AHB-VIP provided in this embodiment mainly includes: VIP environment components (ENVs), VIP configuration components, host agents, slave agents, protocol driven components, monitors, sequencers, sequence libraries, transport transactions, and the like.
Handles of the host agent, the slave agent, the VIP configuration component, the monitor, and a virtual interface handle are declared in the VIP environment component (ENV). In the build_phase of UVM, an environment component (ENV) acquires a configuration component object and an interface handle of VIP from outside the VIP, instantiates a monitor object, selects an instantiation host agent or a slave agent according to the configuration of the configuration component object, and finally transfers the acquired configuration component handle and interface handle to the host agent or the slave agent.
As shown in fig. 2, in the host agent, a monitor, a sequencer, a host protocol driver component, a VIP configuration component, and a virtual interface handle are declared. Instantiating objects of a sequencer, a host protocol driver component in the set-up phase (build_phase); the VIP configuration component handle obtained from the environment component is transmitted to the sequencer, the protocol driving component and the monitor; the obtained interface handle is passed to the protocol driver component and monitor. The protocol driver component and the sequencer are connected in the link phase (connect_phase) of the UVM by TLM mechanism.
The structure of the slave agent is similar to the master agent, except that the slave agent instantiates a slave protocol driven component.
As shown in FIG. 3, in the sequencer, a storage space with an indefinite size is created, and a back door read and write function is created for the storage space, so that the internal data of the slave can be configured at any time in the verification process. A VIP configuration component handle conversion method is predefined in the sequence generator, so that the configuration of the VIP can be changed in real time by the senior user in any sequence.
As shown in fig. 4, the monitor may learn whether the current VIP simulates the master or the slave according to the information of the VIP configuration component, and whether the current VIP simulates the function of the multiple selector, so as to capture information such as address, data, trigger type, trigger size, response type and the like in the interface signal according to the corresponding time sequence specified by the AHB-VIP protocol, convert the information into a transaction object of the AHB-VIP, send the transaction object to the TLM interface, and provide the transaction object for other components in the verification environment to call.
As shown in fig. 5, the host protocol driver component mainly includes three task blocks: the things acquire task blocks, command drive task blocks and read-write data task blocks. The transaction acquisition task block acquires transactions from the sequencer and passes them to the command driven task block. The command driving task block selects whether to simulate the functions of the multiple selectors according to the information of the VIP configuration component, and converts the transaction into corresponding AHB signals according to the time sequence requirement of the AHB protocol to drive the corresponding AHB signals to the signal interface. For a write operation, the read-write data task block drives write data in the transaction onto the signal interface according to the timing specified by the protocol. For read operation, the read-write data task block collects the read data on the interface according to the time sequence requirement of the protocol and encapsulates the read data into the transaction, then the transaction is returned to the sequencer as a feedback transaction, and finally the sequencer returns the feedback transaction to the sequence in the verification environment.
As shown in fig. 6, the slave protocol driving component mainly includes three task blocks: the system comprises a command acquisition task block, a write data acquisition task block and a read data driving task block. And the command acquisition task block encapsulates command information into a transaction according to signals on the interface and transmits the command information to a preset slave sequence in the sequence library. In a preset slave sequence, if the slave sequence is a transaction of a read command, the preset sequence can acquire data from a storage space according to an AHB protocol, package the data into the transaction and send the data back to a slave protocol driving assembly; the data-writing acquisition task block encapsulates the data-writing information into a transaction according to the signal on the interface, and then writes the data-writing information in the transaction into the storage space according to the AHB protocol; the read data driving block drives read data in the transaction onto the interface signal according to the AHB protocol.
As shown in fig. 7, configuration information of preset VIP in the AHB-VIP configuration component mainly includes: address range, VIP ID, master/slave select signal, analog multiple selector enable signal, predefined multiple transmission modes, etc.
As shown in fig. 8, the transaction class of AHB-VIP contains members of: commands, data information, timing information of the AHB protocol. Meanwhile, the constraint of member variables is defined according to the AHB protocol and a plurality of transmission modes predefined by the configuration component of the AHB-VIP. The transaction class of AHB-VIP comprises a preset method: a VIP configuration component handle acquisition method, a feedback type acquisition method, a random configuration method, various AHB protocol signal value information acquisition methods, and the like.
The present invention will be described in further detail with reference to the following embodiments in order to make the objects, technical solutions and advantages of the present invention more apparent.
The AHB-VIP may simulate either a simple master/slave or a complex AHB bus system.
1. Taking AHB-VIP as a host, the configuration and use of AHB-VIP mainly comprises the following steps:
step 1: in a test platform (testbench) of the verification environment, an interface instance of the VIP is created, and the design connection to be tested is connected, and a handle of the interface instance is transferred to the VIP using UVM _config_db of the UVM.
Step 2: in a top-level environment (top_env) of the verification environment, creating an AHB-VIP environment and an object of the AHB-VIP configuration component, configuring the AHB-VIP configuration component as a host, selecting whether to simulate the functions of the multiple selector by the configuration component, and transmitting a handle of the AHB-VIP configuration component to the AHB-VIP environment.
Step 3: referring to fig. 9, in the top-level environment (top_env) of the authentication environment, the sequence generator handle of the AHB-VIP of the virtual sequence generator is directed to the sequence generator handle of the AHB-VIP within the host agent in the AHB-VIP environment.
Steps 1, 2, 3 are basic UVM usage methods and do not involve VIP-specific usage methods.
Step 4: as shown in connection with fig. 10, the AHB-VIP encapsulates the uvm _do macro because the method of use of the uvm _do macro is very obscure to non-validated engineers. After packaging, the method becomes a typical using mode of the C language, and a common user does not need to care about the detailed problems of uvm _do macro-related constraint, invoking of a sequencer, delay control of the VIP and the like, does not need to care about the implementation of the VIP, callback functions and other advanced contents, and can use the VIP according to the basic using style of the C language function, so that the common user can operate the AHB-VIP by hands without training. When front door writing operation is needed, a common user only needs to call a writing function, input an address and data, or select data to randomly generate, then execute a user-defined compiling > > simulation script, and the AHB-VIP can automatically complete a series of operations such as excitation generation, transmission, protocol driving and the like. When the front door reading operation is needed to be executed, the script is executed only by calling the reading function and inputting the reading address.
Since the host is used as an illustration in this example, no back door access is involved, and the use of back door access will be described in the use of the slave.
Step 5: for advanced users such as professional verification engineers, the constraint and generation of the stimulus can still be invoked by uvm _do macros in the sequencer. Since the kernel of the VIP is written in SV language, the internal running process of the VIP can be known cleanly when the EDA tool such as VCS/Verdi is subjected to simulation debugging. In addition, the signal variables required by the AHB protocol are provided in the AHB-VIP transaction, as well as the delay count variables required by the various transmission phases of the protocol, and the preset delay pattern configuration, which allows the uvm _do macro to fully implement the constraints of the stimulus and control every detail on the protocol interface signals. Therefore, the two points enable the VIP to realize constraint and control of excitation without any callback function at all, so that even advanced users such as professional verification engineers and the like can not care about the architecture of the AHB-VIP, do not care about complicated and obscure callback functions, and greatly shorten the learning curve of new verification engineers. Taking an example of AHB transmission with a trigger type of INCR4, a trigger size of 32 bits, an address of 32' habcd_5678, a delay of 1/2/3/4 period for each data, and 32' h0000_00aa/32 ' h0000_bbaa/32 ' h00cc_0000/32 ' hddcc_0000 for each data, the following code needs to be implemented in the sequencer:
`uvm_do_with(req,{
addr==32`addr==32habcd_5678;
burst_type==ahb_transaction::INCR4;
burst_size==ahb_transaction::S32;
w_delay[0]==1;
w_delay[1]==2;
w_delay[2]==3;
w_delay[3]==4;
wdata[0]==32`h0000_00aa;
wdata[1]==32`h0000_bbaa;
wdata[2]==32`h00cc_0000;
wdata[3]==32`hddcc_0000;
})
Compared with the VIP provided by EDA manufacturers, the mode of using uvm _do macros and callback functions in a matching way is needed, the mode of using uvm _do macros only is simplified, the callback functions are omitted, and therefore the structure of the VIP does not need to be understood deeply.
2. Taking an AHB-VIP as a slave machine for example, the configuration and the use of the AHB-VIP mainly comprise the following steps:
Step 1: compared with the AHB-VIP serving as a host and the AHB-VIP serving as a slave, the method operates consistently, and an interface instance of the VIP is created, connected and transferred in a test platform (testbench).
Step 2: compared with the AHB-VIP serving as the master, when the AHB-VIP serves as the slave, the VIP configuration component is set as the slave in the step 2, and other parts are completely consistent.
Step 3: in the top-level environment (top_env) of the authentication environment, the sequence generator handle of the AHB-VIP of the virtual sequence generator is directed to the sequence generator handle of the AHB-VIP in the slave agent in the AHB-VIP environment.
The above embodiments are merely for fully disclosing the present application, but not limiting the present application, and should be considered as the scope of the present disclosure based on the inventive idea and the substitution of equivalent technical features that can be obtained without the inventive effort.
Claims (7)
1. A method for implementing AHB VIP based on SV and UVM, comprising:
Declaring a host agent or a slave agent in an environment component of the VIP, a VIP configuration component handle, a monitor handle, and a virtual interface handle; in the building phase of UVM, the configuration environment component obtains a configuration component object and an interface handle of the VIP from the outside of the VIP, instantiates a monitor object, selects an instantiation host agent or a slave agent according to the configuration of the configuration component object, and transmits the obtained configuration component handle and interface handle to the host agent or the slave agent;
Declaring a monitor, a sequencer, a corresponding protocol driver component, a VIP configuration component, and a virtual interface handle in the host agent or the slave agent; instantiating objects of a sequencer, a master or a slave protocol driver component in an established phase of UVM; the VIP configuration component handle obtained from the environment component is transmitted to the sequencer, the corresponding protocol driving component and the monitor; transmitting the obtained interface handle to a corresponding protocol driving component and a monitor; the corresponding protocol driving assembly and the sequence generator are connected in the link phase of the UVM through a TLM mechanism;
Creating a storage space in the sequencer, and creating a back door read and write function for the storage space; a VIP configuration component handle conversion function is predefined in the sequence generator;
The monitor is configured to know whether the current VIP simulates a host or a slave and whether the function of the multiple selector is simulated according to the information of the VIP configuration component, so that address, data, trigger type, trigger size and response type information in interface signals are captured according to corresponding time sequences specified by an AHB-VIP protocol, the information is converted into transaction objects of the AHB-VIP, the transaction objects are sent to a TLM interface, and the transaction objects are provided for other component calls in an authentication environment;
When the corresponding protocol driving component is a host protocol driving component, the corresponding protocol driving component is configured to comprise a things acquisition task block, a command driving task block and a read-write data task block; the transaction acquisition task block acquires transactions from the sequencer and then transmits the transactions to the command driving task block; the command driving task block selects whether to simulate the function of the multiple selector according to the information of the VIP configuration component, and converts the transaction into a corresponding AHB signal according to the time sequence requirement of the AHB protocol to drive the signal interface; for writing operation, the read-write data task block drives the write data in the transaction to the signal interface according to the time sequence specified by the protocol; for read operation, the read-write data task block collects read data on the interface according to the time sequence requirement of the protocol and encapsulates the read data into a transaction, then the transaction is returned to the sequence generator as a feedback transaction, and finally the sequence generator returns the feedback transaction to the sequence in the verification environment;
When the corresponding protocol driving component is a slave protocol driving component, the corresponding protocol driving component is configured to comprise a command acquisition task block, a write data acquisition task block and a read data driving task block; the command acquisition task block encapsulates command information into a transaction according to signals on the interface and transmits the command information to a preset slave sequence in the sequence library; in a preset slave sequence, if the slave sequence is a transaction of a read command, the preset sequence can acquire data from a storage space according to an AHB protocol, package the data into the transaction and send the data back to a slave protocol driving assembly; the data-writing acquisition task block encapsulates the data-writing information into a transaction according to the signal on the interface, and then writes the data-writing information in the transaction into the storage space according to the AHB protocol; the read data driving block drives read data in the transaction onto the interface signal according to the AHB protocol.
2. The method for implementing AHB VIP based on SV and UVM according to claim 1, wherein the preset VIP configuration information in the AHB-VIP configuration module includes: address range, ID of VIP, master/slave select signal, analog multiple selector enable signal, and predefined multiple transfer modes.
3. The method for implementing AHB VIP based on SV and UVM of claim 1, wherein said transaction class of AHB VIP comprises members of the group consisting of: commands, data information, timing information of the AHB protocol.
4. A method of implementing AHB VIP based on SV and UVM as defined in claim 3, wherein constraints of member variables are further defined in accordance with a plurality of transmission modes predefined by the AHB protocol and AHB-VIP configuration component.
5. A method for implementing AHB VIP based on SV and UVM as defined in claim 3, wherein said transaction class of AHB VIP comprises a preset method comprising: a VIP configuration component handle acquisition method, a feedback type acquisition method, a random configuration method and various AHB protocol signal value information acquisition methods.
6. An electronic device comprising a memory and a processor, wherein the memory has stored thereon a program operable to run the SV and UVM based AHB VIP method of any of claims 1-5.
7. A storage medium having stored thereon a program for implementing AHB VIP based on SV and UVM, the program for implementing AHB VIP based on SV and UVM being executable by one or more processors to implement the steps of the method for implementing AHB VIP based on SV and UVM of any of claims 1-5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288992.2A CN113204929B (en) | 2021-03-18 | 2021-03-18 | Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110288992.2A CN113204929B (en) | 2021-03-18 | 2021-03-18 | Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204929A CN113204929A (en) | 2021-08-03 |
CN113204929B true CN113204929B (en) | 2024-08-06 |
Family
ID=77025486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110288992.2A Active CN113204929B (en) | 2021-03-18 | 2021-03-18 | Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204929B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114444420B (en) * | 2022-01-21 | 2025-06-17 | 山东云海国创云计算装备产业创新中心有限公司 | A verification IP integration method and system based on chip verification |
CN117172168B (en) * | 2023-08-10 | 2024-06-25 | 芯华章智能科技(上海)有限公司 | Method for realizing callback in simulation, electronic equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893202A (en) * | 2016-04-26 | 2016-08-24 | 浪潮(北京)电子信息产业有限公司 | Function testing method and function testing system of storage controller based on UVM (Universal Verification Methodology) |
CN110865971A (en) * | 2019-10-30 | 2020-03-06 | 南京南瑞微电子技术有限公司 | System and method for verifying SOC chip |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160149765A1 (en) * | 2014-11-24 | 2016-05-26 | Arrow Devices Private Limited | System and method for extracting protocol information from a simulation environment to analyze system behavior |
US20180060453A1 (en) * | 2016-08-24 | 2018-03-01 | Raytheon Company | Universal verification methodology (uvm) register abstraction layer (ral) painter |
CN111177056B (en) * | 2020-01-02 | 2023-04-18 | 何刚 | Method, apparatus and computer readable storage medium for implementing AXI VIP using protocol layering |
CN111859834B (en) * | 2020-06-12 | 2023-04-14 | 苏州浪潮智能科技有限公司 | A UVM-based verification platform development method, system, terminal and storage medium |
-
2021
- 2021-03-18 CN CN202110288992.2A patent/CN113204929B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105893202A (en) * | 2016-04-26 | 2016-08-24 | 浪潮(北京)电子信息产业有限公司 | Function testing method and function testing system of storage controller based on UVM (Universal Verification Methodology) |
CN110865971A (en) * | 2019-10-30 | 2020-03-06 | 南京南瑞微电子技术有限公司 | System and method for verifying SOC chip |
Also Published As
Publication number | Publication date |
---|---|
CN113204929A (en) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6876941B2 (en) | Testing compliance of a device with a bus protocol | |
US6539522B1 (en) | Method of developing re-usable software for efficient verification of system-on-chip integrated circuit designs | |
Mehta | ASIC/SoC functional design verification | |
US5838948A (en) | System and method for simulation of computer systems combining hardware and software interaction | |
CN102508753B (en) | IP (Internet protocol) core verification system | |
TW594513B (en) | Apparatus and method for in-circuit emulation using high-level programming language | |
US7424416B1 (en) | Interfacing hardware emulation to distributed simulation environments | |
CN113204929B (en) | Method, electronic device and storage medium for realizing AHB VIP based on SV and UVM | |
US6487699B1 (en) | Method of controlling external models in system-on-chip verification | |
CN116340150B (en) | Reusable register performance interactive verification system based on UVM and application thereof | |
CN111176926B (en) | IP core simulation system and simulation method based on dual-port SRAM | |
CN116451617A (en) | Information processing method, device and application based on simulation waveform in chip simulation | |
US20050144436A1 (en) | Multitasking system level platform for HW/SW co-verification | |
CN118363873A (en) | Test method, device and equipment of debugging module and readable storage medium | |
Gao et al. | Software and hardware co-verification technology based on virtual prototyping of RF SOC | |
Ke et al. | Verification of AMBA bus model using SystemVerilog | |
CN116663461A (en) | DUT simulation verification platform, verification method thereof, medium and electronic equipment | |
Huggi et al. | Design and verification of memory elements using python | |
Gadde et al. | Effective Design Verification--Constrained Random with Python and Cocotb | |
Dhar et al. | Coverage driven verification of I2C protocol using System Verilog | |
Li et al. | A Multi-Level Verification Method for a Quad-Core RISC-V SoC | |
Wang et al. | The design of Wishbone-IIC Master Bus Verification Platform Based on UVM | |
US20180011956A1 (en) | Data Injection In Emulation Without Rebooting | |
JP3424548B2 (en) | Software logic simulator for embedded devices | |
GB2374434A (en) | Testing compliance of device with bus protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |