论文部分内容阅读
随着集成电路的设计规模越来越大,功能越来越复杂,功能验证已经成为集成电路设计过程中的一个瓶颈,它占据了整个设计周期70%的时间。传统的基于Verilog或者C语言的验证方法已经无法满足当前超大规模的系统芯片的验证需求。基于Specman-E和EVC搭建的验证平台,将自动化验证工具与验证平台相互结合,具备良好的可扩展及可重用性,可以满足当前复杂系统设计的验证需求。本论文基于Specman-E设计搭建的自动化验证平台,其主要由三部分组成,一是总线EVC验证组件;二是SoC_EVC验证组件,它在顶层实现了对各种不同总线EVC的配置使用,以及对片上网络的各种外设和总线桥的环境配置;三是针对片上网络的功能特性设计了端口到端口的计分板,即port2port scoreboard,对initiator和target端的数据进行处理检查,从而保证了NoC内部传输数据的正确性检查。基于上述验证平台,本论文对片上网络的基本功能进行了充分的验证,其中包括片上网络基本的通信连接性、firewall security安全性、target端口的地址分配以及target有多端口的情况下hready信号的选择、initiator和target端power的配置功能、存储器受保护地址段访问等等。由于NoC上连接了40多个不用的IP模块,针对每个不同的IP模块的数据传输需求,需要生成相应的随机测试激励,例如针对AXI接口的IP模块,需要做乱序和显著传输的数据流测试等。通过对测试向量的数据范围进行有效的约束,访问设计中难以考虑到的边界情况,从而可以尽可能多的发现一些设计中隐藏的问题。基于本论文搭建的验证平台最终及早的发现了很多设计错误,这其中包括有firewall security相关的错误、总线属性配置错误、数据指令处理错误、地址分配错误、跨地址边界错误、NIU属性配置错误、power的配置行为错误等等26个设计错误,经过与设计人员沟通最终顺利解决了这些设计错误,避免了项目进行到后期再发现同类错误所要付出的巨大代价。本论文最后对验证平台中所有有效的测试激励进行了大量回归测试,共仿真运行了952个随机种子,最终结果全部都通过。总体的代码覆盖率达到了98.67%,代码行数覆盖率、翻转覆盖率、分支覆盖率均达到97%以上,达到了预期的验证指标,功能覆盖率则达到了100%,保证了功能覆盖点的全覆盖,这些测试数据从正面说明基于本验证平台的片上网络的最终验证质量处于一个很高的层次。并且由于本验证平台具备良好的可扩展以及可重用性,可以很容易的重用于新的项目中,对于后续项目来说也具有极大的意义。