《soc技术原理与应用.》由会员分享,可在线阅读,更多相关《soc技术原理与应用.(45页珍藏版)》请在金锄头文库上搜索。
1、SoC技术原理与应用,主 讲:郭 兵 单 位:四川大学计算机学院 电 话: 028-81228076E-mail:2006 年 4 月,第八章 HGSOC平台解决方案的测试与验证,引言,主要内容,HGSOC芯片验证方法,HGSOC芯片功能验证样机的组成,软/硬件测试环境,HGSOC芯片的测试与验证内容,8.1 引言,由于复杂的软/硬件体系结构、众多的模块以及高额的VDSM投片费用,在SoC系统设计中,IC前端和后端设计整个过程中,都需要严格的反复测试验证。业界认为,随着芯片门数的不断增加及工作时钟频率的不断提高,验证工作比重也越来越大,现阶段验证工作量已经占到IC整个设计工作的70%左右。目前
2、关于IC设计中的有效测试与验证已成为SoC技术的一个研究主题,在相关理论成果的基础上 ,各主要,EDA厂商都推出了针对SoC测试的解决方案和工具,如Mentor Graphics公司的Seamless CVE和Synopsys公司的Eagle。同时,一些仪器仪表生产厂家也纷纷推出了专门针对SoC/IP测试的产品,如安捷伦(Agilent)公司的93000 SoC测试系列平台,主要包括高速测试、多接脚、特殊内存组件的测试,以及PLL、ADC、DAC、special I/O、Bluetooth与WLAN组件测试等,该平台针对基于32位CPU核的SoC而设计的,符合IEEE P1500标准,其所具备
3、的功能与升级弹性,让IC设计业者可视其目前的需要来选用适当的测试模块,将来随着市场与技术的发展,在现有的平台架构上增添不同的升级模块,以因应未来测试需求。在HGSOC芯片测试与验证中,我们采用了多种SoC系统测试和验证技术。,8.2 HGSOC芯片验证方法,在HGSOC芯片设计中,对软/硬件模块、HGSOC芯片及家庭网关整体解决方案采用了多级测试验证技术,以验证HGSOC芯片及模块设计的正确性和有效性,具体的方法有:(1)模块功能验证主要是测试模块功能的正确性,模块功能验证采用以下两种方法: 仿真(Simulation)测试:在模块设计、开发完成后,目前可利用VCS、Verilog_XL、NC
4、_Verilog、ModelSim等HDL语言仿真工具,对其进行功能仿真测试。由于针对RTL代码做仿真测,试,速度较快,并可查出模块功能的错误。仿真测试是ASIC及FPGA设计中广泛使用的传统技术,在HGSOC芯片模块测试中,我们采用了Synopsys公司的VCS工具对其进行功能验证。采用Verilog代码编写实现被测模块的TestBench,以C语言实现各种Test Vectors(测试向量或测试激励),模拟HGSOC芯片的实际工作环境,对HGSOC芯片各个模块和端口的功能和时序进行测试。通过观察HGSOC芯片的输出信号波形和输出数据,验证其是否能够正常工作。其中,由于ARM7TDMI核是成
5、熟可靠的IP核,以及项目时间和人力原因,对ARM7TDMI核不做完整的测试和验证,通过ARM7TDMI核执行软件指令产生的各种信号,作为测试其它外围模块的激励源或信号源。,软/硬件协同验证:这是专门针对SoC设计的验证方法,原理是将软件和硬件通过一个虚拟接口连接起来,在同一环境下,能够对软件和硬件同时进行测试。对软件而言,相当于具有了一个硬件运行平台,可以提早开始进行软件的开发调试;对硬件而言,软件起到激励源或信号源的作用,能够验证复杂的硬件功能,其中有些是采用HDL难以描述的。软/硬件协同验证可以极大地提高SoC的开发效率,在HGSOC芯片设计中,我们采用了目前比较成功的协同验证工具Ment
6、or Graphics公司的Seamless CVE,其运行平台是Sun工作站、ARM7TDMI仿真核、XRAY_ARM7TDMI嵌入式软件调试工具和C语言编译工具等,在此主要是进行硬件模块及其驱动程序的协同验证。,(1)时序验证,在0.18um以下时,芯片内部连线相互间串扰的影响越来越大,片内互连线之间及连线与衬底之间的耦合效应也迅速增加,从而破坏了信号的完整性,这使得在VDSM IC设计中,保证时序的收敛十分困难和费时。在IC设计中通常采用后仿真来进行时序验证,与功能仿真不同,时序仿真验证的是带有延迟参数的电路,更接近实际情况。但对于SoC这样复杂的电路,传统的时序仿真方法存在以下问题:,
7、仿真效率低:因为仿真用的是门级网表,节点数呈指数级增长,同时延迟的计算也消耗了大量的CPU资源。需要大量的测试向量,以保证有效的故障覆盖率,从而耗费了大量的人力资源和时间。有可能发生Layout后的时序不满足导致多次反复。,针对动态时序仿真存在的问题,SoC设计中目前较为流行的是静态时序分析方法。所谓静态时序分析,是独立于电路功能,通过路径计算延迟总和,并比较相对于预定义时钟的延迟,从而判断电路的每一路径的延时是否满足设计约束。静态时序分析工具可识别的时序故障数比仿真工具多得多,主要包括:建立/保持和恢复/移出检查;最小/最大跳变;时钟脉冲宽度和时钟畸变;门级时钟的瞬间脉冲检测;总线竞争与总线
8、悬浮错误;不受约束的逻辑通道。此外,一部分静态时序分析工具还能计算经过导通晶体管、传输门和双向锁存的延迟、约束性冲突、异步时钟域和某些瓶径逻辑的识别与分类。静态时序分析方法在不依赖于仿真向量的条件下,对所有时序路径进行错误分析,能够满足VDSM百万门级芯片设计的要求,其分析速度比仿真工具要快几个数量级。,在HGSOC设计中,使用Synopsys VCS仿真工具完成模块级动态时序验证,对于全芯片系统采用Synopsys PrimeTime工具,该工具将静态时序分析和静态串扰分析相结合,可以精确地对由串扰引起的信号时序偏离进行建模和计算,从而提供了可解决VDSM信号完整性问题的方案。PrimeTi
9、me的使用,将大大缩短验证时间,提高芯片设计的成功率。,(3)形式验证(Formality Verification),当RTL代码经综合生成网表,或插入扫描链,或经过布局布线后,必须保证所得到的网表与上一个操作步骤的设计要求是一致的。传统的方法是采用门级仿真来给予确认,但是对于大规模的ASIC来说,需,要大量的测试向量和仿真时间,并且无法确保测试的完整性。形式验证技术是EDA行业公认的在未来IC及SoC测试验证领域最为有效、最具前途的一项技术,该技术能够解决关键的验证问题,并能增加功能覆盖率,同时可极大地缩短达到目标测试率所需花费的时间。形式验证技术可分为三类:等效性检验、模型检验和理论验证
10、,理论验证是可用的形式验证技术中最为先进的,但仍须进一步研究;模型检验是将一个设计与一组现存的设计所表现出的逻辑属性相比较,这些逻辑属性是设计规格的直接表述,生成逻辑属性时,模型检验的使用比等效性检验涉及得更多一些。,在这三种形式验证方法中,等效性检验用得最为广泛,它用数学方法来验证参考设计与修正设计之间的等效性。利用等效性检验工具可对这两种设计方案进行彻底的检验,以保证它们在所有可能的条件下都有一致的性能,还可以利用等效性检验来验证不同RTL或门级实施方案的等效性。等效性工具在比较两个电路逻辑行为的同时,可确保设计流程的一致性,其目标是将结构性检验用于处理百万门级电路设计。在HGSOC设计中
11、,我们采用了Synopsys公司的Formality工具,它可以无需测试向量即可比较设计流程不同阶段是否等价,可以在数个小时内完成复杂的百万门级SoC设计的RTL-Gate验证,而采用传统的门级仿真往往需要数个星期甚至数月时间。,(4)板极验证,建立基于SoC开发平台及嵌入IP核测试芯片的功能样机,在各种物理条件上更接近于芯片未来实际运行环境,仍然是目前对于复杂SoC软/硬件设计、调试、模块及系统功能和性能测试的最有效的手段。在HGSOC设计中,我们建立了基于HGSOC FPGA测试芯片的功能样机。,8.3 HGSOC芯片功能验证样机的组成,基于HGSOC FPGA芯片的家庭网关功能验证样机(
12、简称HGSOC芯片功能验证样机)具有较为复杂的软/硬件结构,HGSOC芯片的开发及测试验证工作量都非常大,除了进行VDSM IC设计流程中所需要的各种仿真测试之外,还需要进行静态时序分析、形式验证、功耗优化和软/硬件协同验证等。通过对国外同类芯片设计工作的了解,目前对于SoC系统方案、软/硬件开发、测试最为有效的方式依然是采用开发功能测试样机,功能样机的开发实际上包含了家庭网关系统集成的工作,其内容已超出了传统IC芯片的测试工作范畴,下一步市场推广HGSOC芯片时,可作为家庭网关的参考设计,提供给用户作为家庭网关产品设计的起点。,开发HGSOC芯片功能验证样机的目的是:为软件开发调试提供运行平
13、台,使软/硬件联调工作尽早开始。 测试软/硬件模块的功能及性能指标是否满足设计要求。 测试HGSOC芯片软/硬件系统设计方案的正确性。 验证基于HGSOC芯片的家庭网关系统解决方案的正确性,获得相关的技术指标参数,为方案的改进提供依据。,FPGA综合工具,我们采用Xilinx ISE 6.03i for Windows 2000工具,设置正确的Project Attributes和User Constraints参数,综合结果:面积规模约为362,862等效门,系统时钟频率为40MHz,产生Bit stream文件hgsoc.bit,可下载到FPGA中,进行FPGA芯片测试和验证。根据项目的实
14、际情况和进度要求,我们建立了基于ARM公司SoC集成开发系统的功能样机(如图8-1所示),该样机主要由ARM SoC开发系统和HGSOC用户逻辑板CLM组成,构成了一个完整的家庭网关样机。HGSOC芯片功能验证样机可利用ARM公司SoC开发系统上的软/硬件资源,具有开发难度低、时间短的优点。ARM SoC开发系统为片上系统的开发提供了高效、灵活的核心软/硬件开发平台,可缩短基于ARM处理器核的IC设计软/硬件开发时间,增加系统投片的可信度。整套ARM SoC开发系统由AP平台板(ASIC Development Platform)、CM模块板(ARM Core Module)以及相应的支持软件
15、和调试工具组成。,AP开发板是基于ATX架构的母板,支持开发ARM处理器上的应用程序开发和硬件设计。AP板可支持多达4个处理器,提供时钟、总线分配、中断处理,并可通过Flash ROM或Boot ROM、输入/输出资源提供操作系统支持。AP板有很强的扩展能力:系统扩展总线允许CM或LM板直接安装,最多可达5块;PCI桥支持PCI扩展板;扩展PCI总线使AP板可安装在CompactPCI卡架上。,AP板的组成如图8-2所示,其主要特性如下:支持多达5块CM或LM(Logic Module)子板,逻辑子板是ARM处理器核ASB、AHB、APB外设的开发平台。 32MB Flash ROM。 512
16、KB SRAM。 Boot ROM。 系统控制器FPGA:提供整个开发系统的控制器功能,协调了整个系统的工作,包含以下标准外设:,键盘、鼠标、串口、时钟控制器。, 3个计数器、32 bit的通用I/O、中断控制、扩 展总线接口,系统总线接口:支持系统总线与APB、PCI、EBI总线之间进行数据传输,提供到CM、LM及扩展的系统总线接口,其中HDRA和HDRB连接头与ARM核模块(CM)连接,EXPA和EXPB连接头与逻辑模块(LM)连接。,系统总线总裁:支持6个总线主控制器,最多5个CM或LM模块,1个PCI桥。仲裁方式为以PCI桥的总线申请优先级为最高,其余总线申请具有同样的优先级,采用循环法,使每一个总线控制器都有相同的总线访问概率。在开发系统中,,由于无法预知总线控制器的优先级,这样的设计很重要。新的总线主控器申请在以下情况会得到总线使用权:当前总线控制器完成传输任务后放弃总线;从控制器发出撤销响应;总线使用超时。,中断控制:向ARM处理器发出的一般中断IRQn或FIQs,中断源可以是外设控制器、PCI总线或逻辑模块上的外设。中断源也可向任意ARM处理器(有多个ARM处理器时)发中断请求,通过对系统控制FPGA中的寄存器进行设置,可以对中断使能、屏蔽、应答、清除。,