论文部分内容阅读
随着SoC的设计体量的逐渐增大,仿真的速度成为制约验证进度的短板之一,由于仿真速度的限制,一些大数据体量的测试用例结果无法在RTL级仿真中很快的呈现出来,虽然可以利用业界主流的FPGA和专用的模拟器来解决RTL仿真速度过慢的问题,然而它们毕竟没有办法像RTL级的仿真一样透明地观察硬件信号和内部逻辑,也无法随时设置断点调试硬件,因此RTL级仿真依然无法替代,所以如何提升RTL仿真的效率显得格外关键。此外在一块SoC芯片中,存储器所占的面积要大于60%,面积的增大必然导致存储器更容易受到辐射干扰而产生错误。因此抑制存储器的错误能够大大加强系统对外界的抗干扰能力。另一方面,随着IC设计工艺的发展,芯片上存储器的密度不断增加,使得其可能出现的缺陷类型也越来越多,同时验证的数据量变得更加巨大,如此一来极大的增加了验证成本,原始的验证流程已经难以应对这些新的挑战。从数据加载方式的角度来看,前门访问是指通过总线实现物理时序访问,这种访问需要经过总线协议,因此访问需要耗时,且在总线访问结束时,才能结束前门访问,相较于前门访问,后门访问可以通过关联硬件存储器信号路径,直接进行读取和硬件修改,不需要访问时间且不受硬件时序控制,但是这种方式可能会导致时序冲突,但是反过来讲,这样做又可以通过总线协议,有效地捕捉总线错误,继而验证总线访问的路径是否正确,比如设计和验证是否做到了实时同步等。此外,在采用后门访问的前提是待测设计已经在前门访问的基础上做过了充分的验证。为了解决前门访问总线耗时问题,本文以LTE模块的硅前验证为背景,从数据加载方式入手,研究了LTE模块内的存储器特性,以及纠错编码的纠错原理和译码方式,利用后门数据访问速度快的特点,有效地提高了LTE模块测试用例的RTL仿真速度。并在此基础上通过基于Perl语言的脚本开发规划了后门数据加载的RTL仿真流程包括Makefile的编写,并详细阐述了脚本开发细节。实现了基于LTE模块的后门数据加载,解决了可能出现的时序冲突,由于后门数据加载直接进行读取和硬件修改,需要手动添加ECC校验位,因此,需要对该加固方案进行可靠性分析,通过在输入数据内加入单比特错误后观测输出数据以及对所有测试场景的覆盖率分析并与前门数据加载所消耗的系统时间做对比。结论为,基于后门数据加载适用于所有测试场景,其所消耗的RTL仿真时间约为前门数据加载时间的40%,验证了该方案的可行性,并已应用于实际的项目中。