CN113268435A - Bus verification platform - Google Patents

Bus verification platform Download PDF

Info

Publication number
CN113268435A
CN113268435A CN202110821816.0A CN202110821816A CN113268435A CN 113268435 A CN113268435 A CN 113268435A CN 202110821816 A CN202110821816 A CN 202110821816A CN 113268435 A CN113268435 A CN 113268435A
Authority
CN
China
Prior art keywords
slave
agent
interconnection
host
monitor
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.)
Pending
Application number
CN202110821816.0A
Other languages
Chinese (zh)
Inventor
尚德龙
郝美琪
乔树山
周玉梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhongke Nanjing Intelligent Technology Research Institute
Original Assignee
Zhongke Nanjing Intelligent Technology Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhongke Nanjing Intelligent Technology Research Institute filed Critical Zhongke Nanjing Intelligent Technology Research Institute
Priority to CN202110821816.0A priority Critical patent/CN113268435A/en
Publication of CN113268435A publication Critical patent/CN113268435A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

The invention relates to a bus verification platform, comprising: a single sequencer, a master agent, a slave agent, a comparator, an interconnect environment, an interconnect monitor, and an interconnect comparator; the host agent comprises a host driver and a host monitor; the slave agent comprises a slave driver and a slave monitor; a single sequencer for providing test sequences for the master driver and the slave driver; the comparator is used for receiving and comparing the transactions sent by the master monitor and the slave monitor; the interconnection environment is used for simulating interconnection of buses and realizing information interaction of a plurality of hosts and a plurality of slaves, and is respectively connected with the host agent and the slave agent through virtual interfaces; the interconnection monitor is used for collecting transactions of a plurality of hosts and a plurality of slaves in an interconnection environment and sending the transactions to the interconnection comparator; the interconnection comparator is used for judging whether the transaction of the interconnection host agent and the interconnection slave agent in the interconnection environment conforms to the AXI bus protocol. The invention improves the bus verification efficiency.

Description

