SoC设计与验证技术发展综述.doc_第1页
SoC设计与验证技术发展综述.doc_第2页
SoC设计与验证技术发展综述.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SoC设计与验证技术发展综述 随着工艺能力和设计能力的快速发展,为了满足嵌入式系统市场对于成本、功能和功耗的要求,SoC(System on-a-Chip)设计技术已经成为一种发展趋势。众所周知,迄今为止在集成电路发展过程中,摩尔定律(单芯片上所能集成的晶体管数目每18个月翻一番)一直在起作用,因此SoC的规模和功能在不断急剧膨胀,使得设计验证日益重要,向业界提出了巨大挑战,已成为了整个SoC设计流程的瓶颈。目前芯片一次投片成功率只有35%左右,造成芯片重复投片的主要原因就是验证不够充分。SoC设计的验证需要投入的资源已占整个设计资源的60%80%。现在愈来愈达成共识:单一的设计工具难以解决验证问题,而需要一系列复杂的工具和技术,来减少设计错误数,使之达到可接受的程度。SoC验证研究内容很多,如:IP核/模块级验证、系统级验证、仿真验证、软硬件协同验证、等价性检查、静态时序分析和时序验证、版图验证等。随着验证技术的逐步发展,验证方法由最初的直接测试向量生成,到约束随机测试,再到覆盖驱动验证,一直到最新的基于断言的验证方法,各种验证方法在不断创新发展。有了SoC验证流程还很不够,需要验证计划,这为SoC验证工作提供重要质量保证,它规划如何来验证一个设计,主要包括以下内容:1 对模块和顶层的测试策略2 组成标准测试程序的各个组件的定义和规范,如BFM 、总线监视器等3 用到的验证工具和流程4 仿真环境的定义和搭建5 关键的验证点6 验证工作结束的标准一、 功能验证内容功能验证是验证中最复杂,工作量最大同时也是最灵活的部分,包括模块/IP核级验证、系统级验证、模拟仿真等。二、 模块/IP核级验证任何SoC设计均由一系列模块组成。模块可能是自己开发,也可能是重用第三方的IP核。不论哪种情况,在系统集成前做IP核验证工作是必需的。软性检查主要检查代码语法、可综合性、变量未初始化、结构化可支持性和端口失配性等;规范模型检查主要做设计特征遗漏性检查,以在早期发现错误状况,尤其对控制流设计效果明显,通过设计文档非正式说明、与设计者非正式沟通等途径抽取特征疑问,逐一验证,消除缺陷;功能验证主要利用基准测试向量基于事件或基于时钟进行功能验证,如白盒测试和灰盒测试等;协议检查主要验证是否违犯总线协议或模块互连约定,按照协议逐一检查并比较结果;直接随机测试通过随机产生数据、地址、控制等信号检查功能正确性,减少模拟仿真工作量;代码覆盖率分析主要根据模拟仿真时统计代码被执行数,可以按陈述句、信号拴、状态机、可达状态、可触态、条件分支、通路和信号等进行统计分析,以提高设计可信度。三、 系统级验证系统级验证主要确认芯片体系结构满足所赋予的功能/性能要求。系统级设计阶段将用户需求转换成功能/性能要求,并实现行为/功能设计,然后映射到相应的体系结构上,最后进行系统级验证。在系统级验证中,往往要构建虚拟目标系统,如中科SoC芯片在实施验证时,将其所有对外接口挂接许多虚拟IP核,同时编制了BIOS 、RTOS 及应用测试程序。首先做功能验证,验证是否满足要求;其次做软硬件性能验证;第三做系统级基准测试(自顶向下验证策略),抽取特定功能,编制测试向量/程序,定义对错条件,覆盖所有功能,形成基准测试程序,用于模拟仿真。四、模拟仿真功能仿真:主要关注模块-模块(IP核-IP核)间互连验证、系统总线协调性验证和标准规范兼容性验证等,由于复杂度高,可通过事件驱动和加速技术,如硬件加速器、模拟发生器和快速建模试验等来加速和简化仿真工作。事件驱动仿真:使用比较普遍,像NC_Verilog、VCS等均支持,但受芯片规模和性能限制。首先设计代码被仿真工具所接受,其次编制基准测试向量(波形或RTL ),第三运行仿真,第四通过单步调试,错误定位、改正后可再次仿真。时钟驱动仿真:在每一时钟结束时计算电路稳态响应,不考虑时序方面的问题,时序需要静态时序分析工具来验证是否满足要求。时钟驱动仿真比事件驱动仿真速度要快10100倍,适合大规模电路仿真。五、FPGA验证FPGA 验证成为SoC设计流程中重要的一个环节,一方面作为硬件验证工具,可以将所设计的RTL级代码综合实现后写入FPGA芯片进行调试检错;另一方面可以进行软件部分的并行开发,在验证板上检测驱动程序、启动操作系统。FPGA验证的流程相当于一个FPGA设计的主要流程,它主要分为设计输入、综合、功能仿真(前仿真)、实现、时序仿真(后仿真)、配置下载、下载后板级调试检错这几个步骤。总的来说,FPGA验证是整个SoC设计中一个重要而且有效的验证步骤,用来改进RTL级设计代码,验证功能的正确和完整性,提高SoC流片成功率。功能验证方法方法有很多1.时序验证时序验证是用来避免时序异常的验证方法,主要包括静态时序分析(Static Timing Analysis)和动态时序分析(Dynamic Timing Analysis)。静态时序分析(STA)根据设计规范的要求通过检查所有可能路径的时序,不需要通过仿真或测试向量就可以有效地覆盖门级网表中的每一条路径,在同步电路设计中快速地找出时序上的异常4 。静态时序分析可识别的时序故障包括:建立/保持和恢复/移除检查(包括反向建立/保持)、最小和最大跳变、时钟脉冲宽度和时钟畸变、门级时钟的瞬时脉冲检测、总线竞争与总线悬浮错误、不受约束的逻辑通道,还能计算经过导通晶体管、传输门和双向锁存的延迟,并能自动对关键路径、约束性冲突、异步时钟域和某些瓶颈逻辑进行识别与分类。时序分析工具目前主要有Primetime、Time Craft、Time Director和SST Velocity等。动态时序分析主要指的是门级(或对版图参数提取结果)仿真。这种方法主要应用在异步逻辑、多周期路径、错误路径的验证中。随着设计向130nm以下的工艺发展,只用静态分析工具将无法精确验证串扰等动态效应。通过动态时序分析与静态时序分析相结合可以验证时序逻辑的建立保持时间,并利用动态技术来解决串扰效应、动态模拟时钟网络。2.物理验证物理验证主要是进行设计规则检测(DRC )、版图与原理图对照(LVS )和信号完整性分析。SoC设计要求采用一种不受设计类型约束的物理验证工具,如Hercules,来完成这两项任务,为制造复杂SoC提供灵活性和保证。.随着加工工艺的不断提高,带来了大量的信号完整性问题。互连线变得又细又高,线间距也越来越小,互连路径与相邻连线间存在的耦合电容成倍增加,因耦合产生的噪声与伪信号等串扰效应可能成为影响集成电路延迟的重要因素。此外,电流在经过电路时会产生阻性电压降导致后面的门电路因电压降低而使其延迟增加,甚至达不到门槛电压。因此在STA计算延迟时必须考虑串扰和电压降等对电路延迟带来的影响。这使时序验证越来越复杂,也越来越重要。 SoC验证技术发展方向SoC验证与其他数字芯片相比最大的不同在于:因为SoC中需要集成大量的IP核,而且由于IP核经常是来自于不同的供应商,使得它们的验证更加困难。有时候甚至需要对IP核进行部分修改才能适合具体SoC的要求。因此IP核协同验证成为IP核验证中的一个难点。IP核提供商所提供的测试向量和测试环境很难重用在多个IP核协同验证的环境下。供应商有时不提供IP核的RTL描述,只是给出行为级的描述和接口时序文档。这样的IP核不能烧入FPGA进行系统级验证,这就要求我们能提供一个系统的验证环境来解决多个IP核协同验证的问题。同时,如果每一次系统级验证都要重新搭建验证环境、编写验证代码,从时间上和人力上都是无法接受的。由于SoC设计中系统结构和大量IP核存在着可重用性,在SoC验证中也可以尽量重用以前的验证代码,使之适应新的设计要求,从而提高验证效率。这类验证平台有以下优点:1 解决了IP核集成时多个IP核协同验证的问题;2 克服了传统验证方法中测试程序只能串行控制各个模块的缺点;3 建立了一个统一的可配置的系统测试环境,不需要像传统验证方法那样为 每个IP核建立各自的测试环境,提高了验证代码的可重用性;4 不但可以验证RTL级的IP核,也可以验证行为级和门级的IP核;随着半导体制造技术不断的快速发展,SoC设计规模以及复杂度飞速地的增长。尤其是在进入深亚微米工艺后,SoC设计和开发遇到了大量的信号完整性和设计完备性问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论