论文部分内容阅读
人工智能计算机视觉、自动驾驶、安防监控和移动设备等领域对摄像头传感器分辨率的要求日益提高,基于MIPI协议的CSI-2高清摄像头被广泛应用于各种嵌入式图像设备。基于MIPI CSI-2规范的设计工作对于图像处理芯片来说意义重大,与其相关的验证工作不容忽视。本文结合作者在某半导体公司实习的项目,对MIPI CSI-2接收端的功能验证进行研究,首先确定了待测设计MIPI CSI-2接收端及子模块的验证目标,包括激励产生方式、结果比对策略的确立和功能点的提取。根据验证计划进行功能覆盖率建模和验证方案的设计,基于UVM方法搭建验证平台,设计验证组件,最终实现了对CSI-2接收端控制器、Form和WrDMA等模块的功能验证。MIPI CSI-2接收端实现了基于MIPI标准的CSI-2接收接口。该子系统从MIPI CSI-2摄像头传感器捕获图像,输出图像数据至图像处理IP进行后续的图像处理。为加快验证向量收敛速度并提高验证效率,本文根据MIPI协议规范和待测设计特征,设计了受限随机激励,同时结合覆盖率驱动的方法为验证平台添加验证向量。为了提高验证平台的重用性,基于UVM和灰盒测试的思想设计并实现了重用性最高的验证组件层次,并从受限随机激励的产生、采样监测、结果比较、环境组件及容器创建、验证平台与待测设计交互几个方面对具体组件的实现进行阐述。验证平台中,AXI总线接口UVC、APB总线接口UVC和AHB总线接口UVC用于完成模块接口及寄存器配置操作。MIPI UVC——mipi_serial_uvc和mipi_ppi_uvc分别对MIPI CSI-2协议下的串行及并行接口图像帧传送行为进行模拟,其中mipi_serial_drv、mipi_ppi_drv分别模拟带PHY层和不带PHY层的发送端主机模型,从mipi_serial_sqr和mipi_ppi_sqr中反复获取事务级激励mipi_trans,通过虚拟接口mipi_serial_if和mipi_ppi_if将事务包转换成逻辑电平信号分别施加到MIPI CSI-2接收端PHY模块和CSI控制器模块;mipi_output_mtr通过mipi_output_if收集事务级信号mipi_trans,检查驱动器传送的激励是否满足协议规范,从DUT采样接口信息,转换为事务发送至验证平台记分板组件;mipi_scb收集输入输出数据,对结果进行检查。WrDMA UVC负责验证有效数据经过接收端中的Form模块输入到WrDMA后,输出到目的设备对应地址的行为的正确性,并对猝发传输和中断行为进行配置。在验证平台搭建完成后,从标准化验证平台自动生成的角度,对验证效率的提升进行探索,一方面开发出一套适用于AMBA总线标准接口的通用验证组件,打包为自动化系统的底层模板,另一方面基于脚本工具设计出针对性强且操作简易的验证平台代码生成器。覆盖率数据对验证工作具有重要意义,一方面能指示未被充分验证的部分,另一方面符合要求的覆盖率结果是验证已经足够充分,可进行流片的重要指标。本课题主要分为代码覆盖率和功能覆盖率两种统计方式,采用覆盖率驱动的激励生成方式为验证平台添加定向激励,并根据最终覆盖率结果完成对验证工作的评测。在Linux下通过VCS工具进行仿真后的结果显示:MIPI CSI-2接收端各模块测试用例仿真通过,功能正确实现,覆盖率模型功能覆盖率达到100%,总体代码覆盖率超过98%,达到验证目标及要求。