Bus verification platform
Technical Field
The invention relates to the technical field of bus verification, in particular to a bus verification platform.
Background
The high integration of the chip and the reduction of the process flow make the chip verification occupy more time in the whole flow sheet flow. This development has driven the work of validation methodologies. The most common verification methods are FPGA verification, directed stimulus verification, and constrained randomized verification. However, FPGA verification cannot be quickly located after a problem is found, and large-scale complex designs require more board resources, increasing capital investment. The directional excitation test requires listing all items to be tested and manually checking the verification results after the simulation is completed. Therefore, constrained randomization tests are increasingly attractive and UVM verification methodology is increasingly widely used as a general theory and library file. At present, the time and validation efficiency required by the UVM validation method need to be improved.
Disclosure of Invention
The invention aims to provide a bus verification platform, which improves the bus verification efficiency.
In order to achieve the purpose, the invention provides the following scheme:
a bus validation platform comprising: a single sequencer, a master agent, a slave agent, a comparator, an interconnect environment, an interconnect monitor, and an interconnect comparator;
the host agent comprises a host driver and a host monitor;
the slave agent comprises a slave driver and a slave monitor;
the single sequencer is used for providing a test sequence for the host driver and the slave driver;
the comparator is used for receiving and comparing the transactions sent by the master monitor and the slave monitor;
the interconnection environment is used for simulating interconnection of buses and realizing information interaction of a plurality of hosts and a plurality of slaves, and is respectively connected with the host agent and the slave agent through virtual interfaces;
the interconnection monitor is used for collecting transactions of a plurality of hosts and a plurality of slaves in the interconnection environment and sending the transactions to the interconnection comparator;
and the interconnection comparator is used for judging whether the transaction of the interconnection host agent and the interconnection slave agent in the interconnection environment conforms to the AXI bus protocol.
Optionally, the bus verification platform further comprises a scenario layer and a test layer;
the scene layer is used for generating a transaction, and the transaction simulates a data packet in the data exchange process of the physical protocol;
the test layer is used for constructing a test case, receiving the affair generated by the scene layer, creating a test sequence according to the affair and the test case generated by the scene layer, and sending the test sequence to the single sequencer.
Optionally, the host agent further includes a host port configurator configured to configure the number of hosts in the host agent.
Optionally, the slave agent further includes a slave port configurator configured to configure the number of slaves in the slave agent.
Optionally, the host agent further includes a first coverage collector connected to the host monitor, the first coverage collector configured to receive a transaction sent by the host monitor.
Optionally, the slave agent further comprises a second coverage collector connected with the slave monitor, the second coverage collector being configured to receive the transaction sent by the slave monitor.
Optionally, the interconnect environment includes a plurality of interconnect master agents, a plurality of interconnect slave agents, an interconnect configurator, and a stimulus generator;
the interconnection configurator configures the interconnection host agents with the same quantity according to the quantity of the host agents externally connected with the interconnection environment, and configures the interconnection slave agents with the same quantity according to the quantity of the slave agents externally connected with the interconnection environment;
the plurality of interconnected master agents and the plurality of interconnected slave agents are connected with the excitation generator, and information transmission between the plurality of interconnected master agents and the plurality of interconnected slave agents is achieved through the excitation generator.
Optionally, the implementing, by the stimulus generator, information transmission between the plurality of interconnected master agents and the plurality of interconnected slave agents specifically includes:
acquiring signals corresponding to the slave agents by utilizing the interconnected slave agents through a virtual interface, and packaging the signals into a first transaction to be transmitted to the excitation generator;
generating a first transaction received with said stimulus generator to a corresponding said interconnected host agent;
converting the received first transaction into an electric signal by using the interconnected host agent, and sending the electric signal to the corresponding host agent through a virtual interface;
collecting a response signal sent by the corresponding host agent through a virtual interface by using the interconnected host agent, and packaging the response signal into a second transaction to be sent to the excitation generator;
sending the received second transaction to the corresponding interconnect slave agent using the stimulus generator;
and sending the received second transaction to the corresponding slave agent through the virtual interface by utilizing the interconnected slave agents.
According to the specific embodiment provided by the invention, the invention discloses the following technical effects:
according to the bus verification platform, the bus verification platform is constructed by the single sequencer, the host agent, the slave agent, the comparator, the interconnection environment, the interconnection monitor and the interconnection comparator, the bus verification platform can be reused, and the single sequencer inputs test sequences according to different requirements, so that the verification efficiency is improved.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings without inventive exercise.
FIG. 1 is a schematic diagram of a bus verification platform according to the present invention;
fig. 2 is a schematic diagram of an interconnection environment structure according to the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The invention aims to provide a bus verification platform, which improves the bus verification efficiency.
In order to make the aforementioned objects, features and advantages of the present invention comprehensible, embodiments accompanied with figures are described in further detail below.
Fig. 1 is a schematic structural diagram of a bus validation platform according to the present invention, and as shown in fig. 1, the bus validation platform includes: a single sequencer 10, a master agent 20, a slave agent 30, a comparator 40, an interconnect environment 50, an interconnect monitor 100, and an interconnect comparator 110.
The host agent 20 includes a host driver 202 and a host monitor 204.
The slave agent 30 includes a slave driver 302 and a slave monitor 304.
The single sequencer 10 is used to provide a test sequence 80 for both the master driver 202 and the slave driver 302.
The comparator 40 is used to receive and compare transactions sent by the master monitor 204 and the slave monitor 304.
The interconnection environment 50 is used for simulating interconnection of buses to realize information interaction between a plurality of hosts and a plurality of slaves, and the interconnection environment 50 is connected with the host agent 20 and the slave agent 30 through virtual interfaces respectively.
The interconnection monitor 100 is configured to collect transactions of multiple masters and multiple slaves in the interconnection environment 50 and send the transactions to the interconnection comparator 110.
The interconnect comparator 110 is configured to determine whether a transaction of an interconnect master agent and an interconnect slave agent in the interconnect environment 50 conforms to an AXI bus protocol.
The bus verification platform further comprises a scene layer and a test layer;
the scene layer is used to generate transactions 60, which transactions 60 simulate data packets during data exchange of the physical protocol.
The test layer is configured to construct a test case 70, receive the transaction 60 generated by the scenario layer, create a test sequence 80 according to the transaction 60 and the test case 70 generated by the scenario layer, and send the test sequence 80 to the single sequencer 10.
The host agent 20 further comprises a host port configurator 201 for configuring the number of hosts in the host agent 20.
The slave agent 30 further comprises a slave port configurator 302 for configuring the number of slaves in the slave agent 30.
The host agent 20 further comprises a first coverage collector 203, the first coverage collector 203 is connected with the host monitor 204, and the first coverage collector 203 is used for receiving the transaction sent by the host monitor 204.
The slave agent 30 further comprises a second coverage collector 303, the second coverage collector 303 is connected with the slave monitor 304, and the second coverage collector 303 is used for receiving the transaction sent by the slave monitor 304.
Fig. 2 is a schematic structural diagram of an interconnect environment 50 according to the present invention, and as shown in fig. 2, the interconnect environment 50 includes a plurality of interconnect master agents, a plurality of interconnect slave agents, an interconnect configurator, and a stimulus generator.
The interconnection configurator configures the same number of interconnection master agents according to the number of the master agents 20 externally connected to the interconnection environment 50, and configures the same number of interconnection slave agents according to the number of the slave agents 30 externally connected to the interconnection environment 50.
The plurality of interconnected master agents and the plurality of interconnected slave agents are connected with the excitation generator, and information transmission between the plurality of interconnected master agents and the plurality of interconnected slave agents is achieved through the excitation generator.
The implementing, by the stimulus generator, information transmission between the plurality of interconnected master agents and the plurality of interconnected slave agents specifically includes:
signals corresponding to the slave agent 30 are collected by the interconnected slave agents through a virtual interface, and the signals are packaged into a first transaction to be sent to the excitation generator.
Generating a first transaction received with said stimulus generator to a corresponding said interconnected host agent;
the interconnected host agents are used to convert the received first transaction into an electrical signal and send the electrical signal to the corresponding host agent 20 through a virtual interface.
And collecting the corresponding response signal sent by the host agent 20 through the virtual interface by using the interconnected host agents, packaging the response signal into a second transaction, and sending the second transaction to the excitation generator.
Sending the received second transaction to the corresponding interconnect slave agent using the stimulus generator.
The received second transaction is sent to the corresponding slave agent 30 via the virtual interface using the interconnect slave agent.
The main technical means of the invention is to establish a bus Verification platform by adopting a UVM (Universal Verification method component) Verification Methodology, thereby improving the efficiency of bus Verification. The right-hand body of the integrated verification platform is packaged into an integrated verification environment as shown in fig. 1, which includes the components of the general verification methodology used in the various build environments.
The global bus validation platform (Top) includes a master driver 202(master _ driver), a master monitor 204(master _ monitor), a Slave driver 302(Slave _ driver), a Slave monitor 304(Slave _ monitor), a virtual interface (vif), and a comparator 40(checker) component. In the connection relationship between the components, the entire verification environment is packaged by the verification platform, and then the single sequencer 10, the host agent 20, the slave agent 30, and the comparator 40 are packaged by the entire verification environment. The host agent 20 includes components such as a host driver 202, a host monitor 204, and a virtual interface. The slave agent 30 includes components such as a slave driver 302, a slave monitor 304, and a virtual interface. The Single sequencer 10(Single _ sequence) functions to provide test sequences for both the master driver 202 and the slave driver 302. The virtual interfaces are used to connect the host driver 202, the slave driver 302, the interconnect environment 50, and the Design Under Test (DUT) 90, respectively. The interconnection configurator and the port configurator are used for providing configuration information such as the number of the hosts and the number of the slaves for the integral verification platform. The coverage collector is used for collecting coverage information, including code coverage and function coverage.
The left part of the overall verification environment is a part of the overall verification platform and comprises a scene layer and a test layer. The scene layer is the place where transactions (transactions) are generated that simulate packets during data exchange of the physical protocol, and the test sequences (sequences) provide different test sequences 80 to a single sequencer 10. The test layer is the place where various test cases (testcases) are built.
One test sequence is created to correspond to one test case, and a plurality of test cases are needed for creating a plurality of test sequences. For a bus protocol, the packet format is fixed, and thus the transaction is unique. Test sequences sent to a single sequencer 10 are sent by a single transaction completion. Different test cases are switched in the top-layer design code of the overall verification platform, so that different test sequences are used and sent to the single sequencer 10, injection of different test sequences is realized, and verification of different test stimuli is completed.
Data transmission relationships are expressed in two categories.
When the bus is a single master and a single slave: the working principle of the validation platform is that the test sequence generates transactions through a single sequencer 10 to the master driver 202 and through a single sequencer 10 to the slave driver 302. Subsequently, the master driver 202 and the slave monitor 304 process the transaction and drive to the virtual interface. The host monitor 204 converts the sampled electrical signal into a transaction that is stored in an internal mailbox and then passed to the comparator 40. The electric signal output results of the master monitor 204 and the slave monitor 304 are compared automatically through the comparator 40, and the verification result output is completed. While the transaction is passed into a coverage collector (first coverage collector 203) for coverage sampling.
When the bus is a multi-master multi-slave bus: the interconnection environment 50 simulates interconnection of buses, and information interaction of multiple hosts and multiple slaves is completed through the interconnection environment 50, so that the arbitration and routing problems are solved. The interconnect monitor 100 is responsible for collecting transactions of the interconnect slave agents and the interconnect host agents in the interconnect structure, and the transactions are transmitted to the interconnect comparator 110 to check whether the outputs of the interconnect slave agents and the interconnect host agents in the interconnect structure conform to the AXI bus protocol, and to determine whether the interconnect environment 50 normally operates.
The interconnect environment 50 is configured as shown in fig. 2, and its main function is to solve the arbitration and routing problem when multiple masters and multiple slaves transmit. The transaction is transmitted through master agent 20 to slave agent 30, and slave agent 30 returns a response to the corresponding master agent 20.
The interconnect configurator performs configuration of interconnect environment 50. The corresponding number of interconnected slave agents within the interconnected environment 50 is configured according to the number of master agents 20 externally connected to the interconnected environment 50, and similarly, the number of interconnected master agents may also be configured according to the number of externally connected slave agents 30. The internal structure of interconnect environment 50 shows that the interconnect slave agent samples the signals of the virtual interface, packages them into transactions, and transmits them to the corresponding interconnect master agent through the stimulus generator. The interconnect host agent converts the transaction into an electrical signal, driving the virtual interface. And then the interconnection host agent samples the response signals returned from the virtual interface, packages the response signals into transactions, transmits the transactions to the corresponding interconnection slave agent through the excitation generator, and the interconnection slave agent drives the response signals to the virtual interface. When the bus is multi-master multi-slave, the interconnect environment 50 will transmit the transaction to the interconnect monitor 100, the interconnect monitor 100 will send the transaction to the interconnect comparator 110, and the interconnect comparator 110 will perform the automated comparison.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The principles and embodiments of the present invention have been described herein using specific examples, which are provided only to help understand the method and the core concept of the present invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, the specific embodiments and the application range may be changed. In view of the above, the present disclosure should not be construed as limiting the invention.

