论文部分内容阅读
在系统芯片SoC (System-on-Chip)实现过程中,仿真验证是SoC设计流程中最复杂、最耗时的环节,约占整个芯片开发周期的70%-80%,验证的工作量是设计的几倍,再加上上市时间(Time-to-Market)需求的紧迫性,功能验证已经成为了现代芯片设计中的最大瓶颈。传统的功能验证方法由于可观察性差,可追踪性不强,导致无法快速定位问题,验证周期长,验证平台可重用性差,自动化水平低。针对这些问题,本论文以SoC芯片SEP0718的研发为依托,研究了基于SVA(SystemVerilog Assertion)的验证方法。该方法利用断言技术的优势来弥补动态仿真的不足。根据SEP0718中NFC (Nand Flash Controller)的特点开发了NFC断言IP (Intellectual Property),并将该IP用于两种不同的验证平台中:BFM(Bus Functional Model) module级验证平台和BFM SoC级验证平台。同时本文结合Nand Flash读写操作的特殊性,开发了能产生Nand Flash各种读写操作的随机激励发生器(Random-Stimulus Generator)、相配套的记分板(Scoreboard)以及功能覆盖率模块(Functional Coverage Module)。随机激励发生器实现了对NFC的CRV (Constraint Randomized Verification), Scoreboard的开发提高了验证平台的自动化程度,覆盖率功能模块则引入了CDV (Coverage Driven Verification),它能指引验证下一步努力的方向从而促进了验证工作的不断向前推进。通过使用这些验证组件快速搭建了基于SVA的NFC验证平台。利用该验证平台在Module级对NFC做了完备性验证,然后在该平台的基础上搭建BFM SoC级验证平台,完成了NFC SoC级的验证。验证结果表明,NFC BFM module级和SoC级验证的断言覆盖率和功能覆盖率均达到了100%。同时通过项目实践证明:基于SVA的验证方法可以将验证环境的三大要素——激励产生、自动检查机制和覆盖率统计有机地结合在一起,将各个要素的优势发挥到了最大,提高了验证平台的自动化程度,改善了验证过程的可观察性和可追踪性,简化了调试过程,减少了验证工程师繁重的工作。有效地缩减了设计的研发周期,保证了芯片设计的成功流片。