论文部分内容阅读
当代集成电路芯片设计中,逻辑设计的规模和繁杂程度呈现快速增长的趋势,设计与验证实现的困难度随之大幅提升,为了确保芯片逻辑设计功能的正确性,需投入比以往更多的人力物力资源。经长时间的发展,验证技术在多方面技术实现上取得了长足的进步,但仍存在的问题是:验证工具和验证方法的更新程度无法满足设计规模的增大程度的问题,验证技术远落后于设计发展,验证耗时过长,调试更加困难,因此验证成为制约大规模集成电路发展的瓶颈。与此同时,还要解决如何确保仿真的完备性和如何缩短仿真周期以提升验证效率这两大难题。覆盖率驱动的验证方法学是一种新型的验证方法学,主要是通过覆盖率主导验证过程的实现,其将代码覆盖率、功能覆盖率有机的结合,很大程度上减短验证耗时,以保证待测逻辑验证的完备性。同时本文采用带约束的随机激励的生成技术,最大限度的遍历了测试可能的输入情况,为测试的完备性提供了强有力的保障。截止目前覆盖率驱动的验证技术在验证界得到了大范围的应用,是新一代验证方法学的发展规律,推动了验证方法向前发展。本文对覆盖率驱动的验证技术进行了深入的分析,对衡量覆盖率驱动技术先进性的各个因素进行了深入讨论。并从传统定向测试角度切入,对覆盖率驱动的随机验证得以被实践应用做了理论分析。同时采用Accellera公司推出的行业前沿的UVM方法学,为验证提供了一套标准的System Verilog类库,类库的应用实现了基于覆盖率驱动的平台结构的开发。从覆盖率驱动的平台结构实现、覆盖率建模分析、激励生成方案和结果检查机制四个方面,研究了覆盖率驱动的验证方法同传统验证方法的区别,提出了分解功能点的方法和通过分析覆盖率属性来搭建一套完整的功能覆盖率模型。此外,本文采用事务级的建模方法,将平台环境的抽象层次拔高,使数据从管脚级抽象到事务级,通过抽象将底层的细节隐藏起来,以实现高度自动化验证。本文以光纤通道交换芯片的通信端口模块的验证为背景,分析了光纤通道网络和以此作为传输媒介的交换机的基本知识,同时对通信端口模块逻辑设计与传输规范进行了深入研究论,述了通信端口模块对验证过程提出的挑战,制定了通信端口模块的验证策略。同时应用UVM验证方法对通信端口实施了实际验证。结果表明:覆盖率驱动的验证技术可实现验证耗时减少至原有耗时的50%~60%以上,验证速率大幅提高;其中覆盖率指标中的代码覆盖率显示均达到90%以上,表明除少数冗余代码的存在,设计代码方面已经达到精简化,节省后仿时间与资源,功能覆盖率达到100%,表明所有待验证的功能点均已实现100%的全覆盖,保证了验证的完备性。通过代码覆盖率与功能覆盖率相结合的验证技术指标,使得逻辑设计更加精简化,减少冗余代码的存在,节省后仿时间与资源,验证的完备性得以保证,大程度上减少验证的漏洞率,并且能够挖掘更多深层次的设计验证漏洞,减少逻辑设计在流片阶段或者是芯片投入使用中发现漏洞后的需再次流片的可能性。同时对通信端口模块进行的仿真测试环境,还可复用到系统级的验证环境中去,对项目组其他协议的交换机芯片的验证有借鉴作用。