FPGA是ASIC设计者的一道普通难题?
来源:EDN China 作者: 时间:2007-10-18 18:45
过去 10 年来,FPGA 供应商在克服 FPGA 缺点方面取得了很大的进步,并从 ASIC 市场赢得了份额。在 90 年代末,FPGA 供应商增加了器件的容量,以抗衡中等规模 ASIC。然后在大约 2001 年,FPGA 供应商改进了器件的性能,与中等规模的 ASIC 竞争。尽管 FPGA 的功耗仍然远远高于密度与性能相当的 ASIC,但去年,FPGA 供应商迈出了一大步,稳定了 FPGA 的功耗(参考文献 1)。
在实现器件属性的同时,FPGA 价格也在下降。Actel、Altera、Lattice、Quicklogic 和 Xilinx 都提供范围广泛的器件,从每只几分钱的 CPLD(复杂可编程逻辑器件)到加密的非易失性 FPGA,还有高性能、高 LUT(查寻表)数、基于 SRAM 的 FPGA,它每片价格高达数千美元。
在 FPGA 业的早期,设计者主要将最昂贵和最高级的 FPGA 用于原计划用 ASIC 实现的功能原型代码,或用作系统设计的概念验证。他们会为自己的 ASIC 创建逻辑,运行验证,作 ASIC 设计分区,然后将这些分区编入一块原型板上的多个 FPGA 中(参考文献 2)。今天的设计者仍然使用这种方法,不过,由于 FPGA 各方面都有了提高,很多设计者甚至将最高级和最昂贵的 FPGA 用于生产部件。
我们很容易从一家 FPGA 供应商找到一位对 FPGA 赞不绝口的营销执行官,他会大谈 FPGA 如何取代 ASIC 的份额,甚至是用于量产。设计者也正在逐步认识到 FPGA 确实是真正可行的量产载体,设计者应当不再简单地把 FPGA 看作一种 ASIC 原型工具。
![]() |
Sanjay Singh 是惠普公司不间断计算机部负责 ASIC/FPGA 设计的技术领导,他在职业生涯中设计过 10 种 FPGA 和 25 到 30 种 ASIC。他在 Tandem Computer 时开始设计 ASIC,后该公司在 1996 年被 Compaq 收购,HP 又在 2002 年收购了 Compaq。Singh 说:“我开始是用 0.5 微米为东芝不间断计算机做ASIC。”现在,他的小组正在用 110 纳米和 90 纳米节点设计 ASIC,并且当需要时,他的小组会用最高级的基于 SRAM的 FPGA(如 Altera 的 Stratix 级和 Xilinx Virtex 级器件)设计服务器应用。
Singh 说:“我们的系统基于 Intel 的 Itanium 服务器芯片,而我们设计的 FPGA 必须与内存、I/O 和处理器通信。我们的增值是在硬件上,因此必须完成通信功能、端口功能、数据完整性功能,以及复制功能。我们设计的 FPGA 一般是在处理器板上,终端系统价格将在一百万美元以上。”
另一方面,Ranjit Rozario 是新兴通信公司 Sonoa Systems 的一名高级设计工程师。这家公司的 100 名员工主要由软件工程师组成,Rozario 是其中少数硬件设计师之一。作为一名长期以来从事 ASIC的设计者,Rozario 最近第一次尝试了 FPGA 设计,最终选择了一片 Virtex-5 LX 220。
![]() |
Singh 和 Rozario 都认为,他们频繁地采用 FPGA有多种原因,但指出了用 FPGA 设计的优缺点。因此,当作这种转变时,ASIC 设计者必须考虑到多个因素,如设计规模、性能和功耗预算、PCB(印制电路板)要求、设计与验证要求,以及 FPGA 工具的局限。SRAM FPGA 也会带来新的挑战,例如软错误,这在 SRAM 结构中比标准单元更加常见。
为什么转向 FPGA?
设计者选择 FPGA 代替 ASIC 有几个原因:FPGA 是可重新编程和现场升级的,设计周期短于 ASIC(图 1);FPGA 对高成本、低批量应用有更好的价格;它们相对稳定,因此你可以避免重新投片、掩膜的费用,并免除购买DFM(可制造设计)工具。
但是 Singh 称他的小组使用 FPGA 主要有两个原因。首先是 FPGA 能使他的小组将大量功能从 PCB 上拿掉,集成到一片 FPGA 中,增加速度性能和节省 PCB 空间。第二个也是最有说服力的理由,Singh 说使用 FPGA 只是因为 ASIC 的单位批量有时无法分担掩膜、设计与工具的成本,并且最重要的还有风险(图 2)。Singh 说:“FPGA 已得到发展,在很多情况下,它们可以满足你对性能和密度的要求。如果你正在设计一款中等规模的中等级别 ASIC,你就该问问自己:‘我要花费 2 百万到 3 百万美元去做一个 90 nm 或 65 nm 的 ASIC 吗?或者我用 90 nm 或 65 nm FPGA 技术能否得到相同的好处。’”
Singh 指出,对于采用新架构、不需要像以往那样使用大量块的设计,他的小组更倾向于 FPGA 而不是 ASIC。由于 FPGA 可以重新编程,小组就可以尝试新的架构,当要修改时只需简单地重编程 FPGA。
与 Singh 的小组类似,Rozario 的小组亦更爱用 FPGA而不是ASIC, 主要是出于成本因素。Rozario 说:“当你是一家新兴公司并且资金紧张时,首先要做的事就是寻找一种 FPGA,因为它的开发成本低得多,并且没有掩膜费用。”
Rozario 称,他的公司希望在下一代产品中,用单片 FPGA 硬件实现很多软件功能,以实现功能的集成和提速。他说:“我们开始时确实不清楚要将哪些功能移到芯片中,哪些功能需要加速。”他青睐 FPGA 的原因是小组在进程后期需要加快速度时,能够在 FPGA 上增加或减少功能。“FPGA 最棒的地方是你一直有改变的选择权。”
尽管选择转用 FPGA 相当简单,但 Rozario 和 Singh 也指出用 FPGA 作设计需要经过一些学习。两个工程师都认为,你在决定采用 FPGA 后,下一步就是选择一款正确的型号。
确定 FPGA 需求
设计者需要从多个供应商那里查看有哪些可用的 FPGA 系列产品,找到性能、功耗与密度的正确组合。但购买时要记住:当从 ASIC 转向 FPGA 时,设计者需要了解的第一件事是确定一个性能等级指标,你购买的器件密度应比自己需要的高 20%。
对于 Singh 迄今使用最多的 10 种 FPGA,他表示大多数选择的因素是要符合公司对批量与性能的要求。他解释说:“在所有这些情况下,我们都必须从频率、I/O 时间和使用率各个方面对设计作全面分析”。他的小组使用了一种经验法则,即如果你正在使用设计总资源的 60% 至 75%,则从一种编译到另一种编译之间的小变动就会给你一个满足性能需求并在实验室中完成的好机会。不过他也指出,如果你跨越了 85% 的使用界线,就可能无法获得需要的性能。
![]() |
Singh 称他的小组设计出使用率高达 95% 的 FPGA,并达到了性能目标,但花费了大量工作。Singh 说:“你必须非常熟悉 FPGA 及其工作原理。在 ASIC 领域,你可以编写 TCL(工具指令语言)原程序,并查询数据库以获得你想要的东西,但在 FPGA 中,没有这么成熟的工具。它们通常是基于 GUI (图形用户界面)的。”
Rozario 说,当他第一次在市场上寻找 FPGA 时,打动他的是供应商已经为满足多数性能和密度要求而改进了器件。然而,FPGA 仍然没有达到与 ASIC 相同的顶级速度或密度水平。如采用基于 SRAM 的最高级 FPGA,当按比例缩减功能,达到完全优化时,最高速度为 550 MHz,而 ASIC 的最高速度可以达到该性能的两倍。据 Xilinx 说,Xilinx Virtex-5 是现有最大的商用 65 nm FPGA,它有 33 万个逻辑单元,或大约等效于 1200 万个 ASIC 门。
Rozario 最初担心 FPGA 的性能局限。但 FPGA 的速度与密度都令他吃惊。他警告说:“如果你过去习惯于设计 ASIC,那么在 FPGA 上肯定必须降低对性能的期望。”Rozario 指出,在第一次设计时,他的小组使用了 80% 的 Virtex-5 LX 220 资源,并达到了设计项目的性能目标。
FPGA 供应商今天通常会提供自己器件的专用型。一个额定的 FPGA 产品系列通常有一种传统的门海 FPGA,以及一些面向特定市场的变型。有些器件面向网络应用,包括有硬接线的 SERDES(串行器/解串器)核;其它器件面向通信应用,带有硬接线的 DSP 块。所有这些都含有相当大数量的内存。例如,Xilinx 为高性能逻辑提供 Virtex-5 LX,为带串行连接的高性能逻辑提供 Virtex-5 LXT,而为带串行连接的高性能 DSP 提供 Virtex-5 SXT,为带串行连接的嵌入式处理提供 Virtex-5 FXT。
Singh 和 Rozario 都说,为你的应用选择正确器件极其重要,因为带有不需要硬接线核的 FPGA 会消耗资源,可能在设计周期后期成为布局的路障,妨碍实现自己的性能目标。
两位设计者都没有做过功耗是主要考虑因素的应用,但 Singh 称做低功耗设计的小组必须考虑 FPGA 的功耗问题,虽然 FPGA 供应商已做出巨大努力来控制 90 nm 和 65 nm 节点下的总功耗与泄漏。
Singh 说,他的小组对功耗问题采取的唯一步骤是关断采用时钟门控技术的硬接线 5 Gbps SERDES。他说:“新型 FPGA 能非常好地处理低功耗问题,并且你可以用很多技术来降低功耗,但是我们还没有使用到它们。”当然,随着服务器应用越来越把功耗作为一种卖点,情况也会发生变化。
相同性能与节点工艺的 ASIC 功耗一般比 FPGA 小得多,不过 FPGA 供应商们正致力于取得这方面的进展。Xilinx 与 Altera 称已实现了稳定的泄漏功率,因此它们的 65nm 器件的泄漏功率不超过 90 nm 器件的水平。
适合系统需求
除了确保 FPGA 能满足性能、密度和功耗目标以外,设计者还必须考虑 FPGA 对 IC 封装和 PCB 的影响。FPGA 芯片通常在 PCB 上占用面积较大,它们密集的 I/O 一般也需要设计者为 PCB 增加更多层数,以处理这些 I/O 的走线。它们还需要更先进的封装和 PCB 信号完整性分析及足够的空间,用于容纳为 FPGA 正确供电的额外电源电路。所有这些要求都会增加设计周期和终端产品的成本。
Rozario 指出,对于这个设计,该小组没有其它运行在 1V 的器件,因此,为适应 FPGA,必须要在 PCB 上多放一个电源块,为器件供电。他提到,这个步骤没有问题,因为 PCB 比其上的 FPGA 大一点。
除了选择一款满足系统性能、功耗和密度目标的器件,你还要查看 FPGA 供应商与独立 EDA 供应商提供哪种工具(图 3)。多年前,Altera 的 Quartus 开发套件出现了可用性问题,遭遇了一个相当大的挫折。该公司
下一篇:FPGA助力高端存储器接口设计