完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
PCI Express (PCIe) 标准在个人电脑、网络和工作站利用中已经应用了很长时间。由于具有多种优点,例如可靠性、低功耗、低延时和从2.5 GT/s至16 GT/s的带宽扩展能力,这种规范不断演进,也成为存储、云计算、移动和汽车领域的主要设计规范。 |
|
相关推荐
3个回答
|
|
PCI-SIG在2011年11月发布最新PCIe 4.0 16 GT/s (Gen4) 规范,但早在两年前,该机构就已经积极开始这一工作。PCIe 4.0 Draft 0.7规范最近向PCI-SIG成员发布,再次激发芯片系统 (SoC) 设计师去尽快利用PCIe 4.0 16 GT/s规范。此后不久,Intel也发布了作为补充的Physical Interface for PCI Express (PIPE) 4.4规范。本文介绍设计师应了解这些规范包含哪些内容,以及设计师目前应如何开发自己的PCIe 4.0设计。
要了解Draft 0.7版本的重要性,您有必要了解PCI-SIG规范的制定过程和PCIe 4.0版本的历史。PCI-SIG规范包括5个主要版本/检查点: Draft 0.3(概念):该版本的细节较少,仅大致列出总体理念和目标。对于PCIe 4.0,这包括16 GT/s信令速率、重复利用专为PCI 3.0 8 GT/s模式开发的128/130编码机制、保持全面的后向兼容性等,并于2014年2月发布。 Draft 0.5(初稿):该版本规定了一整套架构要求,而且必须完全满足0.3版中规定的目标。PCIe 4.0 Draft 0.5规范于2015年2月发布。 Draft 0.7(完整初稿):该版本必须规定一整套功能要求和方法,而且在该版本以后,可能不向规范中增加新的功能。在该版本发布前,电气规范必须通过测试硅片进行验证。对于PCIe 4.0,两个独立的实施版本提供给了PCI-SIG工作组成员,一个是Synopsys,另一个是Mellanox。PCIe 4.0 Draft 0.7于2016年11月15日发布。 Draft 0.9(终稿):该版本允许PCI-SIG成员公司对知识产权进行内部审查,在该版本后不再允许功能更改。 1.0(最终版):这是最终的确定性规范,而且任何更改或增强将分别通过勘误文档和工程设计变更通知 (ECN) 而进行。 过去,新PCIe规范的最早采用者一般从Draft 0.5开始设计,因为他们可以充满信心地围绕新的带宽定义而构建自己的应用逻辑,甚至通常开始开发新的协议特性。然而,在Draft 0.5阶段,实际PCIe协议层的实施很有可能发生变化,因此,与采用来自外部的接口IP的设计师相比,负责在企业内部开发这些模块的设计师可能相对更不愿意开始这项工作。 过去,新PCIe规范的最早采用者一般从Draft 0.5开始设计,因为他们可以充满信心地围绕新的带宽定义而构建自己的应用逻辑,甚至通常开始开发新的协议特性。然而,在Draft 0.5阶段,实际PCIe协议层的实施很有可能发生变化,因此,与采用来自外部的接口IP的设计师相比,负责在企业内部开发这些模块的设计师可能相对更不愿意开始这项工作。 PCI Express 4.0和Draft 0.7有哪些新内容? |
|
|
|
对于Draft 0.7版本,以前描述的PCI-SIG流程要求不增加新的功能,因此,即使最谨慎的早期采用者也可以立即开始工作。设计师可以开发即使最低级的PCIe协议堆栈,并且相当安全地确保规范的稳定性。对于规范强制要求对实施细节做出少量更改,业内始终存在误解或忽略的风险,但这些并不常见,而且一般对设计的影响较小。PCI-SIG成员可以从 PCI-SIG网站 https://members.pcisig.com/wg/PCI-SIG/document/download/9977 下载完整的0.7 Draft,以了解全部信息。
从PCIe 8GT/s信令向16GT/s的演进与PCIe 2.5GT/s向5GT/s演进类似– 主要是采用了在链路初始化时商定的新速度。然而,与以前的数据速率不同,达到PCIe 16GT/s数据速率需要两个阶段实现。首先,链路通过类似的4相均衡过程达到8GT/s的速率,然后重复相同的4相过程,同时运行8GT/s速率,以切换到16GT/s速率。这要求在PCIe链路状态机上采用一些新的弧线,但重复使用已在PCIe 8GT/s中得到良好验证的方法。PCIe 8GT/s中的128/130/s编码模式在PCIe 16GT/s数据速率时使用,这样,设计师可以重复使用几乎所有这种逻辑。当然,设计师需要对主协议状态机进行一些细微的修改,即链路训练与状态机 (LTSSM),以适应新的均衡。为了保证在更高速度时顺利运行,规范还规定了其他一些细微的信号和测试模式更改,但总体来讲,对于熟悉8GT/s操作的设计师来说,PCIe 4.0 16GT/s链路看起来几乎没有改动。 在PCIe 4.0规范制定过程中,需要关注的一点是,由于目前在信用和未结交易上的限制,某些具有特定工作负载的设备可能无法充分利用16GT/s的数据速率。为了解决这个问题,Draft 0.7将PCIe 4.0包头中的Tagfield从8位扩展到了10位。需要注意的是,新位数的一种组合被保留,用于检测错误的分层配置,共有768个标签可用。所有实施16GT/s信令的设备都要求支持接收10位标签,但可以选择是否根据需求而生成标签。因此,所有PCIe 4.0 16GT/s设计师都需要扩展对接收到的标签进行跟踪的逻辑,以处理更大的标签,但设计师可以继续依靠包头信用控制他们必须接受的并行请求的总数。 为了支持更大标签的充分利用,PCIe 4.0规范为流量控制信用机制定义了一种伸缩模式。比以前需要更多信用的设备现在可以采用4倍或16倍扩展因子,其中协议中的每个数字信用实际分别表示4或16个信用。同样,所有实施PCIe 4.0 16GT/s的设备都需要支持4倍或16倍的链路合作伙伴扩展,但允许根据需要使用1倍的自有信用扩展。借助新的扩展因子,PCIe 3.1最多支持的127个包头信用可扩展到508个(采用4倍扩展)或2032个(采用16倍扩展)– 对每个Posted (PH)、Non-Posted (NPH) 或Completion (CPLH) 信用类型互相独立。同样,通过每个Posted (PD)、Non-Posted (NPD) 或Completion (CPLD)信用类型的4倍或16倍扩展,数据信用可从PCIe 3.1的2047个(~32KB) 增加到8188个 (~128KB) 或32,752个 (~512KB)。 也许0.7版本引入的最重要一项是“接收器通路裕量”。这一特性采用PCIe系统板上运行的软件评估PCIe通道的每个通路中存在多少裕量,或者换句话说,指定通路无法可靠传输数据的可能性有多大。规定定义了一组寄存器和基本命令集,凭借这些,主机软件可以命令PCIe通道中的每个接收器移动其取样时间点(可选择移动电压),以大致确定信号眼在接收器上的宽度(可选择高度)。关键区别在于,这个特性旨在用作系统诊断/评估工具,用于提供对PCIe通道的概略测量,而不是对接收器进行测量。另外,同样重要的一个方面是,所有支持PCIe 4.0 16GT/s的设备都要求支持通路裕量,但通路裕量的运行不要求在16GT/s速率下运行。最后,这个特性在SoC中的实施需要PCIe 4.0 16GT/s控制器和16GT/s PHY的密切配合。 |
|
|
|
最新PIPE 4.4规范
好消息是,对于从不同厂商购买PCIe 4.0 16GT/s PHY和控制器的设计师,Intel已经将PCIe 4.0 16GT/s的运行整合到Physical Interface for PCI Express (PIPE) 规范中,并在4.4版本中提供给公众使用。新的PCIe 4.0 16GT/s速率通过32位、16位或8位通路数据路径选项而支持,这与以前通过8GT/s速率支持PCIe 2.5GT/s类似。这意味着设计师要使用每通路32位而应对500MHz时达到的时钟速率,直至使用每通路8位达到2GHz! 早期PIPE规范用户熟悉的基本PHY-控制器接口信号在PIPE 4.4中基本没有变化,但明显的预期变化是指出PCIe 4.0 16GT/s以及与上述细微物理层变化相关的细节。然而,将这个信令扩展到通路裕量机制中则需要在每个方向上有大量新信号,以在PCIe 4.0 16GT/s PHY和控制器之间交换所需要的控制和状态信息。通过使用Synopsys工程师最初提出的机制,PIPE规范目前采用一个通用寄存器类型的接口,在PHY和控制器之间提供控制和通信。这个接口最初仅为PCIe 4.0 16GT/s通路裕量接口而定义,将来可显著简化多项PHY特性 – 包括现有的特性,如L1子状态控制,以及未来对更高数据速率、更复杂的均衡模式等的控制。 DesignWare IP for PCI Express 4.0 Draft 0.7立即发布 PCI-SIG规范制定过程冻结了Draft 0.7中的功能,因此,现在是开始使用PCIe 4.0 16GT/s接口设计高性能SoC的最佳时机。PCIe 4.0 Draft 0.7提供了按比例扩展的信用(1倍、4倍或16倍)和更宽的标签(从8位增加到10位),从而改进了链路带宽,以及接收器通路裕量,帮助系统设计师评估其系统的性能变化允差。Synopsys的DesignWare? IP Solution for PCI Express 4.0支持最新的 Draft 0.7版本,而且现已推出。包含PHY和控制器的完整PCIe IP解决方案通过了硅片验证,并且支持大量代工厂工艺节点。 作者:Richard Solomon,Synopsys高级技术营销经理 |
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1154 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1083浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:49 , Processed in 1.043703 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号