论文部分内容阅读
随着集成电路领域的不断发展以及IP(Intellectual Property)集成技术和工艺制程的不断提升,当前芯片的结构愈加复杂,验证工作难度也越来越大,导致流片失败造成的损失越来越难以承受。这些都对芯片的验证工作提出了新的要求。在当前阶段,常见的验证思想主要有定向激励验证、随机化验证、形式验证和FPGA(Field Programmable Gate Array)验证等。经过综合比对各自的优劣,可以发现随机化验证方法拥有着明显的优势。在业界,能够很好支持受约束的随机化方法的UVM(Universal Verification Methodology)验证方法学的应用越来越广泛,代表了验证领域的方向与潮流。APB(Advanced Peripheral Bus)协议和UART(Universal Asynchronous Receiver Transmitter)协议作为常见的低速总线协议,具有互连信号简单、功耗较低的特点,应用十分广泛。本文需要验证的待测模块(DUT,Design Under Test)为教研室开发的APB-UART模块。该模块是处理器和外围通信端口沟通的重要桥梁,是SoC(System On Chip)领域中十分重要的模块。以往对此类模块的验证往往采用FPGA验证或定向激励验证,耗费大量人力和时间的同时,却不能完备高效的对其功能进行全覆盖。因此,基于UVM验证方法学为该模块搭建一款验证平台,具有十分重要的意义。本文为该款APB-UART模块搭建了配套的UVM验证平台,并通过对各种功能场景的检测,完成了该模块的验证工作,主要内容如下:(1)深入研究了该DUT模块,包括其子模块结构、端口和寄存器信息,并在充分了解其功能点后,制定了相应的验证计划。(2)深入学习UVM验证方法学,为该模块搭建了配套的UVM验证平台。该平台包含以下结构:多个agent组件,分别负责APB端口、UART收发端口、modem模块端口数据的驱动和采集工作;多个scoreboard组件,对数据进行比对和检查;拥有预警机制的寄存器模型;验证顶层、验证环境以及其他必要的结构。(3)开发多组测试用例,实现随机激励的自动生成,对待测功能点进行覆盖。在验证后期,通过不断修改约束条件,使得测试用例对DUT的覆盖率达到100%,标志这款验证平台设计合理并被成功实现。