论文部分内容阅读
ARINC429总线是全球航空电子系统中最常用的通讯总线之一,本课题所验证的ARINC429总线接口模块属于SoC上的外设接口模块,通过APB接口与CPU进行通信,根据ARINC429总线协议外接A/D和D/A电路接收差分比特流和发送差分比特流。对ARINC429总线接口模块进行高效、完备的功能验证对于保证航空安全具有重要意义,而在当前工艺制程愈发先进的背景下,SoC功能复杂度以及集成规模不断提高,传统的基于Verilog HDL的验证平台已无法满足日益增长的验证需求。本文以对SoC上的ARINC429总线接口模块进行模块级验证为背景,分析对比了当前主流验证语言和验证方法学的优劣,深入研究了当前主流的UVM验证平台结构以及UVM验证方法学的机制和优势,选择基于UVM搭建结构抽象化、自动化程度高、可重用性强的验证平台进行模块级验证。本文深入分析了ARINC429总线接口模块的结构和功能,对其各个子模块的工作原理进行了研究,在此基础上提取了验证功能点。针对功能点的验证需求,采用面向对象编程及事务级建模的思想设计了平台的子环境、参考模型、计分板、断言、功能覆盖率等组件,实现了基于UVM的ARINC429总线接口模块验证平台;平台创新性地采用了自动更新的聚合参数,在仿真过程中能实时调整平台参数,提高了验证平台的自动化程度,并避免了参考模型使用寄存器模型读取寄存器配置而导致的参考模型的非独立性。基于该验证平台,围绕验证功能点编写了定向和随机测试用例,覆盖正常和异常工作场景。在仿真完所有的测试用例后收集了代码覆盖率和功能覆盖率,分析测试用例未覆盖的点,确保验证工作的完备性。经工程实践证明,同原有Verilog HDL验证平台相比,本文所设计的UVM验证平台结构清晰,层次分明,支持实时对数据进行对比,提高了验证效率;同当前国内外通用的UVM验证平台设计方式相比,本平台在设计中采用了自动更新的聚合参数,提高了平台的自动化程度,缩短了验证周期。仿真结束后收集的代码覆盖率达到90%以上、功能覆盖率达到100%,符合预期目标。同时,平台中的部分组件已成功移植到其他工程中,具有良好的可重用性。