Actel、Altera、Lattice Semiconductor和Xilinx是目前业界最主要的四大
FPGA供应商,为了帮助中国的应用开发工程师更深入地了解FPGA的具体设计诀窍,我们特别邀请到了Altera系统应用工程部总监Greg Steinke、Xilinx综合方法经理Frederic Rivoallon、Xilinx高级技术市场工程师Philippe Garrault、Xilinx产品应用工程部高级经理Chris Stinson、Xilinx IP解决方案工程部总监Mike Frasier、Lattice Semiconductor应用工程部总监Bertrand Leigh和软件产品规划经理Mike Kendrick、Actel公司硅产品市场总监Martin Mason和应用高级经理Jonathan Alexander为大家传经授道。
他们将就一系列大家非常关心的关键设计问题发表他们的独到见解,包括:什么是目前FPGA应用工程师面对的最主要设计问题?如何解决?当开始一个新的FPGA设计时,你们会推荐客户采用什么样的流程?对于I/O信号分布的处理,你们有什么建议可以提供给客户?如果你的客户准备移植到另外一个FPGA、
asic和结构化ASIC之间进行抉择?结构化ASIC或ASIC,你会建议你的客户如何做?
问:目前FPGA应用工程师面对的最主要设计问题是什么?如何解决?Actel:当用户通过TAP接口进行JTAG测试或者编程时我们发现了许多问题。与目前最先进应用的逻辑复杂度和速度相比,TAP接口和指令集是非常简单和慢速的。这导致用户想当然地认为TAP接口处的信号完整性没有问题,甚至设计中其他位置的其他信号也适当地进行了端接。虽然数据和时钟速率很慢,但是其边沿速率和其他任何信号一样快,因此必须进行适当的端接匹配。此外,我们发现很多用户在规划减小SSO/SSN问题。
Altera:功耗、性能优化、调试、接口复杂性、信号完整性和系统复杂度是FPGA开发工程师目前面临的最主要设计问题。
1. 功耗:Quartus II软件的PowerPlay功率分析和优化技术与Stratix III可编程功率技术可以帮助用户在设计过程中显著减小功耗。
2. 性能优化:关注点集中在如何实现FMAX,以及系统级性能(如通过PCI Express接口实现足够的吞吐量)。Quartus II软件提供精确时序预报的TimeQuest时序分析器允许用户定制系统需求的时序约束。
3. 调试:传统上,工程师会使用一台逻辑分析仪分析待测器件的引脚。不过,由于今天FPGA的高容量,很多元件可以集成到一个器件中,但逻辑分析仪不能检测到设计内部的信号。SignalTap II逻辑分析仪是一个系统级调试工具,它可在一个系统级可编程芯片(SoPC)上捕获和显示实时的信号行为,从而为设计师提供了观察系统设计中硬件和软件之间交互的功能。
4. 接口复杂性:为了实现更高的性能,系统使用的接口正变得更加复杂(如DDRII SDRAM接口比以前的SRAM接口要复杂)。Altera提供多种IP核,它们可帮助设计师很轻松实现所需的接口。
5. 信号完整性:Altera提供了多种模型(包括HSPICE和IBIS)以及内置片内端接,这些有助于确保信号正确地从A传输到B。
6. 系统复杂度:设计者今天面临的挑战是,尽管开发的系统复杂度越来越大,但分配的开发时间不会比先前开发较低复杂度项目的少。Altera提供简化系统通用部分设计开发的IP核、系统验证和板级布局工具,从而允许用户集中全力开发差异化性能。
Lattice:1. 满足硬件时序要求。对规格的高级别评估,并判断它是否能满足系统的要求。例如,如果系统要求是1.2Gbps I/O,但是FPGA I/O只能支持到800Mbps,那么这种FPGA将不能满足系统速度的要求。
2. FPGA设计时序收敛。进行足够的静态时序分析和时序仿真以确保
hdl设计满足硬件的时序要求。拥有已经过实践验证的硬件模块,例如DDR存储器I/O接口和串行/解串器(SERDES)/PCS模块,将有助于FPGA设计师更轻松地满足时序要求和减轻对软件工具的依赖。我们低成本的 LatticeECP2/M FPGA系列和高端的LatticeSC FPGA系列可以提供这些硬件模块。
3. SERDES在系统中的实现:虽然概念上比较简单,但是硬件实现要求很多细节正确无误,如信号端接、参考时钟的生成、锁相环(PLL)的使用、背板信号完整性和位错误率的评估。Lattice提供预定义的针对不同SERDES应用的SERDES示范平台,如PCI Express和通用8/10位SERDES完整收发硬件演示平台。
4. 功率管理:对所有FPGA
电源规划功率预算。通常,2到3个FPGA电源(VCC、VCCAUX和VCCIO)是关键的。需要对器件初始上电和运行期间的不同温度进行精确估计。
5. 配置需求:这个关键步骤保证上电后FPGA将从外部引导闪存进行正确配置。
问:当用户开始一个新的FPGA设计时,你们会推荐用户采用什么样的设计流程?
Actel:逻辑设计传统上是利用硬件描述语言(如HDL)或图形化的原理图来实现的。对逻辑设计的描述越抽象,就需要更智能化的工具来自动进行推断、编译和实现这个设计。通过融合内部开发工具和业内领先的OEM和第三方工具,Actel支持所有这些不同的设计风格和工具流程。
另一个设计考虑是应该从头开始创建你的设计,还是利用现有的私有或者商业化IP。高质量IP内核可使得产品能够更快地推向市场。Actel在开发和支持内部开发的及第三方IP内核方面进行了很大的投资,我们的Libero IDE(集成设计环境)具有很多可帮助设计师高效查找和使用IP的功能。Actel也开发了已经过实践验证的系统级参考设计、HDL代码、软件驱动器、应用程序、有时甚至还包括PCB设计文件,以为设计师开展其定制工作提供一个起点。
Xilinx:客户可以使用第三方工具,如用XST、Precision或Synplify进行综合,然后使用Xilinx ISE 9.1i进行布局和布线。对于仿真,客户可以使用ModelSim、NC Sim或VCS。他们始终应该输入用于综合的时序约束。