论文部分内容阅读
随着芯片集成度的不断提高,功能验证已成为集成电路设计流程中时间耗费最大的环节,尽早且快速地发现集成电路设计中的错误,对于缩短验证周期具有重要意义。目前,功能验证方法主要有模拟验证和形式化验证两大类方法。模拟验证方法依赖于大量长时间的电路模拟来发现设计错误,而形式化验证方法主要通过证明电路的属性是否成立来发现错误。另一方面,设计人员常犯的设计错误存在一定的特征,此特征可以帮助验证工程师进行初期的验证。
软件测试中的静态检测方法在代码完成初期,通过词法分析、语法分析和静态语义分析直接分析程序的源代码,检测程序中潜在的错误。在已知典型错误特征的条件下,静态检测方法同样可用于在集成电路设计早期有效地检测设计错误。
本文基于若干工程项目中所积累的常见功能错误,引入静态检测方法,实现了一个数字集成电路设计错误的静态检测系统,旨在尽早且快速地检测数字集成电路设计中特定类型的功能错误。本文的主要贡献包括:
1.对多款FPGA设计进行编码规则检查、模拟验证、等价性检查以及定时分析等,以提高设计的质量和可靠性;并且根据FPGA工程项目中所积累的功能错误,从中提取出常见功能错误。
2.根据FPGA工程项目中所积累的常见功能错误,将静态检测方法应用到集成电路领域,实现了一个数字集成电路设计错误的静态检测系统。实验结果表明对于已知的错误类型用此系统进行检测,相比较其他方注(模拟验证、人工走查等)而言能更早且快速地发现错误,具有更高的验证效率,可将此系统作为已有验证方法的一个补充来使用。此系统主要包含以下三个方面:
a)根据FPGA工程项目中所积累的常见功能错误,提取错误特征并建立错误模型;
b)编写Verilog文法,利用ANTLTR(ANother Tool for Language Recognition)工具对Verilog设计进行词法分析和语法分析,在此基础上,通过指定根节点来生成代表集成电路寄存器传输级设计的抽象语法树;
c)利用孩子-兄弟数据结构存储已建立的抽象语法树,并在此基础上采用深度优先算法搜索已建立的错误模型,以此来验证设计中是否有此类错误。
3.将当前工业界主流的约束随机验证方法成功应用在Godson-T多核处理器的debug功能验证和片内缓存随机验证上,根据设计规范建立验证平台、采用基于定向测试和约束随机的验证策略,对Godson-T多核处理器的debug功能和片内缓存功能进行了较为全面的验证,发现了若干设计错误,确保了被验证功能的正确性。