面对设计复杂、成本和产品上市时间的压力,设计工程师需要一种快速而简单的方法在系统中实现PCI Express。本文介绍了在FPGA中实现PCI Express的细节和优势,这些优势包括更快的产品上市时间、简化的设计流程、可重构性以及经过验证的兼容性。
在获得巨大发展动力后,PCI Express作为下一代系统的一种标准选择而逐渐兴起。PCI
图1:FPGA中PCI Express层。 |
Express已在存储应用中得到实现,随着先进交换技术的出现,通讯领域将很快成为PCI Express的另一个应用目标。快速构建新系统需要有一种快速而简单的方法以在PCI Express器件中进行设计。
PCI Express是一种工作在2.5Gbps速率上的串行I/O标准,它要求设计者具有与高速数据速率相关的设计复杂性方面的知识。FPGA为快速地将器件集成到PCI Express系统中提供了一种理想的解决方案。通过FPGA中已有的高速收发器模块及现有的PCI Express IP内核,与其它PCI Express器件连接,可为产品迅速上市提供一种经济的手段。
作为一种标准协议,尽管PCI Express具有不少优势,但它也带来了许多需要解决的挑战。对任何一种新的协议,设计者都必须在没有先前经验的情况下进行设计。对于那些从PCI或PCI-X转向高速论坛的设计者来说,必须认识到其复杂性。
高速链路设计要求设计者具有很强的高速模拟设计技能。当数据速率达到1Gbps以上时,I/O缓冲器的设计需进行重大改变,同时电路板布局布线技术变得非常关键,时钟数据恢复(CDR)电路也显得极为重要。除了模拟方面的考虑,高速率时处理数据所需的数字逻辑也很不一样,编码方案及补偿逻辑使其物理层与采用较低速度协议的物理层有极大不同。PCI Express规范虽然提出了互用性的要求,但没有限制实现的方法,这允许设计可针对系统进行优化实现,同时要求设计者拥有实现技术方面的广泛知识。
与实现这种全新且复杂的协议有关的设计挑战将直接影响产品的上市时间。假设协议很快被采纳,产品必须在尽量短的时间内推向市场。然而大多数没有直接参与协议标准化过程的公司将经历一段颇为曲折的学习过程,因此对产品上市造成不必要的延迟。
FPGA器件为PCI Express设计新手所面临的众多挑战提供了一种解决方案。由于内置高速收发器模块和可编程结构,FPGA器件使快速实现设计变得容易了。就算设计反复来得更快,FPGA器件的设计周期也具有与生俱来的优势。情况确实如此,因为FPGA器件工具流程允许用FPGA逻辑有效地进行大规模设计。总体来说,能加快产品上市时间是FPGA能提供的一个主要优势。
FPGA器件还拥有可供设计者使用的内置高速收发器逻辑。这些专门的高速收发器模块被设计用来支持PCI Express所需的超过2.5Gbps的数据速率。使用这些收发器模块的一个主要优势在于FPGA供应商专门针对PCI Express对它们进行了测试。FPGA器件还通过了由 PCI特别兴趣小组(PCI-SIG)主持的相容性和插拔测试大会对其进行的测试。倘若在进行PCI Express设计时出现了模拟设计的挑战, FPGA器件可提供使用经过模拟电路验证的互用性测试的能力。
PCI-SIG定义了测试PCI Express各层的方法,很容易对使用FPGA器件的情况进行概念性验证。由于大多数工业PCI Express实现已在正式的相容性测试大会上测试过,所以FPGA器件提供了一种独特的机会,即在设计之前就可保证产品的兼容性。
除了物理层,数据链路层及处理层也在FPGA逻辑中实现。虽然PCI
Express规范对这些要求进行了详细定义,但也留给使用者很大的实现空间。那些想以最快速度来验证FPGA实现的设计者,可购买已针对FPGA架构进行了优化的IP。FPGA厂商一直在努力整合一种包括处理层、数据链路层及物理层在内的完整PCI
Express解决方案。高速收发器可在物理层使用,而IP则可用于处理层、数据链路层及部分物理层。这使设计者能专注于软件实现,且只需考虑与PCI
Express的接口部分。设计者只要做很少的工作,就可使用IP及内置高速收发器将现有PCI-X和PCI系统集成到PCI Express里。
图2:采用了FPGA器件的PCI Express架构。 |
FPGA器件的另一个主要优势是可重构性。利用FPGA器件的这个特性,可立即对设计进行修改以改变设计,并可能实现另一种完全不同的系统。这能缩短设计周期并使修改设计变得简单。如果需要的话,FPGA 的这些特性可实现完全不同的PCI Express接口。这些灵活的系统能够改变PCI Express的核心特性,包括通道数目和改变虚拟通道。数据包的优先级可以改变以得到有效的适应性方法,还可改变模拟特性以利于电路板设计。FPGA I/O缓冲器具有改变电压电平、去加重及接收均衡的能力。对板级设计来说,去加重和接收均衡是两项极为重要的特性,无需进行重新配置器件即可动态改变这些参数。
PCI Express组件可分成为端点、交换器、PCI Express-PCI桥接器以及根联合体(root complex)。每个组件具有不同的功能,并能以不同方式来使用FPGA器件。FPGA器件可用于任何一种组件,但适用程度不相同。当设计一种给定的系统时,重要的是须记住每一种组件的要求,以保证整个系统能无缝接口。
端点与交换器和根联合体连接,这很显然非常适合采用FPGA器件。端点具有不同的功能且需要一些额外的资源来与PCI Express架构交互。端点应用可以在FPGA器件里实现,而高速收发器则可用于PCI Express通讯。这使设计者能够用FPGA器件来实现实际的端点应用并充分利用PCI Express现有的特性。端点只是一个PCI Express组件,不太可能成为PCI Express的专有,它需要适合于组件的用途,并与其他PCI Express组件进行通讯。因此FPGA的灵活性需要适合于特定的组件。目前的PCI Express IP支持端点应用,并很容易配置为适合组件用途。
交换器是一种用来“桥接”多个PCI Express器件的PCI Express特殊组件。交换器拥有用来发送信息的上、下行端口。FPGA器件很适合这些执行上下行链接的应用。交换器极容易用FPGA器件来实现,使用IP就能迅速做到这点。因为FPGA的可重构性,所以也很容易改变系统要求和数据包的优先级别。
PCI Express-PCI桥接设备是一种非常适合于用FPGA器件来实现的组件。FPGA器件已在PCI及PCI-X系统中使用了很多年,其接口经过了严格的测试。FPGA器件也适合实现跨多种不同数据速率的多I/O标准。信息可按用户要求从PCI Express架构传输到PCI或PCI-X系统,针对所有这些协议的IP已有供应,这使该过程更加容易完成。
FPGA器件可以用来实现PCI Express架构中的根联合体,但似乎采用ASIC更适合一些。不管怎样,已有IP支持这种结构并允许设计者配置根联合体以完成所需任务。
能以多种方式使用FPGA器件来支持PCI
Express。设计者可选择用FPGA实现全部或部分协议。如果整个协议都用FPGA实现,则除FPGA逻辑外,还需使用高速收发器模块。如果设计者选择用另一种芯片来实现物理层时,FPGA则可实现数据链路层及处理层。为提供低成本的解决方案,目前已经有带PIPE规范接口的收发器芯片,可与低成本FPGA配合使用以实现低成本的解决方案。
图3:带PCI Express掩模的FPGA眼图。 |
如果整个协议都用FPGA来实现,则高速收发器模块支持PCI Express协议的物理层特性。整个物理层将结合专用高速收发器模块与FPGA逻辑来实现,而数据链路层及处理层则将完全以FPGA逻辑来实现。设计者可选择完全自己设计各个层或购买相应的IP来实现设计。
高速收发器块将运行在PCI Express协议所需的2.5Gbps速率上。它还拥有能从数据中可靠地提取时钟的专用时钟数据恢复(CDR)电路,需要采用8B/10B编码方案以帮助时钟恢复。通道的数量可适应大多数常见的链路要求。
PCI Express要求电特性能确保数据的正确传输,需要具有-3.5dB去加重的1V差分电压。FPGA器件可满足这些需求,而且还可在实验室环境中动态改变该差分电压和去加重值以帮助调试电路板。接收通道还具有可动态调整以适应传输线高频损耗的接收均衡。PCI Express规范还要求有扩展频谱时序(SSC)。FPGA器件可利用+0%至-0.5%调制的时钟来满足所有SSC要求且无需任何特殊的考虑。在大部分PCI Express系统中SSC变得越来越重要。在实现过程中,设计者必须能控制收发器的特性(包括前面提到的特性),以便最好地满足特定系统的要求。
FPGA器件为设计者提供了这样一个独特的机会,即当新协议在市场上出现时,无需很长时间便可迅速地以低成本实现PCI Express组件。对于那些首次进入高速论坛的设计者而言,使用嵌入在FPGA器件中的专用高速收发器模块是一种安全的实现方法。FPGA器件经过了PCI Express相容性测试大会的验证,并在众多PCI Express应用中使用。PCI Express有望成为下一代系统选用的协议,从目前市场来看,能迅速启动PCI Express设计是非常重要的。