论文部分内容阅读
国际半导体技术发展路线图组织近年的报告显示,设计和验证的一次性工程费用多倍于制造成本。具有复杂操作内容的各种系统级芯片,设计周期长,设计功能稳定性差,对验证效率和效果的挑战更加严峻。可执行的规格、电子系统级验证、智能验证平台、完整的功能覆盖率和完整的代码重用是提高验证生产效率的壁垒,同时也是验证发展的方向。本文对基于仿真的各种功能验证方法进行了深入的研究,通过分析多年来验证方法的发展情况,总结得到现有验证方法在聚焦测试用例可重用方面存在缺陷,继而提出了一种基于场景模型的智能验证平台。该平台基于功能验证的经验模型,实现了验证资源的结构化和层次化,为测试用例及其产生方法的重用、系统级的事务建模、验证组件及其代码的产生提供了模型的支持。同时,智能验证平台针对可重构算子设计方法,提出了面向大粒度逻辑单元综合过程的验证方法。论文的主要工作和创新点如下: (1)从文本描述的规格说明到代码实现之间抽象出一个场景模型层。将验证过程分为三个层次,需求文本层、场景模型层、代码实现层。在需求文本层存放原始的需求文件、规格说明文件和覆盖点文件等文本文件。在代码层存放和验证相关的代码,包括UVM的类库代码,验证组件的代码等代码文件。在场景模型层集成了在各种项目中使用过的验证经验模型,包括类模型、状态机模型、流程图模型、流参图模型等。通过场景模型层补充文本到代码之间的关联性,同时补充规格到覆盖点之间的关联性。 (2)处于代码层的各种验证组件,其通信接口和框架结构使用UVM类库实现,其承载的测试用例以及测试用例的产生机制来源于场景模型层中的验证经验模型。为各种验证组件构建了从场景模型层到代码层的对应模板,且一种模型可以同时对应三个验证组件,激励生成器、参考模型和功能覆盖率。利用该对应模板,智能化验证平台可以自动产生验证组件的代码。在模型层加入了对模型的遍历算法来产生高效的测试用例和全面的覆盖点,并在代码层将共性的代码打包形成了自己的API函数库。利用场景模型层中的经验模型,建立了基于仿真的事务级性能评估模型,在设计细节尚未确定的早期开发中,对系统的性能进行了早期的评估,优化了系统设计参数。 (3)从文本到模型,再到代码的映射关系形成了映射拓扑图。根据该映射关系查找验证过程的盲点。面对相似的设计,直接在映射拓扑图源点进行修改,修改点对应的验证平台和测试用例就会根据拓扑关系发生变化,没有修改的点对应的验证平台和测试用例根据拓扑关系不会发生变化,这样就可以实现相似项目中,VIP的快速重用。在debug时,根据波形图的错误点找到违反规格的点,再通过拓扑图实现代码中bug的定位。 (4)针对可重构算子阵列(APU)设计方法。首先对各算子单元进行了SystemC语言的建模,实现了算子单元的全功能遍历验证,并可以作为APU设计的高层次仿真器。其次通过将APU-RTL和APU-A都转换成Verilog代码,使用Formality工具进行一致性检查,验证了APU-RTL到APU-A的转换过程。晟后使用定理证明的方法,对综合器的综合规则进行了验证。其中SystemC模型、APU-RTL和APU-A到Verilog代码的转换规则处于智能化验证方法中的模型层。 (5)对上述智能验证平台进行了软件实现。软件基于Java语言、MySQL数据库和Graphivz画图插件开发。