FPGA板级测试若干方法小结

2015-05-22 17:07:49来源: ednchina
1)有关时序问题

学习过FPGA的都知道,FPGA可以接受的时钟和所允许的时序远远低于ASIC。这是由于ASIC时钟树与布线相对自由,故对于高速率设计解决起来相对容易。对于Xilinx FPGA而言,尽管采用了90nm工艺的Virtex-4可以支持的性能高达500M[1],但是其时钟树和布线资源相对固定,因此一旦在编译和布局布线的时候处理不当,就会产生时序冲突(timing violation)。产生时序冲突的结果,轻则使设计的逻辑与实际布局布线后的网表不一致,重则导致布局布线根本无法通过,从而致使验证无法进行。
   2)设计过程中注意时序问题
若希望设计的产品能够在FPGA验证平台上顺利的完成验证,在设计过程中就需要注意尽量多的使用FPGA的内部资源,如DSP48,乘法器,RAM,DCM等。 毕竟IP核提供商最懂它们自己的产品。例如使用Xilinx工具时,Xilinx的ISE中配有Core Generator这个工具。通过该工具可以生成需要的乘法器。使用这些乘法器来代替普通的乘法器,可以达到满意的效果。除了乘法器,还可以使用该工具产生RAM和DCM等。这些直接生成的IP性能都非常好。
   3)综合过程解决时序问题
使用Synplicity公司的Synplify工具进行综合,这是业界通常使用的综合工具之一。选择该工具最主要的原因在于它与Xilinx的FPGA配合的很好。有人做过实验,通过该工具综合产生结果报表,再通过ISE产生真实布局布线后的报表。对这两个报表的时序估计部分进行对比,我们发现两者之间惊人的相似,最差路径之间的差别不超过1ns。
   4)布局布线阶段解决时序问题
当综合工作完成,进入布局布线的阶段后,仍然有两种方法可以改善逻辑时序问题。第一种是手动增加并调整BUFG(Global Clock Buffer)。BUFG是Xilinx的全局时钟资源,所有时钟树的起点都是BUFG,位于FPGA的北极和南极。当布线后仍有负的slack时,有可能是某些当作时钟使用的信号没有被放上时钟树,此时就要手动将这些信号放上BUFG。若遇到门控时钟,还应该使用BUFGMUX资源。

5)代码一致性
对于经过FPGA验证的代码而言,最担心的是经过验证的代码和进行流片的代码不一致。导致这个现象产生的原因是多种的,其中版本控制和由于FPGA、ASIC专用器件不一致而引起的问题是最常见的两个问题。
对于经过FPGA验证的代码,为了能够使被测代码可以顺利的在FPGA进行验证,一般都采取了FPGA专用的器件。这些FPGA专用器件在ASIC中是不存在的。为了解决这个问题,通常采取"假代码"(Fake Code)解决。顾名思义,"假代码"就是在代码中保留FPGA专用器件的名称和接口,但是在FPGA和ASIC中使用不同的器件内核。该器件若在FPGA下使用则使用FPGA专用器件,若在ASIC下使用,则使用自己编写的代码。尽管这种做法仍然无法保证代码的完全一致,但是却最大限度的避免了代码的差别。

关键字:FPGA  板级测试

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0522/article_11866.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
FPGA
板级测试

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved