面向FPGA的EDA工具突破复杂性屏障
扫描二维码
随时随地手机看文章
FPGA器件不仅提供可与许多ASIC器件媲美的运行速度和门电路容量,而且促进了EDA工具在该市场中的发展。
要点
FPGA 提供单片系统设计需要的功能。
多数 FPGA 厂商提供自己的开发支持软件。
灵活地以多个厂商的器件为目标的工程师们需要来自传统 EDA 厂商的软件工具。 半导体制造技术的进步是 FPGA 普及性提高的主要原因。过去,只要工程师们能够只使用一块 PLD 或 FPGA 来实现比较简单的胶合逻辑电路,使用具有更大灵活性和更低批量生产成本的ASIC 器件就是在 IC 上实现特定功能的唯一解决方法。现在,FPGA 厂商们正在以 130 纳米和 90 纳米以及1/2间距尺寸来制造器件。这些器件不仅使设计师能实现需要 100 多万个逻辑门的电路,而且还能提供丰富的 IP(知识产权)芯核库,可用以缩短开发时间,降低成本。而与此同时,利用同样的 130 纳米和 90 纳米技术制造的 ASIC 器件,其 NRE(一次性工程)成本却急剧上升。可见,犯一个需要一套新掩模的错误,就会轻易付出 25 ~ 100 万美元的代价,代价大小视错误严重程度而定。
因此,管理人员经常选择使用 FPGA 器件,要么是为了实现产品的整个寿命,如果应用系统只需要几万个器件的话,要么是为了制造原型产品和提高批量。一旦批量生产表明一个设计很稳定,工程师们就可以把该设计移植到 ASIC 器件上。移植一般是很容易的,因为在大多数应用系统中,工程师都不利用器件的现场可编程能力——一度是把这些器件与 PLD 区分开的主要特点。FPGA 器件之所以有吸引力,乃是因为修改某种实现方法的费用实际上等于工程开发费用。因此,FPGA器件允许工程师们使用具有吸引力的调试方法尤其是使用在硬件和软件的集成要求尽可能早地在开发周期内就有硬件原型的嵌入式系统中。FPGA 结构中没有标准的微处理器芯核,这曾经严重妨碍工程师把这些器件用于嵌入式软件系统中。但是,从 130 纳米工艺节点开始,Altera 公司和 Xilinx 公司业已提供了微处理器芯核,ARM 公司也已经使其专为 FPGA 定制的库中的标准微处理器芯核可供使用。设计师们还需要一个由协处理器和外设 IP 芯核组成的库,以便利用 FPGA 器件来实现真正的 SOC(单片系统)产品(见附文《嵌入式软件和 FPGA:为黄金时间做好准备的搭档》)。
FPGA 厂商目前提供的产品的密度和速度,令人信服地使 IP 厂商把他们的产品移植到 FPGA上。DSP 芯核和图形显示芯核正变得可供使用。当然,芯核和专有逻辑块在器件内部必须互相通信,而工程师们直到最近才利用总线完成了这项任务。所有三种受欢迎的微处理器芯核,即 Altera 公司的 Nios 和 ARM922T(通过与 ARM 公司的许可证协议获得)以及 Xilinx公司 的 PowerPC(通过与 IBM公司的许可证协议获得),都使用标准的总线。但是,在芯核之间传输数据和控制信息所需的速度,已促使 Nallatech 公司开发一种用于 FPGA 的更快速通信方法。
根据 Nallatech 公司系统应用工程师 Craig Sanderson 的说法,系统通信可能要花去系统开发时间的 80%。面向 FPGA 计算应用系统的 Dimetalk 通信开发工具,使开发人员能够部署利用多个 FPGA 跨越各个系统的分组网络。设计师可以把接口节点部署在网络内的任何部位,也可插入逻辑块来与外部接口通信。
FPGA要在系统设计中广泛运用,剩下的最大障碍就是它们的单位成本。即使大批量生产,一个 FPGA 器件的成本也高于用 ASIC 或结构化 ASIC 工艺实现的相同设计。但是,某个部件在制造期间的单位成本,在总体产品成本方程中正在失去其重要意义,而伴随每一种工艺技术的使用,开发成本以及与失去市场机会有关的代价正在上升至少一个数量级。同时,ASIC 和 FPGA 之间在器件单位成本方面的差别正在缩小。
厂商提供的工具
自2004年6 月份以来,Actel公司、Altera公司、Lattice公司 和 Xilinx公司 都推出了各自软件的新版本。所有 FPGA 厂商都把第三方软件装入自己的产品中。EDA 厂商为 FPGA 厂商提供各自产品的定制版本,这些定制版本一般都没有原始工具的全部功能和能力,这是因为 FPGA 厂商可以以相当低的价格提供各自的工具。
Actel公司 的理念是把自己的资源集中用在布局布线的后端流程,这就要求深入而清楚地了解体系架构。Actel公司 在 1994 年率先推出了面向 FPGA 的静态时序分析,以帮助设计师在把设计交给芯片制造商之前实现时序收敛。该公司与传统的 EDA 厂商联袂提供前端工具,比如 Mentor Graphics 公司的 ModelSim 逻辑仿真器、Synplicity 公司的逻辑综合 Synplify、Magma 公司用于物理综合的 Palace。Actel把这些售价为595~2595美元的工具集成在 Libero IDE(集成设计环境)中。Libero IDE三种配置,视客户需求而定。面向 FPGA 开发的设计流程已经变得很复杂了(图 1)。对于那些更喜欢使用自己的 EDA 工具的设计师而言,Actel 公司的 Designer 包括布局布线工具以及静态时序分析产品。
FPGA 设计方法的复杂性类似于 ASIC 设计的复杂性。 Altera 公司向客户提供的 Quartus II 有 CD 和网上产品两种形式。网上产品为用户提供一份150 天后过期的许可证,并且只支持该公司的部分器件。自成立之日起,Altera 公司就投入了大笔资金来开发和支持自己的设计工具。它在企业内部开发 FPGA 开发流程中的几乎所有工具,其中包括逻辑综合工具和物理综合工具。Altera 公司相信,一个 FPGA 厂商在既开发新产品的体系结构又开发新产品的综合工具时,要比不了解综合技术时能更好地洞悉优化器件结构的最佳方式。逻辑仿真是 Altera公司只使用第三方产品的唯一领域。Quartus II 是Altera公司生产的Mentor Graphics 公司 ModelSim 的翻版,但却支持 Cadence 公司的 Incisive 仿真平台。您还可以将 Synplicity 公司和 Synopsys公司 提供的工具与 Quartus II 中的各种工具一起使用。Quartus II 的最新版本引入了时序优化功能和资源优化功能,以及在用户设计周期内对用户进行指导。在调试期间,工程师们也可以在调试期间得到 SignalTap II——一种嵌入式逻辑分析仪查看程序的帮助。可以通过年度订用许可证方式来获得 Quartus II 软件,起价是 2000 美元。
Lattice Semiconductor 公司推出 ispLever 设计工具套件的 4.1 版。它包括可编程逻辑设计从概念到最后实现所需的所有工具。它包括的工具有设计输入工具、项目管理工具、设计调整工具、布局布线工具、平面规划工具、器件编程工具和芯片逻辑分析工具。工程师们可在 Synplicity公司 或 Mentor公司 的综合产品之间做选择,而且还可得到一个为基于 Lattice 产品的设计而定制的 ModelSim 版本。Lattice 公司也提供自己的功能仿真器。ispLever 的标价从 995 美元开始。
Xilinx 公司是另一家在 EDA 工具开发方面投入大量资金的 FPGA 厂商。该公司的 ISE 设计工具有五种配置,你可以从中选择。Xilinx公司最近用6.3i 版本更新了ISE 开发环境,6.3i 版本支持FPGA 用户的从前端至后端的整个流程。在前端,ISE 包括 Pace 和 ISE Floorplanner 平面规划工具。Xilinx 还收购了 Hier Design公司,现在可提供 RTL floorplanner Plan Ahead,可作为 ISE 客户单独购买的选件。工程师们可以将 ModelSim 或 Synopsys Verilog 仿真器与ISE一起使用。Project Navigator 是 ISE 的主要作业管理器,能使用户配置并驱动设计实现方法。ISE 提供一种由 Xilinx 公司内部开发的综合工具,不过 Synplicity公司、Mentor公司 和 Synopsys 公司也提供各种综合工具,工程师们可以将它们与ISE一起使用。ISE 的五种配置的价格不等,可从网上下载的软件包是免费的,而ISE Foundation则为2495美元。
第三方工具
曾经有很多年,可编程器件过于简单,EDA 厂商发现他们找不到足够理由把EDA工具推向市场。使用 FPGA 和 PLD 的大多数工程师都是印制电路板开发人员,他们没有机会利用那些以 IC 设计为目标的 EDA 工具。FPGA 厂商之所以开发自己的基于原理图的工具,乃是因为,即使在今天,印制电路板设计师仍使用原理图来使设计进入开发流程。FPGA厂商们不是将 FPGA 工具免费提供给大批量生产的用户,就是以低于 1000 美元的价格出售。随着器件越来越复杂,工程师们开始希望先验证设计,然后再在电路试验板上加以实现,这是因为使用示波器或逻辑分析仪来调试电路很费时间。现在已并入 Mentor Graphics 公司的Model Technology 公司曾很快进入该市场,目前在 FPGA 验证领域居统治地位,尽管其它一些 EDA 厂商也在参与该市场。
[!--empirenews.page--]
如今,工程师们也需要可靠的综合工具来开发 FPGA 设计,而且大多数支持 ASIC 综合的 EDA 厂商也提供 FPGA 工具。以印制电路板开发为主要市场的其它公司,如Altium公司 和 Aldec 公司,也已经认识到设计师必须采用系统方法来进行产品开发。工程师再也不能把 FPGA 看作一个对电路板的其余部分没有影响的单独系统。EDA 公司正在提供无缝集成制造商专用的后端 FPGA 工具的流程。虽然这些工具的价格一般比 FPGA 厂商提供的工具更贵,但它们却具有更多的功能,并能使设计师的工作与 FPGA 厂商无关。除了方便 FPGA 器件与印制电路板集成的产品以外,传统的 EDA 厂商已经把精力集中在验证和综合领域,把它们看作最适合第三方支持的两个市场段。
设计验证用在 IC 开发费用中占最大的比例,而且由于设计的复杂性和规模随着可用器件的精密复杂程度而提高,正在成为一笔很大的FPGA设计费用。当受过 ASIC 开发培训的工程师较多地转向 FPGA 器件时,他们往往倾向于使用他们熟悉的硬件描述语言。Verilog 在 FPGA 市场中一度几乎不存在,现在正在获得市场份额。Bluespec公司 和 Mentor Graphics公司都支持 Verilog 的最新版本SystemVerilog。Mentor Graphics公司 的 ModelSim 仍是 FPGA 市场上最受欢迎的逻辑仿真器。它支持设计师目前可获取的所有硬件描述语言。Cadence 公司的 Incisive 仿真平台和 Synopsys 公司的 VCS 主要用于那些已经把 FPGA 设计纳入传统 ASIC 设计中的设计流程。
此外,工程师们正在开始使用那些支持更高级别抽象的设计语言,比如 C语言 及其面向硬件的通用术语,以及 MathWorks 公司的 Matlab。Mentor公司 已推出的 Catapult C,使设计师能综合各种用 untimed C 描述的设计。Catalytic 公司提供的一种产品让那些使用 Matlab 的设计师能把一种浮点 DSP 算法转化成定点算法。使用任何可用于 FPGA 器件的 DSP 芯核的工程师都需要定点算法,而 Catalytic 使他们能够验证两种实现方法在 Matlab 环境中是等效的。FPGA 的在线调试提出了几项挑战。例如,时钟速度可能超过 200MHz,设计可能有多个电路以不同时钟速度运行。Agilent Technologies 公司已推出 16900 系列逻辑分析仪来解决各种问题,比如与被测器件连接、动态探测、查看并分析各种格式的系统行为。
综合
随着器件复杂性的增加,设计师需要更精密复杂的综合工具。虽然仍然可以仅利用逻辑综合来开发正确功能的 FPGA,但最精密复杂的设计则要求工程师们也使用物理综合来满足定时要求。物理综合不同于逻辑综合,这是因为物理综合在进行电路优化的同时,还要考虑最终的芯片布局。物理综合能对各种芯片布局进行实验,找出最能满足要求的布局,从而能处理更复杂的定时要求。除了第三方工具以外,Altera 公司和 Xilinx 公司还都提供自己的逻辑综合产品。Actel 公司和 Lattice 公司宁愿只提供第三方工具。
Mentor Graphics 和 Synplicity 这两家EDA厂商统治着 FPGA 逻辑综合和物理综合市场。直到最近,Synplicity 公司还只专注于 FPGA 市场;只是在最近一两年里,它才把兴趣扩大到结构化 ASIC 器件和传统 ASIC 器件。
该公司提供的产品有:Synplify,一种逻辑综合工具; Synplify Pro,这是一种功能更强大的Synplify版本;Amplify,它在 Synplify Pro上增加了物理综合功能。Mentor Graphics 公司涉足 FPGA 开发工具市场已有多年了,但在提供有竞争力的综合产品方面行动迟缓。凭借其 Precision 综合工具,该公司收复了被 Synplicity 公司夺去的地盘。
《Dataquest 公司2003 市场趋势》这一研究报告称, Synplicity 公司在 FPGA 综合市场上所占的份额为 44%, Mentor Graphics公司所占的份额为 43%。在 ASIC 市场上无可争议地居领导地位的Synopsys公司,在 FPGA 领域远远落在后面,居第三位。只要 ASIC 器件和 FPGA 器件的功能大不相同,各厂商就会指派不同的设计师小组来从事这两类器件的开发。虽然 Synopsys 公司以前曾两次试图进入 FPGA 市场,但都不成功,最后放弃了努力。不过,随着 FPGA 厂商开始使用 130 纳米工艺和 90 纳米工艺,FPGA 的性能证明它们既适合于 ASIC 原型开发,又可在早期生产中作为 ASIC 替代品。因此,FPGA 设计师也从事 ASIC 设计就变得很普遍了。Synplicity 公司和 Mentor Graphics 公司都已扩充了各自的 FPGA 工具来满足 ASIC 市场的部分需要。因此,Synopsys公司再次提供 FPGA 综合工具是顺理成章的。DC FPGA 公司凭借其流行而又成功的 Design Compiler 综合产品分享前端市场,并把参与 FPGA 开发的 ASIC 设计师作为目标。Magma 公司也因推出 Palace 而进入了 FPGA 物理综合市场,因为Palace是 Actel 公司提供的第三方工具套件的一部分。Bluespec 推出了一种支持SystemVerilog的综合产品,SystemVerilog是 Verilog 市场上拟议中的最新标准。
就实现某些DSP 功能,尤其是利用并行操作的算法来说,FPGA可能是有效的。很多 DSP 设计师不熟悉 EDA 工具。他们利用 MathWorks 公司的 Matlab 和 Simulink 来开始算法开发,然后再把设计转换成使用一个 DSP 和某些嵌入式软件的硬件实现方法。两年前Accelchip 公司推出的一种产品,能使工程师用 Matlab 和 Simulink 来开发并验证各种算法,然后用 FPGA 实现电路,无须用人工方法,用 VHDL 或 Verilog 重新实现设计。Synplicity 公司最近推出的 Synplify DSP,还能使设计师利用 Matlab 和 Simulink 来开始算法开发,然后生成能输入到综合工具中的 RTL 代码。Altera 公司的客户能使用该公司内部开发的 DSP Builder 来把各自的 Matlab 和 Simulink 设计链接到 Quartus II 环境。