![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| 运用FPGA测试的一些有效办法 | |||||
作者:Free 文章来源:本站原创 点击数: 更新时间:2008-2-20 ![]() |
|||||
|
【关键词】 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所示,为乘加结构。滤波器若不运用这种模块,则需进行大批的乘、加运算。这样不但挥霍资源,而且很容易导致时序无法满足请求。而如果运用这样的模块,则基础上所有的滤波器都不再处于“最差路径”上。
|
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|