论文部分内容阅读
随着当前半导体7纳米工艺量产成功,集成电路的复杂程度达到了难以想象的地步,这使得验证工作难度陡增。因此缩短验证工作时间并能高效完成该部分工作已经成为了业界亟需解决的事情。本课题的主要研究对象是SpaceWire协议和UVM(Universal Verification Methodology)验证方法学。作为一种高速的、点对点的、全双工的串行传输接口,SpaceWire近年来在越来越多的航天电子系统中得到应用,因此开发一款以SpaceWire协议为基础的IP核具有重要意义。UVM是当前最受欢迎的验证方法学,它提供了一系列的接口和可重用性组件,对提升验证效率以及实现完备性验证具有重要作用。论文基于SpaceWire标准协议完成了IP核中节点控制器CODEC的设计,并运用UVM验证方法学对整个SpaceWire的IP核做了详细的模块级功能验证。在深入理解SpaceWire标准协议的基础上,利用Verilog HDL实现了CODEC的RTL设计。学习SystemVerilog和UVM验证方法学,搭建基于UVM的SpaceWire可重用性验证平台,其中主要包括spw_driver、spw_monitor、spw_codec_model、spw_scoreboard等多个可重用组件;之后做了一定的优化。第一是采用了虚接口完成多种激励的同步,使平台可以同时进行寄存器的配置和正常包的发送;第二是在连接组件时由analysis_port改为FIFO形式;第三是通过在spw_codec_model中添加非正常激励以实现整个验证平台的完备性。最后在搭建好的可重用性验证环境下对SpaceWire IP核进行功能验证。针对已经提取的完整功能点写出sequences,产生带有约束的随机激励发送给spw_driver和apb_driver,然后通过apb_if和spw_if完成激励的添加,经仿真后观察每个测试用例(Test Case)的波形以及对应的覆盖率,根据覆盖率变化情况逐步完善测试场景以覆盖所有功能点。本验证平台可重用性高、层次清晰明了、验证完备性好。最终VCS仿真结果表明,设计的IP核满足SpaceWire协议要求,且模块功能覆盖率达到了100%,代码覆盖率为94.64%,经分析,除根本无法覆盖的代码之外,其他代码均完全覆盖。仿真验证结果表明RTL代码实现了前期所制定的设计目标,可进行下一步工作。