FPGA芯片快速选型的「4」个方面

如果你在采用FPGA的电路板设计方面的经验很有限或根本没有,那么在新的项目中使用FPGA的前景就十分堪忧——特别是如果FPGA是一个有1000个引脚的大块头。阅读本文将有助于你的FPGA选型和设计过程,并且有助于你规避许多难题。

1. 供应商

你面临的第一个问题当然是供应商和器件的选择。通常供应商决策倾向于你以前接触最多的那家——如果你是一位FPGA初学者当然另当别论了。或许这个决策早已由设计内部逻辑的工程师(也许就是你)依据熟悉的供应商或第三方IP及其成本完成了。

供应商的软件工具也会影响到上述决策。下载并使用这些软件工具,不需要硬件就能将设计带入仿真阶段。这也是判断需要多大规模的FPGA的一种方式,前提是你的内部逻辑设计基本做完了。

要想知道FPGA的水有多深,需要多逛逛各家供应商的网站。如果你想从这些网站提供的海量(而且并不总是想象中那么清晰的)信息中有所收获,必须确保你有一整天空闲的时间。

接下来是选取FPGA的系列和规模。供应商都会将它们的产品细分成多个系列,通常以低端、中端和高端性能(和规模)这样的模糊概念加以区分。片上RAM需要多大?要多少DSP/乘法模块,或千兆位收发器?

你可能需要通读一遍数据手册,找出诸如最大时钟频率和I/O时延等参数来帮助你选择正确的系列。需要重申的是,拥有HDL代码是有很大帮助的,因为设计软件可以让你知道适合哪种器件,它们是否能够满足你的性能要求。

你的应用还可以从不改变PCB就能更新器件中受益。一些FPGA系列包含众多引脚兼容的器件,可以在需要时让你切换到更大(或更便宜和更小)的器件。只是要确保针对最少数量的引脚输出进行设计。

不要忘了考虑其它一些细节,比如如何为不同的供电电压和I/O标准划分I/O组、PLL要求以及DDR接口要求。

2. 需要更多的功率

通常很难计算一块电路板要求的最大电流。但FPGA电源设计相当有技巧。FPGA所需电流很大程度上取决于逻辑设计和时钟频率。同样一个器件在一个设计中可能只需0.5W,而在另一个设计中可能高达5W。

开发工具(或一个独立的程序或电子数据表)应该可以为给定设计提供功率预估值,但它们需要从你那儿得到许多附加信息,其中一些可能只是有根据的推测。如果有FPGA开发板,就应该有方法测量各种情况下的供电电流。一些开发板甚至内嵌电流计显示器,只是要确保增加足够多的余量来应对设计更改以及特殊工艺/温度要求。

下面是“难题”可能会出现的时候:

  • 做热分析,并在必要时增加散热器。
  • FPGA要求按顺序加电吗?(你的设计很容易出现5个或6个电源)
  • 至少可能需要一个“安静的”电源,通常用于片上PLL。可以使用LDO加上一些无源滤波器件。千兆位收发器电源也能从低噪声中受益。
  • 确保你理解FPGA在上电和初始化时在做什么事。许多器件在这个时候需要抽取很大的电流。
  • 3. 引脚及其他

    接下来可以认真考虑引脚分配这件大事了。同样,如果你的逻辑设计已经达到可以被编译的阶段,就让设计软件来提供帮助吧,或至少在做电路板之前验证你分配的引脚是可行的。你当然已经处理过明显的资源,比如根据供电电压划分I/O组,确保诸如LVDS、SSTL或内部50Ω终端等“特殊”引脚设置兼容它们所在的组和供电电压。

    但在许多器件中存在更深层次的微妙关系:在“不要在单端信号的2个IC绑定焊盘内放置差分对”,或“类似于参考电压的输入必须距离时钟信号至少3个焊盘远”等字里行间隐含着复杂的规则。这些规则很容易让人发疯。如果让人不堪忍受,就让设计软件为你指出违例吧。如果你不这样做,那么这些问题肯定会让你疲惫不堪。

    接地反弹或并发开关噪声(SSN)是另外一个考虑因素。由于FPGA的应用方式太多,所以供应商经常为最好的场景设计电源分配方案。如果你的设计要充分发挥I/O功能,比方使用数量很多的快速同时开关输出,那么你可能需要“减少”实际可以使用的引脚数量。尽量减小驱动和压摆率设置通常是一个好主意。设计软件也可能帮助进行SSN分析。我认为减小SSN的一个技巧是将未用引脚连接到地,然后在设计文件中将它们设置为输出,驱动‘0’。这些引脚将被用作伪地引脚,虽然质量没有真实地好。

    4. 交付

    现在是将凝聚了你心血的产品交付给PCB版图设计的时候了。这里笔者不想深入讨论PCB设计,但会指出针对FPGA设计需要考虑的一些事项。

    堆叠设计对任何复杂的电路板来说都很重要,而在最复杂的电路板中通常都能找到FPGA的身影。随着500引脚芯片被认为是“中等规模”以及不断缩小的引脚间距,你可能需要十分留意走线逃逸图案、焊盘中的过孔、引脚区域内的去耦电容以及电源与地平面。

    一定要有创造性。必要时可以分割电源平面(当然要避免高速走线)。如果足够小心,一些电源连接(通常是局部的电源,如PLL电源)可以放在信号层上。将一些关键平面和信号放在最靠近FPGA的层。留意一些专门的版图建议,比如针对DRAM的一些建议。

    免责声明:本文转载于网络,转载此文目的在于传播相关技术知识,版权归原作者所有,如涉及侵权,请联系小编删除(联系邮箱:service@eetrend.com )。