论文摘要
随着集成电路规模和复杂度的急剧增长,验证已成为当前集成电路设计中最困难、最具挑战的课题。验证的工作量和消耗的资源已占集成电路设计总体工作量和耗费资源的80%以上。但目前,验证方法学发展水平仍滞后于集成电路规模的扩张,成为了集成电路产业发展的瓶颈。因此改进验证方法学以提高验证效率就成为了研究的热点。而提高验证效率也是贯穿本文的主线。提升验证的抽象层次是提高验证效率最重要的方法。通过提高抽象层次,可以在验证时将关注的重点放在事物级的传输和操作上。这就使得验证工程师在构建验证平台、编写验证激励和观测仿真结果时,都无需花费大量的时间、精力去处理底层信号间繁杂的时序关系。同时将验证中的操作抽象出来,构建出总线功能模型和验证工具箱可以促进验证元件的可重用性。为了模拟AHB-PC Card桥接器软核的真实工作环境以对其进行验证,本文利用逐层抽象的方法设计出了PC卡的总线功能模型。并在PC卡总线功能模型和AHB Master总线功能模型的基础上,进一步提高抽象级别,构建出了三个层次的验证工具箱。它们使验证人员可以忽略桥接器两侧总线上众多信号复杂的时序,将关注的重点转移到桥的数据传输层面上来。由此简化了验证过程,并使得每条验证用例的激励更复杂,提高了单条验证用例的覆盖率,减少了总体仿真时间。除提升验证的抽象层次外,本次验证还使用了验证自动化方法、用仿真模型提高验证效率的方法,以及以覆盖率为导向添加验证用例来保证验证充分性的方法。本文还深入分析了仿真器处理仿真中并行进程的方式及其产生原因。在此基础上,进一步介绍了本次验证构建验证平台时如何避免仿真器的并行处理方式带来的消极影响。验证过程中所作的这些努力均提高了桥接器的验证效率,缩短了研发周期。本论文用以提高验证效率的方法,同样适用于其他数字集成电路的验证需要。所设计的PC卡总线功能模型和构造的验证工具箱等验证元件具有可重用性,可在其他类似设计的验证中重用。
论文目录
摘要ABSTRACT第一章 引言1.1 验证的目的1.2 验证的意义1.3 验证方法学发展概况1.4 验证的术语解释1.5 本论文课题背景1.6 本文主要内容及章节安排第二章 集成电路验证方法学2.1 数字集成电路的设计流程2.2 验证的层次划分2.2.1 系统级验证2.2.2 功能验证2.2.3 门级验证2.2.4 版图验证2.3 验证方法的多样性2.3.1 静态验证2.3.2 动态验证2.4 验证的效率2.4.1 验证抽象层次与验证效率2.4.2 影响动态仿真时间的因素2.4.3 验证自动化与验证效率2.4.4 验证模块的复用与验证效率2.4.5 随机验证与验证效率2.5 覆盖率2.6 此次验证提高验证效率的方法第三章 PC CARD总线分析3.1 PC CARD总线信号分类与说明3.2 PC CARD总线操作概述3.2.1 Common Memory空间的访问3.2.2 Attribute Memory空间的访问3.2.3 I/O空间的访问第四章 PC卡总线功能模型的建立4.1 总线功能模型简介4.2 基于总线功能模型验证的优势4.2.1 总线功能模型的独立性4.2.2 总线功能模型的可复用性4.2.3 总线功能模型对验证效率的贡献4.3 PC卡总线功能模型的设计4.3.1 PC卡总线功能模型的层次结构4.3.2 延时控制子模块4.3.3 信号配置子模块4.3.4 卡参数配置子模块4.3.5 构造总线功能模型唯一的存储单元4.3.6 读写子模块4.3.6.1 读写操作中WAIT#信号的控制4.3.6.2 I/O读操作子模块4.3.6.3 I/O写操作子模块4.3.6.4 Common/Attribute Memory读/写操作子模块4.3.7 PC卡总线功能模型的实现4.3.7.1 避免数据总线的不定态4.3.7.2 避免卡输出控制信号的不定态和高阻态4.4 PC CARD总线监控器4.4.1 操作类型检测和记录4.4.2 信号时序的验证4.5 总线功能模型设计方法小结第五章 AHB-PC CARD桥接器软核5.1 AHB协议原理5.1.1 AHB总线结构5.1.2 AHB总线的信号5.1.2.1 控制信号5.1.2.2 数据传输相关的信号5.1.2.3 总线仲裁相关信号5.1.3 AHB总线的数据传输5.1.3.1 AHB 总线的传输类型和传输方式5.1.3.2 AHB Slave对传输的响应5.2 AHB-PC CARD桥接器在系统中的作用及位置5.3 AHB-PC CARD桥接器的架构5.4 AHB-PC CARD桥的功能分析5.4.1 桥的寄存器空间5.4.2 桥和PC卡在系统中的地址映射5.4.3 卡上空间的寻址方式5.4.4 卡检测与上电过程5.4.5 配置桥及卡5.4.6 系统向桥发起传输5.4.7 卡发起中断的路由5.4.8 卡移除过程第六章 AHB-PC CARD软核的功能验证及其效果分析6.1 验证的流程6.2 验证环境6.2.1 结构化验证平台的优点及其实现6.2.1.1 验证工具箱(Utility Routines)模块6.2.1.2 Test Harness模块6.2.1.3 ARM总线功能模型6.2.1.4 AHB Master总线功能模型6.2.1.5 AHB BUS总线功能模型6.2.1.6 AHB BUS Monitor总线功能模型6.2.1.7 时钟和复位产生模块6.2.1.8 插拔卡总线功能模型6.2.1.9 16-bit PC卡及PC Card总线监控器总线功能模型6.2.1.10 验证激励模块6.2.2 验证工具箱(Utility Routine)的设计6.3 验证用例的设计6.3.1 验证用例的分类6.3.2 验证用例的设计6.3.3 验证用例举例6.3.4 实现验证用例时提高验证效率6.4 动态仿真原理、问题及对策6.4.1 仿真器仿真并行进程的原理及其带来的问题6.4.2 验证中的并行操作及其实现方法6.4.3 避免仿真器被进程独占6.4.4 避免竞争的产生6.4.5 用于仿真控制的Run脚本6.5 用桥寄存器的仿真模型提高验证效率并缩短研发周期6.6 回归验证6.7 验证结果分析6.7.1 Perl脚本在结果分析中的应用6.7.2 对覆盖率的分析6.7.2.1 覆盖率与边界情况的验证6.7.2.2 覆盖率与RTL代码的优化6.7.2.3 最终验证覆盖率6.8 验证性能分析第七章 结论与展望7.1 结论7.2 未来展望致谢参考文献作者简介及研究成果
相关论文文献
标签:验证效率论文; 总线功能模型论文; 验证用例论文; 验证平台论文; 验证自动化论文;