Claims (8)

1. A bus validation platform, comprising: a single sequencer, a master agent, a slave agent, a comparator, an interconnect environment, an interconnect monitor, and an interconnect comparator;
the host agent comprises a host driver and a host monitor;
the slave agent comprises a slave driver and a slave monitor;
the single sequencer is used for providing a test sequence for the host driver and the slave driver;
the comparator is used for receiving and comparing the transactions sent by the master monitor and the slave monitor;
the interconnection environment is used for simulating interconnection of buses and realizing information interaction of a plurality of hosts and a plurality of slaves, and is respectively connected with the host agent and the slave agent through virtual interfaces;
the interconnection monitor is used for collecting transactions of a plurality of hosts and a plurality of slaves in the interconnection environment and sending the transactions to the interconnection comparator;
and the interconnection comparator is used for judging whether the transaction of the interconnection host agent and the interconnection slave agent in the interconnection environment conforms to the AXI bus protocol.
2. The bus validation platform of claim 1, further comprising a scenario layer and a test layer;
the scene layer is used for generating a transaction, and the transaction simulates a data packet in the data exchange process of the physical protocol;
the test layer is used for constructing a test case, receiving the affair generated by the scene layer, creating a test sequence according to the affair and the test case generated by the scene layer, and sending the test sequence to the single sequencer.
3. The bus validation platform of claim 1, wherein the host agent further comprises:
and the host port configurator is used for configuring the number of the hosts in the host agent.
4. The bus validation platform of claim 1, wherein the slave agent further comprises:
and the slave port configurator is used for configuring the number of slaves in the slave agent.
5. The bus validation platform of claim 1, wherein the host agent further comprises a first coverage collector coupled to the host monitor, the first coverage collector configured to receive transactions sent by the host monitor.
6. The bus validation platform of claim 1, wherein the slave agent further comprises a second coverage collector coupled to the slave monitor, the second coverage collector configured to receive transactions sent by the slave monitor.
7. The bus validation platform of claim 1, wherein the interconnect environment comprises a plurality of interconnect master agents, a plurality of interconnect slave agents, an interconnect configurator, and a stimulus generator;
the interconnection configurator configures the interconnection host agents with the same quantity according to the quantity of the host agents externally connected with the interconnection environment, and configures the interconnection slave agents with the same quantity according to the quantity of the slave agents externally connected with the interconnection environment;
the plurality of interconnected master agents and the plurality of interconnected slave agents are connected with the excitation generator, and information transmission between the plurality of interconnected master agents and the plurality of interconnected slave agents is achieved through the excitation generator.
8. The bus validation platform of claim 1, wherein the enabling of information transfer between the plurality of interconnected master agents and the plurality of interconnected slave agents via the stimulus generator specifically comprises:
acquiring signals corresponding to the slave agents by utilizing the interconnected slave agents through a virtual interface, and packaging the signals into a first transaction to be transmitted to the excitation generator;
generating a first transaction received with said stimulus generator to a corresponding said interconnected host agent;
converting the received first transaction into an electric signal by using the interconnected host agent, and sending the electric signal to the corresponding host agent through a virtual interface;
collecting a response signal sent by the corresponding host agent through a virtual interface by using the interconnected host agent, and packaging the response signal into a second transaction to be sent to the excitation generator;
sending the received second transaction to the corresponding interconnect slave agent using the stimulus generator;
and sending the received second transaction to the corresponding slave agent through the virtual interface by utilizing the interconnected slave agents.
CN202110821816.0A 2021-07-21 2021-07-21 Bus verification platform Pending CN113268435A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110821816.0A CN113268435A (en) 2021-07-21 2021-07-21 Bus verification platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110821816.0A CN113268435A (en) 2021-07-21 2021-07-21 Bus verification platform

