- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用FPGA测试的一些有效方法北京工业大学北京嵌入式重点室
使用FPGA测试的一些有效方法 北京工业大学 北京市嵌入式重点实验室 邹杨 林平分 王普 方穗明 引言 随着芯片设计技术越来越成熟,越来越多的产品选择使用SoC(System on Chip)的技术实现。然而,每一次流片不一定都能达到预期的效果。根据Synopsys公司统计,有超过60%的公司需要重新流片(respin)。在这个过程中浪费了大量的金钱,一次修正平均的花费就超过100万美元。如果一旦错过了商品推出的最佳时机,那么错过市场机会的代价则以数千万美元计,甚至更高。据统计,在需要respin的芯片中有43%是在前端的设计和实现的时候产生的逻辑功能错误。如何避免或减小如此高的风险是每一个设计单位思考的问题。现在行业内有两种解决此问题的方案,第一种方案是利用越来越先进的EDA仿真工具仿真测试。业界产品的两大巨头Synopsys和Cadance都推出了自己的解决方案。然而,EDA工具非常昂贵,却不一定能满足每一个项目的要求。另外,EDA工具的仿真时间很长。用一套无线通信系统举例,初始化的过程就需要半天的时间,每收发一帧都需要3-4个小时,因此在有限的时间内不可能完成比较全面的测试(测试时采取的都是并行运算的方式,工作站都是Sun Blade2000的配置)。最后,仿真软件再完善也不是实际的硬件操作,因此某些只可能在硬件上发生的问题,无法通过仿真来获得。比如某些时序问题和功耗问题。另外,硬件的脾气比较古怪,经常会出现一些意想不到的状态,这些都是仿真软件无法模拟出来的。第二种解决方案是采用FPGA进行真实的硬件测试。比如Xilinx公司的EasyPath解决方案。然而使用这种方案也面临着一些需要解决的问题,比如如何使设计的产品可以既在ASIC上工作,又在FPGA上正常工作,如何保证FPGA与ASIC的一致性。针对这些问题的解决方法是本文重点讨论的内容。本文的测试实例和测试方法均来源于北京市嵌入式重点实验室的无线局域网芯片项目,本项目的产品目前已经成功流片。这些测试方法的应用对项目的顺利进展起到了关键性的作用,起到了良好的效果。时序问题的解决 我们知道FPGA可以接受的时钟和所允许的时序远远低于ASIC。但作为ASIC产品而言,我们在设计的时候又往往采取较高的时钟速率。由于ASIC时钟树与布线相对自由,故对于高速率设计解决起来相对容易。对于Xilinx FPGA而言,尽管采用了90nm工艺的Virtex-4可以支持的性能高达500M[1],但是其时钟树和布线资源相对固定,因此一旦在编译和布局布线的时候处理不当,就会产生时序冲突(timing violation)。产生时序冲突的结果,轻则使设计的逻辑与实际布局布线后的网表不一致,重则导致布局布线根本无法通过,从而致使验证无法进行。 我们在解决时序问题的时候采取了五种不同的方法。其中一种方法是应在设计中就加以注意,两种在综合的时候进行,还有两种在布局布线时采用。 设计过程中注意时序问题 若希望设计的产品能够在FPGA验证平台上顺利的完成验证,在设计过程中就需要注意尽量多的使用FPGA的内部资源,如DSP48,乘法器,RAM,DCM等。 在我们的设计中有不少滤波器,这些滤波器正好可以使用DSP48[2]这个模块。该模块如图-1所示,为乘加结构。滤波器若不使用这种模块,则需进行大量的乘、加运算。这样不但浪费资源,而且很容易导致时序无法满足要求。而如果使用这样的模块,则基本上所有的滤波器都不再处于最差路径上。
图 1 DSP48示意图
对于乘法器,如果使用slice搭建不仅浪费资源,而且性能差,位宽一旦比较宽就会导致时序出现问题。Xilinx的ISE中配有Core Generator这个工具。通过该工具可以生成需要的乘法器。使用这些乘法器来代替普通的乘法器,可以达到满意的效果。除了乘法器,还可以使用该工具产生RAM和DCM等,在此不再赘述。综合过程解决时序问题 我们使用Synplicity公司的Synplify工具进行综合,这是业界通常使用的综合工具之一。选择该工具最主要的原因在于它与Xilinx的FPGA配合的很好。我们做过实验,通过该工具综合产生结果报表,再通过ISE产生真实布局布线后的报表。对这两个报表的时序估计部分进行对比,我们发现两者之间惊人的相似,最差路径之间的差别不超过1ns。 我们知道,综合的时候需要设置约束,最重要的是时钟约束。这个约束限制了系统工作的频率。为了降低系统对于时钟抖动的敏感性,我们采取的第一个方法是在设置时钟约束的时候将此约束值设的略高于实际的时钟频率。这样做有一个前提,那就是在综合后不得有负的时钟余度(time slack)出现。当没有负的时钟余度出现的时候,提高时钟约束可以有效避免因时钟抖动而引入的时序问
您可能关注的文档
最近下载
- 产科质量控制工作总结.pptx
- 2025年安徽职业技术学院单招职业适应性考试题库及参考答案.docx VIP
- BOSE博士 SoundTouch SA-5 功放 快速启动指南 简体中文.pdf
- IPC JEDEC-9704基础讲解丨PCB应力应变测试.pdf
- 统编版小学语文三年级下册 第七单元复习卡.doc VIP
- GB+16423-2020金属非金属矿山安全规程.docx VIP
- 高中通用技术苏教版2019必修 技术与设计1(2019)第3章 发现与明确问题 公开课公开课.pptx VIP
- 药店销售流程与技巧.ppt VIP
- 2024年《民用航空法》考试复习题库及答案(含各题型).pdf VIP
- UG经典技巧(一)_中国模具论坛网.doc VIP
文档评论(0)