![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
||||||
| 利用软件思想实现FPGA互连架构的设计 | ||||||
作者:Andrew R… 文章来源:电子系统设计 点击数: 更新时间:2008-1-8 ![]() |
||||||
|
FPGA处理技术和交换架构互连的有效结合,可以在原有系统容量和功率限制不变的情况下,大幅提高数据处理量和可升级带宽。然而FPGA开发仍然是一个资源密集型的过程,需要大量投入才能实现对专用算法的有效处理。为了应对市场中产品的高速更新,特别是交换架构互连的出现,软件开发商们已经开始利用更好的工具和更高级别的算法定义来解决这个问题。与此同时,FPGA制造商们也正继续开发新一代的FPGA产品,内置的更高级功能,可以使逻辑综合更简单、自动化效率更高。 随着以上优点的实现,如何更快地适应新的软件和平台将成为制约FPGA有效利用的主要因素。解决这个问题的途径之一便是利用软件中的模块化和重用化特性,这样既可在不同代产品上利用FPGA的开发投资,又可缩短产品面世时间,并预防不可避免的技术变化而带来的风险。 互连方法共存 早期结果表明,这场架构之争中并没有真正的赢家。如今使用的大多数高性能、交换架构的解决方案都是基于专有协议,仍需修改才能满足特定市场的需求。而另外一些则要移植成熟的互连技术,如PCI Express、RapidIO和10Gb以太网等。但仍没有一种已有的架构可以满足所有要求,所以相同市场中不同互连方法共存的现象将会持续下去。 下一代板级标准通过提供具有多重协议的分层体系架构反映了对选择的需求,这些多重协议被映射到一个公共物理接口。例如,在电信应用中,AdvancedTCA标准将Gb以太网、PCI Express、StarFabric以及 RapidIO架构映射到同一组管脚;在国防应用中,VITA41和46外形相似,并只有6U高度。而新的夹层标准,如AMC和XMC,可以利用为核心标准提供备选列表的方法来达到同样功能。 但问题是,基于这些协议的不同卡需要不同的架构才能实现,解决这个问题的途径之一便是利用FPGA的灵活性。例如在设计PCI Express的ADC(模数转换)模块或者RapidIO的ADC模块时,与在板级设计一种选项的方式相比,带有综合架构接口和适当IP核的FPGA比前者更实用(图1)。在很多实际应用中,FPGA确实为硬件设计者提供了一个更自由更广阔的平台。
如今,基于IP核的FPGA产品需要利用可重用性来替代原本固定的工艺,才能达到跨产品、跨架构和跨技术开发的目的。因此,为充分利用新技术的潜力,同时降低架构变化的影响,不仅需要板级的互连模块解决方案,更需要FPGA自身的互连模块解决方案。
互连策略 在基于FPGA的承载卡和I/O模块中使用了一种叫做tekConnect的互连架构(图2),这种架构可以适应各种高性能嵌入式计算的需要,为外部接口和IP核之间、IP核和IP核之间的数据流传输提供一种非常简单的协议。它可以利用公共协议和信号组轻松地进行不同IP核的插入、重排列和删除等操作,而且可以利用公共接口将支持基于总线和基于架构的端点封装进来。
由于它遵守公共互连架构,对其IP核的开发将集中在核自身增加的价值而不是附加在某种架构或硬件平台的价值上,也使内部和第三方开发者们更有效地开发出专用IP功能。这些专用IP功可应用在涵盖一系列总线和架构的广范围的板级产品上?D?D从I/O模块方案到高性能的有效载荷和交换卡。 内部信息的封装、高级接口以及模块设计都与软件设计类似。实际上,软件开发的知识完全可以应用到IP核的设计上来。在软件开发中,由于库函数是事先定义好的,在设计中只是简单的重用,因此可以降低底层环境变化带来的影响。在硬件设计中,那些以硬件平台、互连架构和操作系统为底层环境的基于FPGA的系统也可以采用同样方法来实现。 为实现这点,互连架构必须高效且灵活。如果灵活性不够,就达不到广泛应用的要求;如果过于灵活,又会占用大量资源而增加太多的FPGA设计开销。 因此,我们选择的方法将权衡这些因素并适合高速数据流传输的应用,特定的设计选择如下所示。单向应用:带有流量控制的简单的从源到目的地(source-to-sink)的数据传输,它通过在两边各加一个端口来实现双向传输。 点对点应用:消除仲裁逻辑,使数据总线的复杂度降到最低。 数据优化:由于数据流中带有路径或地址信息,互连架构就不需要地址信息。 扩展项:单个数据字符的标志位既可以确定数据流的同步范围又可用于专用控制扩展。 这些折衷针对带有流水线技术(即不同源的数据通过一条处理单元链来传输)而优化过。在这些应用中,数据路径主要由设计阶段决定,因而尽管一些处理单元可以在运行时动态改变,但整体的数据流一旦设定好就是不变的。
图像处理设计实例 假设你正在设计一个实时的高质量图像处理和分析系统,图像可来自侦察相机、数字化X光照片或者晶圆检测系统。但所有数据的含义都是相同,即高速数据流由带有嵌入到数据中的线和框架边界的像素组成。 再进一步假设你想利用基于FPGA处理的优势,并且选定了已有的核和开发工具链的组合来完成设计。理想的图像处理过程由非均匀性校正、2D FFT、卷积、逆向2D FFT以及检波五个步骤组成,每个步骤都利用带有公共输入输出接口的IP核来完成。 对任何应用来说,总有一些IP核是通用的,如FFT、数字滤波等,而其它则是某个领域内专用的,甚至是某一特定情况专用的。在本例中,非均匀性校正算法需要与不同输入器件的特性匹配,检波功能是专用的,而FFT、卷积和逆向FFT则是通用的。 通常,许多通用核都可以通过公共互连来直接使用,而第三方提供的核则需要将所需的逻辑封装起来并与现成核的信号一起打包到公共互连才能使用(图3)。不同的是,封装的逻辑很容易实现,而且一旦封装完成,第三方提供的核就可在其它应用中重复使用。 专用功能可利用任何工具实现,然后封装到一个标准的框架中。通过该方法,就可以利用第三方核很容易地实现专用功能的重用。 核的功能一旦被实现就必须映射到实际硬件中去。在当今产品中,输入要经由基于PMC的I/O模块以及传统PCI总线来实现(图4a)。为了实现想要的功能,这种方法需要三个FPGA,其中一块用作I/O模块,另两块用作承载卡。FPGA间的数据传输由带有公共互连的PCI和RACE++端点IP核实现。 未来的平台将支持高速互连,并用PCI Express替代PCI总线,用PCI Express、RapidIO或者其他的交换互连架构替代RACE++。图4b显示了带有两个FPGA的PCI Express的实现方法,图4c则描述了如何用单个FPGA和RapidIO实现更高密度的方案。在所有的情况中,为应用开发的IP核不用修改就可以重新使用,只有顶层设计需要改变。 本文小结 上文所描述的互连架构只是为了保护IP投资而进行的跨平台、跨架构和跨工艺的设计方案。尽管是以通用性为目标,但它只是基于一个公司的产品中还不是一个开放的标准。 实际上,在开发市场上有很多标准可以满足对IP到IP互连的广泛需求,但多数是针对处理器总线而设计的,因此需要大量资源才实现嵌入应用的高性能。其它标准则是由不同的FPGA制造商制定的,这导致不同FPGA之间的兼容性较差。如今,尽管供市场使用的开放的、灵活的解决方案尚未出台,但这仍取决于现有的标准中是否出现可以解决关键问题而成为名副其实的开放标准。与基于背板的硬件接口不同,FPGA本身就具有可修改性,针对不同标准的IP核也可以同时使用,这就降低了制造商在制造板级产品时对工业级开放标准上的投资压力。 幸运的是,无论所选的互连架构是否被广泛使用,都不影响模块化和重用性的优势。通过利用模块化架构和基于IP核的公共互连,可以让系统设计者将开发投入集中在方案的增值部分、最大化设计重用性,以及缩短开发进度和降低未来技术变化的成本上来。 作者:Andrew Reddig,TEK Microsystems公司 |
||||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关文章 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|