论文部分内容阅读
随着集成电路行业的不断发展,IC(Integrated Circuit)设计数字部分的复杂度越来越大,芯片规模成比例增加,每个芯片上的IP(Intellectual Property)核也越来越多,给IC设计的质量保证和周期都带来巨大挑战。验证是芯片设计环节中至关重要的一步,关乎流片成功与否,但传统验证方法已经无法满足如今芯片验证规模的要求,据统计,芯片从设计开始到完成的整个过程中,大约70%的时间都在验证,由此看来改进验证方法是缩短芯片周期、降低芯片成本的迫切需求。近些年来,由于UVM(Universal Verification Methodology)验证方法不仅克服了传统验证方法的不足,并且在搭建验证环境中具有明显优势,已逐步取代VMM(Verification Methodology Manual),本文将主要介绍基于UVM高级验证方法的验证环境的搭建。相对System Verilog而言,UVM是一种更高级的验证方法,它解决了许多System Verilog无法解决的问题,如一个验证平台中有多个组件,这些组件的作用,以及它们之间是如何进行通信的等问题。UVM还集成了OVM(Open Verification Methodology)和VMM的所有优点,包括OVM的factory机制,以及VMM的寄存器解决方案,并且具有可重用性以及可移植性的特性,缩短了搭建验证平台的时间周期,从而将更多的时间应用于编写测试用例。另外,UVM还将许多方法进行了封装,在搭建UVM平台时,减少了验证平台出现人为失误的几率,以及调试次数,从而缩短芯片设计周期。基于UVM以上众多优势,这一验证方法得到了众多IC设计厂商包括三大EDA(Electronic Design Automation)厂商的支持。本文将基于UVM验证方法并根据作者的实际工作项目,CBUS协议,搭建验证环境,对DUT进行验证,分析仿真结果,修改被测设计,使DUT达到最优化。首先解读CBUS协议,编写RTL(Register Transistor Logic)代码,然后基于UVM语言搭建验证环境,编写测试用例,对DUT(Design Under Test)进行验证,最后通过代码覆盖率以及功能覆盖率等来验证DUT的正确性与完整性,从而实现DUT的最优化。搭建UVM验证平台的过程中,首先需要详细分析CBUS协议,然后画出整个验证平台的框架图,再对各个组件进行建模,最终实现整个验证平台。进行功能覆盖率的收集时,需要根据CBUS协议的规范,合理的划分功能点,从而保证收集到的功能覆盖率具有完备性和有效性。本设计通过VCS(Verilog Compile Simulation)进行仿真,并对仿真结果进行分析,修改被测设计,增加测试激励,最终代码覆盖率以及功能覆盖率都达到100%,验证了被测设计的正确性与功能完备性。