Figure 1: Test platform block diagram. |
1. Background
This type of verification platform makes full use of the achievements of software engineering, and divides the entire test platform into categories according to the functions implemented, so that each module can be developed and maintained separately. At present, the scale of chips tends to be large, and the protocols are becoming more complex. They usually need to transmit massive amounts of data and have a large number of ports. If the verification system is still established in the previous pure Verilog way, it will be difficult to meet the progress of chip development and wafer production. In short
, simply stimulating the DUT input port, monitoring the corresponding output port, and writing temporary code to compare data is a very backward verification method. Of course, we also see that some chips with simple structures still have a certain market, and the verification platform of pure Verilog language can also be very complex (but difficult to maintain), and the cost of learning object-oriented programming is easy to be daunting. However, these are individual cases outside the mainstream, so this article will not go into detail.
Although modern verification systems contain a large number of modules, various data types/protocols, and complex information transmission between modules (keeping synchronization, sharing data, etc.), they still inherit traditional methods, summarize previous verification experience, and establish test platforms according to conventional steps.
The VMM method is no exception. According to the usual process, it sets nine steps for all test platforms that apply VMM, which are defined in vmm_env: gen_cfg, build, reset_dut, cfg_dut, start, wait_for_end, stop, cleanup, and report.
On the other hand, the architecture of the VMM platform is divided according to the abstraction level and consists of the following components: test case, scenario generator, driver, monitor, scoreboard, data object, data transmission pipeline, callback function set, configuration set (dut_cfg and sys_cfg), coverage statistics component, and environment object that connects and integrates all the above components, as shown in Figure 2.
Figure 2: Using verification IP in a testbench can significantly reduce the workload. |
2. Evaluation Criteria
The institute's previous verification work all used the high-level verification language Vera, and this is the first time to use SystemVerilog. To what extent can the introduction of the VMM method improve verification efficiency? This project is both a practical work and an evaluation.
We set the expected value based on the following considerations:
a. How long does it take to build a sample platform (including simple data transactions, self-testing, and coverage statistics)?
b. Scalability, that is, whether the constraints of random test vectors are changed, the automatic comparison mechanism is customized according to needs, the function coverage points are added, and the monitoring of the AXI protocol is complete.
c. Verification process controllability, such as inserting additional actions into the existing nine steps; controlling the order and number of execution of each step by changing the system configuration (such as resetting cfg_dut multiple times to achieve online repeated testing).
d. Ease of use should also be taken into account. After all, the VMM method covers a wide range of content, and it will take engineers a long time to fully master it. When we cannot know the reason, it is very important to know the reason quickly and start working.
The following description will focus on these aspects.
Integration of AXI-VIP
As mentioned above, the VMM method has the advantages of abstract hierarchical structure and nine execution steps, but it is only a general method. Whether it can meet the four criteria mentioned above is still a question. For example, the AXI master simulation model of the Institute of Computing Technology is written in Verilog and cannot be interconnected with the VMM platform in the short term; the complete AXI protocol detection is particularly important for the first chip system based on this bus; due to the rush of time, the AXI simulation model needs to be revised. These are problems that cannot be avoided in the project process, and the VMM method itself does not provide a solution.
1. Commercial Verification Model
The AXI Verification Model (VIP) is a commercial model of Synopsys. It is configurable, data transactions strictly comply with the AXI protocol, and have complete protocol checking functions. The most important point is that AXI-VIP provides an interface with the VMM platform. In fact, this VIP itself implements the functions of the driver component (Driver) and the monitor component (Monitor) of the VMM platform: the lower layer is connected to the DUT through a port, and the upper layer has a data transmission pipeline based on vmm_channel/vmm_xactor_callbacks. As shown in Figure 2, except for Test, Generator and Scoreboard, AXI-VIP has been implemented. The actual contribution of this commercial model to the development progress will depend on whether engineers can quickly get started. In other words, the ease of use of VIP determines its value.
In view of this, Synopsys provides a VMM example based on AXI-VIP. Among them, the DUT part is replaced by AXI Bus VIP, and the TB part implements the layered architecture shown in Figure 2. As a user, engineers only need to make the following modifications to obtain a verification platform with simple data transactions, self-testing, coverage statistics and other functions: replace the DUT and modify the interface signal name; rewrite the constraints of the test case test_1 to obtain their own test case; add configuration operations for the DUT. The above work was completed within one day, and the simulation output results include waveform files, log files and coverage reports.
2. Classes supported by AXI-VIP
The classes defined by AXI-VIP all have the same prefix name "dw_vip_axi", which constitute most of vmm_env:
a. dw_vip_axi_master_rvm;
b. dw_vip_axi_slave_rvm;
c. dw_vip_axi_monitor_rvm;
d. dw_vip_axi_master_transaction_scenario_gen;
e. dw_vip_axi_port_model_configuration;
f. dw_vip_axi_system_model_configuration;
g. dw_vip_axi_master_transaction_channel;
h. dw_vip_axi_slave_resp_transaction_channel;
i. dw_vip_axi_monitor_transaction_channel.
These classes will instantiate master device components, slave device components, monitoring components, configuration objects, data objects, data transmission pipelines, etc. They have their own variables and functions, providing rich control functions, covering all types of operations.
The completeness of functions does not damage the ease of use of AXI-VIP, which has been confirmed in the project. Through three days of training and practice, engineers were able to "modify constraints to randomly generate test vectors", rewrite the "automatic comparison mechanism" according to the chip test specifications, add "functional coverage points", and use the AXI monitoring component to "automatically check the protocol" and collect coverage related to the AXI protocol. Among them,
there is no ready-made VMM basic class available for rewriting the "automatic comparison mechanism" according to the chip test specifications. We started with a simple example provided by Synopsys, using the callback function set provided by AXI-VIP to obtain data transaction information and compare the outflow and inflow data in real time. Like other verification systems, this part of the work is the most diverse and the most core task, so it is expected that it takes up most of the three days.
Scoreboard implementation based on VMM
The verification team of our institute quickly established the automatic comparison mechanism of the test platform using the callback function set provided by AXI-VIP, guided by the VMM method. Although it cannot be finally applied to the whole system of more than a dozen master/slave devices, since this part of the code is encapsulated in the custom Scoreboard class, it is reusable and extensible, and meets the interface requirements of the VMM platform, it can be easily incorporated into future systems. The core SystemVerilog code of the Scoreboard class is provided by Synopsys, as shown in Figure 3.
Figure 3: Block diagram of the self-test unit. |
In addition to the core comparison part, the key task is to obtain the data stream of each master/slave device in real time. In AXI-VIP (including other VIPs of Synopsys), there are already ready-made functions available. Our engineers learned how to use it within two days and completed the development and debugging of the code in combination with actual practice.
AXI-VIP includes master devices, slave devices and monitoring devices, which will get a function callback opportunity at several key points of data transactions, as shown in Table 1.
Table 1: Correspondence table between callback functions and corresponding pipelines. |
Other functions can also be used to obtain data, such as the pre_activity_channel_put of the monitoring device, which can obtain input and output data. For details, please refer to the AXI-VIP user manual. In addition, the VMM callback function can also be used to control the verification process, insert error data, etc., which will not be expanded in this article due to space limitations.
Summary of this article
Because the trend of chip verification work requires more software knowledge and skills. This article takes the SoC project of the Institute of Computing Technology of the Chinese Academy of Sciences as an example to explain how to make full use of professional verification language basic libraries and commercial simulation models to quickly establish a test platform. The article details the use of each component and how the AXI-VIP object is incorporated into the VMM framework, as well as the practical significance of doing so.
The VMM method is based on the SystemVerilog language and provides a complete function library, while the supplementary AXI-VIP is fully functional and easy to use. Based on this new method, the verification group engineers of our institute quickly established a set of easily expandable test platforms within five working days. In the process of establishing the new system, a design loophole was discovered, which fully demonstrated the efficiency of this method.
Previous article:Breaking the bottleneck of WiMAX physical layer testing
Next article:Reducing test costs in mobile phone manufacturing with new test platform
- Popular Resources
- Popular amplifiers
- Keysight Technologies Helps Samsung Electronics Successfully Validate FiRa® 2.0 Safe Distance Measurement Test Case
- From probes to power supplies, Tektronix is leading the way in comprehensive innovation in power electronics testing
- Seizing the Opportunities in the Chinese Application Market: NI's Challenges and Answers
- Tektronix Launches Breakthrough Power Measurement Tools to Accelerate Innovation as Global Electrification Accelerates
- Not all oscilloscopes are created equal: Why ADCs and low noise floor matter
- Enable TekHSI high-speed interface function to accelerate the remote transmission of waveform data
- How to measure the quality of soft start thyristor
- How to use a multimeter to judge whether a soft starter is good or bad
- What are the advantages and disadvantages of non-contact temperature sensors?
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- MOS tubes often break down
- AD How to use the bottom layer silk screen to print out the drawing?
- What are the advantages of PHY6212 that can support Bluetooth Mesh networking (I)
- Problems with CD4051
- USB to TTL module USB driver for the Corelinks SinA33 development board
- Application of millimeter wave radar technology in corner radar
- Do you know how to benefit from a better way to power your devices? Talk to Vicor engineers!
- UV Sterilization Box TI Solution
- Not just nostalgia - a complete collection of radio principles, circuits, repairs and assembly information
- Hardware Engineer