论文部分内容阅读
随着SoC的设计规模越来越大,功能需求越来越复杂,市场迭代速度越来越快。SoC芯片设计公司逐步转向IP集成化的设计模式,通过大量购买成熟的功能IP,从而将工作重心转移到系统架构和控制单元的设计上,进而加速芯片的开发过程。控制单元控制着各个功能IP子系统的时钟,复位,电源等关键状态,负责协调各个IP在系统级的交互。整个SoC对控制信号时序的精确性以及逻辑的正确性都有着很高的要求。随着IP集成的数量逐渐变多,IP的功能越来越丰富,控制单元控制信号的数量,需要调控的内容也变得越来越多,结构也越来越复杂。针对结构复杂,功能又非常关键的中心控制系统进行充分完备的验证对于保证整个芯片正常工作至关重要。本文针对这种中心控制逻辑,基于主流的UVM验证方法学,完成了UVM测试组件的搭建,测试用例结构的制定,逻辑检查单元的建立和功能覆盖率的收集等。设计了一套智能化的交互机制用来模拟中心控制系统与受控子系统之间的交互行为,使测试场景能最大程度地贴近芯片实际的运行情况。在SoC运行的过程中,各功能子系统会在不同的电压域和时钟域之间动态切换,运行的时钟频率以及电源电压都不固定。本文基于多域验证技术将所有域的信息都提取出来并与设计保持一致,全面地验证了所有域的交互情况。同时对于这些域的控制信号例如电源控制信号,时钟门控信号以及复位使能信号也根据不同域的交互情况进行动态地调整,从而尽可能地构造完备的测试场景。为了保证验证工作的质量,本文采用了包含代码覆盖率,功能覆盖率,断言覆盖率等综合指标来评估验证工作,确保了验证工作的完备性。为了提高验证工作的效率,本文提出了一种自动化的功能覆盖率反馈系统,使得测试用例可以根据功能覆盖率的结果自动调整约束,快速覆盖那些尚未通过现有测试场景验证的功能点。另外本文还制定了一种测试用例的模板,可以基于用户的约束,自动生成定向的测试激励。自动化的引入缩短了验证周期并一定程度上避免了一些人为引入的非逻辑性错误。基于这两种自动化的机制,结合UVM验证方法学,以及制定的验证完备性评估指标,本文构建了一个完整的智能化验证平台,给出了一套完善的控制系统的验证解决方案。最后通过结合验证过程中的覆盖率曲线,漏洞的收敛程度等指标完成了对本验证平台验证效率和验证质量的评估。可以证明本文所设计的验证平台能够较快的覆盖验证计划中所有定义的功能点,并且在较短时间内发现待测系统中存在的设计漏洞。