Font Size: a A A

Design And Implementation Of MIPI CSI-2 Receiver Testbench Based On UVM

Posted on:2020-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:S Y HuangFull Text:PDF
GTID:2428330602451997Subject:Engineering
Abstract/Summary:PDF Full Text Request
With the increasing demand for camera sensor resolution in areas such as artificial intelligence computer vision,autonomous driving,security monitoring,and mobile devices,the CSI-2 high-definition camera based on the MIPI protocol is widely used in various embedded image devices.The design work based on MIPI CSI-2 is of great significance for image processing chips,and the related verification work cannot be ignored.In this paper,combined with the author's internship project in a semiconductor company,the functional verification of the MIPI CSI-2 RX subsystem is studied.Firstly,the verification target of the DUT and its sub-module is determined,including the stimuls generation method and function point extraction.According to the test plan,the function coverage modeling and verification scheme is designed.Based on the UVM testbench,the verification component is realized,and finally the function verification of the CSI-2 RX subsystem controller,Form and Wr DMA modules is realized.The MIPI CSI-2 RX implements the CSI-2 Receive Interface based on the MIPI standard.The subsystem captures images from the MIPI CSI-2 camera sensor and outputs the image data to the image processing IP for subsequent image processing.In order to speed up the verification vector convergence speed and improve the verification efficiency,this paper designs constrained random stimuli according to the MIPI protocol specification and the design features,and adds verification vectors to the testbench in combination with the coverage-driven method.In order to improve the reusability of the testbench,design and implement the most reusable verification component hierarchy based on the idea of UVM and gray box testing,and the implementation of specific components is described in terms of generation of constrant random stimuli,sampling and monitoring,comparison of results,creation of environment components and containers,and interaction between testbench and DUT.AXI UVC,APB UVC and AHB UVC are used to complete the configuration of the module interface and registers.mipi_serial_uvc and mipi_ppi_uvc respectively simulate the serial and parallel interface image frame transmission behavior under the MIPI CSI-2protocol,mipi_serial_drv and mipi_ppi_drv simulate the sender host model with and without the PHY layer,respectively,and are repeatedly obtained from mipi_serial_sqr and mipi_ppi_sqr.The transaction level motivates mipi_pkt,which converts the transaction packets into logical level signals through the virtual interfaces mipi_serial_if and mipi_ppi_if,respectively,to the MIPI CSI-2 Receiver PHY Module and the Controller module.mipi_output_mtr collects the transaction level signal mipi_pkt through mipi_output_if,checks whether the stimulus transmitted by the driver satisfies the protocol specification,samples the interface information from the DUT,and converts it to a transaction and sends it to the testbench scoreboard component.mipi_scb collects input and output data and checks the results.The Wr DMA UVC is responsible for verifying the correctness of the behavior of valid data output to the destination address of the destination device and configuring burst transmission and interrupt behavior.After the testbench is built,the verification efficiency is improved from the perspective of automatic generation of the standardized testbench.On the one hand,it develops universal verification components for the AMBA bus standard interface and packages them as the underlying template of the automation system.On the other hand,based on the script tools,it designs a highly targeted and easy-to-use testbench code generator.The coverage data is of great significance for verification.On the one hand,it can indicate the parts that are not fully verified,and on the other hand,the coverage results that meet the requirements are an important indicator that the verification is sufficient and can be performed.This topic is mainly divided into two kinds of statistical methods: code coverage and functional coverage.The coverage-driven stimulus generation method is used to add directional stimulus to the testbench,and the verification work is completed according to the final coverage result.The simulation results of the VCS tool under Linux show that the test cases of the modules of the MIPI CSI-2 receiving end are simulated and the functions are correctly implemented.The coverage rate of the coverage model reaches100%,and the overall code coverage exceeds 98%,which totally meets the verification requirements.
Keywords/Search Tags:MIPI CSI-2 Receiver, UVM, Coverage Driven Verification, Stimulus, Function Verification
PDF Full Text Request
Related items