欢迎来到天天文库
浏览记录
ID:29469472
大小:91.21 KB
页数:21页
时间:2018-12-20
《【转载】soc设计验证技术发展综述》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、【转载】SoC设计验证技术发展综述摘要本文分析SoC设计验证重要性和研究内容,具体阐述功能验证内容、功能验证方法学、形式验证、时序验证和物理验证,重点介绍了IP验证、系统级验证、模拟仿真和FPGA验证以及各种验证手段,并指出设计验证技术和设计验证平台的发展方向。关键词:SoC设计,设计验证技术,验证方法学1引言随着工艺能力和设计能力的快速发展,为了满足嵌入式系统市场对于成本、功能和功耗的要求,SoC(Systemon-a-Chip)设计技术已经成为一种发展趋势。众所周知,迄今为止在集成电路发展过程中,摩尔定律(单芯片上所能集成的晶
2、体管数目每18个月翻一番)一直在起作用,因此SoC的规模和功能在不断急剧膨胀,使得设计验证日益重要,向业界提出了巨大挑战,已成为了整个SoC设计流程的瓶颈[1]。目前芯片一次投片成功率只有35%左右,造成芯片重复投片的主要原因就是验证不够充分。SoC设计的验证需要投入的资源已占整个设计资源的60%~80%。1999年当VSIA举行验证专题会时,许多世界级验证专家得出结论:验证是件困难的事(hard),几周后更把结论更正为"Verificationisnothard,itisveryhard"。现在愈来愈达成共识:单一的设计工具难以
3、解决验证问题,而需要一系列复杂的工具和技术,来减少设计错误数,使之达到可接受的程度。SoC经过6、7年的发展,有了广阔的市场。SoC验证研究领域在验证技术、验证方法学、测试码提取、验证描述语言、IP核重用验证、验证流程及验证评估方面取得了长足进步。但总体而言验证技术已经落后于设计和制造能力,模拟和验证工作成为整个SoC学科发展的制约瓶颈,给提高设计生产率造成了障碍。如何构建一种更快更好的设计验证方法学是当前SoC业界所关注的问题。2SoC验证研究内容SoC验证工作比较繁杂。JanickBergeron给"验证"下的定义是"证明一个
4、设计的功能是否正确的过程"。SoC的验证工作贯穿整个设计流程,从行为级HDL设计,一直到芯片设计定案之前都需要做足够多的验证工作,当前验证工作已经占整个设计工作70%左右。图1是SoC"设计缺陷(BUG)"分布情况,其中功能缺陷超过60%。可见SoC验证工作重点应在功能验证上。SoC验证研究内容很多,如:IP核/模块级验证(Block-LevelVerification)、系统级验证(System-LevelVerification)、仿真验证(Simulation)、软硬件协同验证(Hardware/SoftwareCo-ver
5、ification)、等价性检查(Equivalentchecking)、静态时序分析和时序验证(Statictiminganalysis&TimingVerification)、版图验证(Physicalverification)等。随着验证技术的逐步发展,验证方法由最初的直接测试向量生成(DirectedTestVectorGeneration),到约束随机测试(ConstraintedRandomTest),再到覆盖驱动验证(Coverage-drivenVerification),一直到最新的基于断言的验证方法(Asser
6、tion-basedVerification),各种验证方法在不断创新发展。图1SoC故障分布统计分析(fromsynopsys)3SoC验证流程与技术3.1SoC验证流程与计划SoC的验证工作始终贯穿整个设计流程。从阶段划分上说,SoC验证可以分为功能验证、等价性验证、静态时序分析、动态时序分析和版图验证等几个主要阶段,如图2所示。有了SoC验证流程还很不够,需要验证计划(VerificationPlan),这为SoC验证工作提供重要质量保证,它规划如何来验证一个设计,主要包括以下内容:对模块和顶层的测试策略组成标准测试程序(T
7、estbench)的各个组件的定义和规范,如BFM、总线监视器(Busmonitor)等用到的验证工具和流程仿真环境的定义和搭建关键的验证点验证工作结束的标准图2SoC验证流程图一个高质量的验证计划使得验证工程师可以更早地开发标准测试程序环境。这种并行的开发验证环境,能尽早给验证团队一个明确的目标,也是保证验证可重用(re-used)的关键。为了得到一个高质量的验证计划,验证工程师要正确和充分地理解设计需求和规范,要与设计工程师及时地交互,这样才能保证验证计划的易读、易用和可重用。因此可以说一个好的验证计划可以有效提高验证效率,缩
8、短开发周期,在SoC开发中有着重要的意义。3.2功能验证内容功能验证(FunctionalVerification)是验证中最复杂,工作量最大同时也是最灵活的部分,包括模块/IP核级验证、系统级验证、模拟仿真等。3.2.1模块/IP核级验证任何So
此文档下载收益归作者所有