




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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和软件产
2、品规划经理Mike Kendrick、Actel公司硅产品市场总监Martin Mason和应用高级经理Jonathan Alexander为大家传经授道。他们将就一系列大家非常关心的关键设计问题发表他们的独到见解,包括:什么是目前FPGA应用工程师面对的最主要设计问题?如何解决?当开始一个新的FPGA设计时,你们会推荐客户采用什么样的流程?对于I/O信号分布的处理,你们有什么建议可以提供给客户?如果你的客户准备移植到另外一个FPGA ASIC和结构化ASIC之间进行抉择?结构化ASIC或ASIC,你会建议你的客户如何做? 问:目前FPGA应用工程师面对的最主要设计问题是什么?如何解决?Act
3、el:当用户通过TAP接口进行JTAG测试或者编程时我们发现了许多问题。与目前最先进应用的逻辑复杂度和速度相比,TAP接口和指令集是非常简单和慢速的。这导致用户想当然地认为TAP接口处的信号完整性没有问题,甚至设计中其他位置的其他信号也适当地进行了端接。虽然数据和时钟速率很慢,但是其边沿速率和其他任何信号一样快,因此必须进行适当的端接匹配。此外,我们发现很多用户在规划减小SSO/SSN问题。Altera:功耗、性能优化、调试、接口复杂性、信号完整性和系统复杂度是FPGA开发工程师目前面临的最主要设计问题。1. 功耗:Quartus II软件的PowerPlay功率分析和优化技术与Stratix
4、 III可编程功率技术可以帮助用户在设计过程中显著减小功耗。2. 性能优化:关注点集中在如何实现FMAX,以及系统级性能(如通过PCI Express接口实现足够的吞吐量)。Quartus II软件提供精确时序预报的TimeQuest时序分析器允许用户定制系统需求的时序约束。3. 调试:传统上,工程师会使用一台逻辑分析仪分析待测器件的引脚。不过,由于今天FPGA的高容量,很多元件可以集成到一个器件中,但逻辑分析仪不能检测到设计内部的信号。SignalTap II逻辑分析仪是一个系统级调试工具,它可在一个系统级可编程芯片(SoPC)上捕获和显示实时的信号行为,从而为设计师提供了观察系统设计中硬件
5、和软件之间交互的功能。4. 接口复杂性:为了实现更高的性能,系统使用的接口正变得更加复杂(如DDRII SDRAM接口比以前的SRAM接口要复杂)。Altera提供多种IP核,它们可帮助设计师很轻松实现所需的接口。 5. 信号完整性:Altera提供了多种模型(包括HSPICE和IBIS)以及内置片内端接,这些有助于确保信号正确地从A传输到B。 6. 系统复杂度:设计者今天面临的挑战是,尽管开发的系统复杂度越来越大,但分配的开发时间不会比先前开发较低复杂度项目的少。Altera提供简化系统通用部分设计开发的IP核、系统验证和板级布局工具,从而允许用户集中全力开发差异化性能。 Lattice:1
6、. 满足硬件时序要求。对规格的高级别评估,并判断它是否能满足系统的要求。例如,如果系统要求是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在
7、系统中的实现:虽然概念上比较简单,但是硬件实现要求很多细节正确无误,如信号端接、参考时钟的生成、锁相环(PLL)的使用、背板信号完整性和位错误率的评估。Lattice提供预定义的针对不同SERDES应用的SERDES示范平台,如PCI Express和通用8/10位SERDES完整收发硬件演示平台。4. 功率管理:对所有FPGA电源规划功率预算。通常,2到3个FPGA电源(VCC、VCCAUX和VCCIO)是关键的。需要对器件初始上电和运行期间的不同温度进行精确估计。5. 配置需求:这个关键步骤保证上电后FPGA将从外部引导闪存进行正确配置。 问:当用户开始一个新的FPGA设计时,你们会推荐用
8、户采用什么样的设计流程? Actel:逻辑设计传统上是利用硬件描述语言(如HDL)或图形化的原理图来实现的。对逻辑设计的描述越抽象,就需要更智能化的工具来自动进行推断、编译和实现这个设计。通过融合内部开发工具和业内领先的OEM和第三方工具,Actel支持所有这些不同的设计风格和工具流程。 另一个设计考虑是应该从头开始创建你的设计,还是利用现有的私有或者商业化IP。高质量IP内核可使得产品能够更快地推向市场。Actel在开发和支持内部开发的及第三方IP内核方面进行了很大的投资,我们的Libero IDE(集成设计环境)具有很多可帮助设计师高效查找和使用IP的功能。Actel也开发了已经过实践验证
9、的系统级参考设计、HDL代码、软件驱动器、应用程序、有时甚至还包括PCB设计文件,以为设计师开展其定制工作提供一个起点。 Xilinx:客户可以使用第三方工具,如用XST、Precision或Synplify进行综合,然后使用Xilinx ISE 9.1i进行布局和布线。对于仿真,客户可以使用ModelSim、NC Sim或VCS。他们始终应该输入用于综合的时序约束。问:关于I/O信号分配的处理,你们有什么建议可以提供给客户?应采用什么样的顺序对各种信号类型进行分配?(即从VREF开始,然后高速I/O等) Actel:为了回答这个问题,让我们假设用户正在使用Actel基于闪存的ProASIC3
10、E FPGA。它含有8个专用I/O块,每个块能够被分成5个微型块。这些专用I/O块共享电源电压(输入VMV、输出VCCI、GNDQ)。微型块是在一个专用I/O块内使用一个共同电压参考VREF的I/O用户定义组。只用共享电源电压和电压参考的I/O可以置于同一个专用块内。 首先,安排专用I/O块。Actel的I/O Bank Assigner工具将为该设计自动配置I/O块。如果用户想定制该I/O块的配置,他可以很容易地利用PinEditor GUI或PDC约束脚本完成这一配置。在安排I/O块时,牢记SSO问题是很重要的。切换总线应该尽可能多地分布在整个裸片上,并且远离PLL的电源管脚及异步输入/输
11、出管脚。在安排好I/O块之后,用户可以开始分配I/O信号。利用GUI拖拉I/O并将它放置到合适的块,或者在PDC约束文件中进行分配。差分I/O需要相邻的N/P对,因此建议先分配差分I/O。然后,分配电压参考I/O和相关的VREF管脚,它们可以从任何绑定的I/O中进行配置。最后,对所有其它单端I/O进行分配。Altera:虽然灵活的管脚分配对FPGA很重要,但某种程度的专用化也可通过减少管脚电容改善信号的完整性和系统的性能。例如,用于高速收发(如PCI Express)的管脚不能用作通用I/O。Altera不要求按照某一顺序对管脚进行分配,但管脚分配要求匹配管脚的功能。客户可以在开始设计前使用Q
12、uartus II软件进行一次管脚检查,从而允许同时进行板和芯片的设计。Lattice:FPGA I/O结构比具有固定I/O管脚的标准产品复杂。FPGA需要正确的I/O布局来确保:分配的多个I/O在块内能够共存,没有冲突;它们能够以要求的I/O速度运行而没有噪声或信号完整性问题。I/O分配应从专用I/O最先开始,如DDR2存储器接口、SERDES接口和PCI接口等。这将决定关键的管脚分配,然后再在剩余管脚上分配通用I/O管脚,如LVCMOS33、LVCMOS25和LVTTL等。此外,要特别注意特殊的引脚,如VREF、高速CLK输入和PLL/DLL输入。用户可以指定使用哪个器件引脚,也可以让工具
13、选择需要的引脚。在后一种情况下,用户需要对这些引脚的分配进行备注,从而使得以后的PAR运行时继续使用相同的配置。ispLEVER提供两个基本特性以支持该功能。Design Planner工具支持用户生成符合复杂I/O块规则的I/O布局约束。从封装的角度来看,用户可以直观地过滤具有某一特定性能的管脚(如主时钟输入引脚和差分信号引脚对),然后将设计信号分配到过滤后的引脚上。I/O Assistant Flow允许实际的PAR引擎和用户提供的I/O布局约束仅用在该设计的I/O环上,以生成一个合理的I/O布局。这可以在设计过程的较早阶段完成,从而实现早期板级设计。Xilinx:FPGA I/O分配常常
14、必须调整多次才能成功,因为它有时候会和以下约束发生冲突:1. PCB约束,如冗余通道、板空间拥塞、信号完整性效应(长度匹配、最大衰减、最大过孔等);2. FPGA架构约束(I/O规则、SO、时钟规则等);3. 客户设计约束(时序、器件内逻辑源点/终点的位置等)。每个FPGA架构/客户设计都有其独特的约束环境。提出通用的规则不是件容易的事。通常,你先要确定约束最强的FPGA管脚。管脚分配的一个典型顺序可以是:1. 全局/局部时钟输入管脚和FPGA配置管脚;2. MGT(SERDES)、高速单端存储器/CPU接口、差分信号、由于特殊的客户设计(DCI参考电压和输入参考电压)而不能用作用户I/O的多
15、功能管脚;3. 其它用于内部定时或PCB布局的需要在FPGA上具有邻近管脚位置的管脚组(总线);4. 最后,慢信号(如复位信号)。可以使用多种方法进行I/O分配:ISE(PACE、Floorplan Editor)、第三方供应商(Mentor Graphics I/O Designer)、PlanAhead,或甚至Excel电子数据表。问:在处理不兼容的I/O标准、不同电压参考和其他有关块及区域兼容性问题时,你们建议用户采用什么方法去解决? 问:如果你的客户准备移植到另外一个FPGA、结构化ASIC或ASIC,你会建议你的客户如何做? Actel:Actel已经为多代基于闪存的FPGA器件(从
16、ProASIC到ProASIC Plus到ProASIC3)提供了独一无二的管脚兼容移植功能。一般来说,只有当客户必须采用更新的技术进行设计时才会考虑移植。此时,设计师可以先采用适合启动设计/开发的较低风险成熟器件(或技术)。这也为客户提供了一条到更低成本解决方案的简单且预先确定好的移植路径,该解决方案只需要最少的系统和设计修改(通常只需要重新综合、布局和重新进行时序设计)就可进行批量生产。这一成本移植策略允许客户避免移植到ASIC/标准单元时所冒的高风险和高成本。 Altera:如果从一个FPGA转移到另一个相同系列的FPGA,我们提供管脚移植。如果从一个系列转移到另外一个系列,通常需要开发
17、出一块衍生板,因为管脚排列是不同的。通过采用MegaFunctions(如lpm_mult),设计师可以确保最大限度地复制专用模块(如DSP模块)的性能。 我们推荐使用HardCopy II结构化ASIC。在Quartus II软件中选择HardCopy选项,可以很轻松地移植到结构化ASIC。例如,通过确保所使用的管脚从FPGA映射到HardCopy II器件。另外一个关键点是,HardCopy II器件上的模块(如存储器、LVDS接口或PLL等)与FPGA是相同的,这可使得移植变得非常轻松。 将逻辑从FPGA移植到ASIC是相对比较简单的。不过,把其它元件从FPGA移植到ASIC中就相对比较
18、困难,因为PLL或存储器模块可能工作起来不太一样。由于我们不知道ASIC模块是怎样工作的,因此在此方面提出建议已超出了我们的能力范围。 Xilinx:考虑到结构化ASIC或ASIC转换时必须在再验证和测试向量生成方面花费很长的时间,因此降低FPGA设计成本的最好替代方法是使用Xilinx的EasyPath解决方案。它利用同样的FPGA芯片,但是使用不同的测试方法来创建一个提高良率和降低成本的面向设计的测试方法学。在这一移植过程中,没有必要做特殊准备或者避免使用任何FPGA功能,因为这些功能都可以在EasyPath实现中获得。 对于采用更大容量Xilinx FPGA做ASIC原型设计的用户而言,
19、简化这一转换过程的常用方法是将与器件相关的功能(如存储器)保留在它们各自独特的分层模块中。这样,它们以后就可以被具有相同功能的ASIC版本所取代。当然,这个方法的缺点是用户放弃了充分使用嵌入式硬模块的能力(如复杂RAM块、DSP/乘法器模块、数字时钟管理器、以太网MAC和PCI Express端点模块),除非在ASIC中创建有相似的定制功能。问:当将FPGA器件整合到PCB上时,关于SSO/SSN问题你们会给客户什么建议? Actel:由于客户需要更全面地了解和解释SSN特性,因此我们非常重视这个问题。通过测试、描述和与客户一起工作的经验,我们发现造成SSN问题的主要因素是封装的选择、I/O布
20、局和输出时序。在PCB上进行适当的去耦、端接和布局是非常重要的。不过,最好是在问题的源头完全避免SSN。 QFP封装由于其封装引脚和邦定走线带来的电感越来越大,实际上不如市面上各种BGA封装。因此,我们针对QFP封装的SSN建议更为严厉。为了防止QFP封装带来的SSN问题,建议避免在裸片上将较大的SSO组安排在相近位置。不过,如果这是不可避免的,用户应该确保灵敏的“安静”I/O位于VCCI或者GND附近。或者,用户可以利用相对不活跃的输出将SSO总线与灵敏的I/O隔开。如果I/O布局已经被锁定而且客户无法满足我们的建议,他们可以在总线内创建小的时序组。这里,I/O以大于1ns的间序交错排列。如
21、果做到了这点,总线输出将不再同步切换。 问:你们建议如何处理全局和本地/区域时钟? Actel:我们基于闪存的ProASIC3E FPGA系列提供18个专用全局时钟,这意味着大部分设计不会受到时钟的限制。对于区域时钟,这些全局时钟中的12个被局部化到该器件的四分之一区域。那么,FPGA设计师应该如何处理跨越用户设计区域和IP模块的公共全局时钟呢?通常,客户必须在更低一级的模块中例示一个全局时钟,将其带到一个输出端口,然后再分发到设计的其他部分。借助Actel的Libero IDE 7.3,客户可以获得基于模块的设计方法,并补救时钟分配问题,客户只需要例示一个全局时钟占位符(CLKINT)。然后
22、,全局缓存可以在设计的顶层中实现。这使得时钟分配和分发更加直观,并简化了在多个设计中模块的重利用。 问:在IP模块集成方面,你看到了哪些问题?你能给工程师什么购买IP的建议?Actel:IP产生了边界,限制了自动化工具能够优化的东西。另一方面,让IP边界可辨识对调试是非常有帮助的。对于一个复杂度越来越大的设计流程,IP模块是一个用来限制改变的自然边界。现代FPGA除了逻辑门之外还有很多固定资源。通常多个IP模块共享这些资源。很少FPGA供应商的工具可以最优化处理这一资源共享问题,但Actel Libero在设计时就考虑到了这一问题。其中一个例子是在Actel Fusion混合信号FPGA上多个IP模块间时钟和内存资源的高效共享。在选择IP时,应该检查其功能和配置以确定它是否能满足你的设计要求。你应该观察该IP是否是针对你的目标FPGA而设计的,以及其尺寸和性能是否高效。好的IP还配有完整的测试向量和高质量的文档。最后,在你答应使用前检测一下该IP核的来历和供应商。Xilinx:在集成IP模块时的确有一些小挑战,这主要是由于IP供应商实际交付的IP模块与那些可交付使用的IP模块之间存在细微差别而引起的。集成IP模块的一个较大
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年项目管理考试复习方法试题及答案
- 医院清污施工方案
- 2023年中国铁路兰州局集团有限公司招聘毕业生136人(三)笔试参考题库附带答案详解
- 提升信心的证券从业资格证试题及答案
- 海洋油气资源开发工程安全生产标准化实施路径考核试卷
- 证券从业资格证学习经历分享试题及答案
- 笔记本电脑散热系统清洗考核试卷
- 电信企业财务分析与成本控制考核试卷
- 水果种植园智能化技术应用考核试卷
- 2024年项目管理进度管理要点试题及答案
- 2025年上海市虹口区高三语文二模作文题目解析及5篇范文:机器成为思想的引擎必将给芦苇带来深刻的变化
- 江苏省镇江市2024-2025学年下学期七年级数学期中试卷(原卷版+解析版)
- 检测站登录员试题及答案
- 委托选矿加工合同协议
- 食堂应急预案管理制度
- CISP-PTE培训课件教学课件
- 2025年新高考历史预测模拟试卷黑吉辽蒙卷(含答案解析)
- 2025年医院文化节活动策划
- 部队防雷电暴雨安全知识
- 2025年消防文员类面试题及答案
- 重庆市名校联盟2024-2025学年高二上学期第一次联合考试物理试题(解析版)
评论
0/150
提交评论