论文部分内容阅读
随着应用需求的日趋多样化,系统芯片(System-on-a-Chip,SoC)中集成了越来越多的功能部件。与此同时,随着半导体器件特征尺寸的减小和工作频率的提高,SoC的时序收敛和功耗控制变得越来越困难。为了有效的进行时序收敛并降低功耗,设计人员普遍采用了多时钟域的SoC设计策略。在多时钟域SoC设计流程中,虽然IP(Intellectual Property)复用可以减少SoC设计和验证的工作量,但是功能验证仍然是最重要且最耗时的工作。本文针对多时钟域SoC功能验证中的主要验证难点问题进行研究,主要的创新点和贡献如下:
1.建立面向多时钟域SoC功能验证的模拟验证平台和形式化验证平台。该模拟验证平台针对多时钟域SoC设计过程中IP集成的特点,不仅对总线交易和IP交易进行不同层次的抽象,而且可以让验证人员在不同层次制定覆盖率模型并建立覆盖率驱动的受限随机激励产生机制。本文建立的形式化验证平台针对多时钟域SoC设计中的关键模块进行形式化模型检验,该平台集成了电路特性生成、电路特性的覆盖率统计和面向不同电路结构的验证时间代价优化策略。上述模拟验证平台和形式化验证平台为本文提出的面向多时钟域SoC的功能验证方法提供了平台基础。
2.提出一种面向跨时钟域设计的模拟验证方法。针对现有RTL(RegisterTransfer Level)模拟验证流程,根据跨时钟域设计的电路结构及亚稳态现象的可见性定义CDC(Clock Domain Crossing)覆盖率。实验结果表明,相比于传统的覆盖率,本文提出的CDC覆盖率能够在RTL验证阶段更有效的帮助验证人员发现跨时钟域设计的功能错误。
3.提出一种面向跨时钟域设计的形式化验证方法。首先提出亚稳态现象等价电路实现;然后,使用时序逻辑对跨时钟域设计的控制信号和数据信号进行设计规范描述:最后,针对跨时钟域设计的特点提出验证时间代价的优化策略。实验结果表明,本文提出的方法不仅可以发现更多的功能错误,而且本文提出的优化策略可以将实验用例中验证时间随寄存器数量的递增趋势从指数级递增优化到多项式级的递增。
4.提出一种面向总线接口部件的形式化验证方法。为解决形式化验证中电路特性描述的完整性问题,首先利用Kripke结构描述总线特性:然后,通过遍历Kripke结构中的状态及其转换关系,提出形式化制定电路特性描述的方法,并证明在不失一般性的前提下,上述方法可以制定出完整的电路特性描述。实验结果表明,采用本文方法制定的电路特性覆盖率比现有商业工具提高了43%。
5.为进一步解决上述多时钟域SoC功能验证的难点问题,提出一种通用的跨时钟域总线接口部件的设计方法。通过定义统一的跨时钟域处理策略,将同一方向的全部信号使用单一的异步FIFO进行传递。相比于传统的总线接口部件的设计方法,本文提出的方法能够使IP设计人员不再考虑跨时钟域数据传输问题,而仅考虑与IP协议处理相关的设计问题。实验表明,本文方法不仅可以简化设计复杂度,降低验证难度,而且能够提高交易响应速度并降低电路面积。
本文方法的实验用例均采用北京大学微处理器研究开发中心自主设计的PKUnity863-2号SoC中的典型设计实例,实验结果表明了本文方法的实用性和有效性。