Publications (1)

Publication Number Publication Date
CN113268435A true CN113268435A (en) 2021-08-17

Family

ID=77236911

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110821816.0A Pending CN113268435A (en) 2021-07-21 2021-07-21 Bus verification platform

Country Status (1)

Country Link
CN (1) CN113268435A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326056A (en) * 2016-08-26 2017-01-11 中国电子科技集团公司第三十八研究所 Reusable WISHBONE bus protocol verification platform and verification method thereof
US20180060453A1 (en) * 2016-08-24 2018-03-01 Raytheon Company Universal verification methodology (uvm) register abstraction layer (ral) painter

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060453A1 (en) * 2016-08-24 2018-03-01 Raytheon Company Universal verification methodology (uvm) register abstraction layer (ral) painter
CN106326056A (en) * 2016-08-26 2017-01-11 中国电子科技集团公司第三十八研究所 Reusable WISHBONE bus protocol verification platform and verification method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李达等: "基于UVM的AXI总线验证IP设计", 《微电子学》 *

Similar Documents

Publication Publication Date Title
US5663900A (en) Electronic simulation and emulation system
US20140052430A1 (en) Partitionless Multi User Support For Hardware Assisted Verification
CN104142876A (en) Function verification method and verification environmental platform for USB (universal serial bus) equipment controller modules
US6324663B1 (en) System and method to test internal PCI agents
CN106844271A (en) A kind of system verification platform and method
US8255853B2 (en) Circuit emulation systems and methods
CN114417768B (en) Digital-analog hybrid simulation method and system of Ethernet chip
CN115496018A (en) Multi-version verification method, device and equipment for SoC (System on chip)
US8949752B2 (en) System and method of emulating multiple custom prototype boards
CN112732508A (en) Zynq-based configurable general IO test system and test method
CN111914501A (en) Implementation method of FeRAM interface verification platform based on UVM verification methodology
CN114611445A (en) SoC software and hardware collaborative verification system and method based on FPGA prototype
CN113268386B (en) System software and authentication level principle debugging system for prototype
CN110928275B (en) Multi-controller combined HIL (high-level hierarchical level) rack message frame loss fault injection test system and method
CN110968004B (en) Cable test system based on FPGA prototype verification development board
CN113268435A (en) Bus verification platform
EP1530766A2 (en) Object-oriented design method for the time-effective and cost-effective development of production-grade embedded systems based on a standardized system architecture
CN115663549B (en) Multi-interface conversion device and vehicle
Nangia et al. Functional verification of I2C core using SystemVerilog
CN104866640A (en) Full FIFO (first in, first out) circuit design method and universal test bench of method
CN116432593A (en) Chip peripheral module verification method based on UVM
Mahale et al. Architecture Analysis and Verification of I3C Protocol
CN107479411B (en) Device and method for field programmable control of chip IO
Wiecha et al. Architecture and design of a Bluetooth low energy controller
CN114780143A (en) CAN controller excitation sequence generation method and device based on UVM and verification platform

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210817