(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf_第1页
(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf_第2页
(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf_第3页
(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf_第4页
(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(信号与信息处理专业论文)基于fpga嵌入式硬核的pci+express总线接口设计与验证.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

, ,一;7 1 尊 p i f l l l lffjiif iijijllli i l l l f r l l l l l r j j i f p l u l y 18 7 9 3 9 6 ? 一,- 曩 争_ 唧靶崎,巴鼍一t 呻 + ,一- - - 一_ 窜, 学位论文主要创新点 论文给出了一种基于v i r t e x - 5f p g a 嵌入式硬核的p c ie x p r e s s 接口的模 块化设计方法,简化了p c ie x p r e s s 的接口时序设计,提高了开发p c ie x p r e s s 接口的设计效率。 摘要 随着信息技术的快速发展,数字信号的采集与处理在科学研究、工业生产、 航空航天和医疗卫生等领域等到越来越广泛的应用。这些应用对数字信号的传 输速度提出了越来越高的要求。以p c i 总线为代表的并行总线受到其自身局限 性的制约,已经无法满足现代电子系统对数据传输速度的要求。p c ie x p r e s s 是从p c i 发展而来的一种新的串行互联接口标准,克服了传统并行总线中时钟 偏移对电路结构的苛刻要求,可以灵活地获得更高的大峰值带宽,并以其良好 的兼容性、开放性和高性能等众多优点很快成为当今最为热门的计算机局部总 线技术。 论文对p c ie x p r e s s 系统构架及相关规范进行了研究,着重分析了数据的 基本传输方式。论文给出了一种基于v i r t e x 一5f p g a 嵌入式硬核的p c ie x p r e s s 接口的模块化设计方法,使用x i l i n x 公司的v i r t e x l x s o tf f g l l 3 6 芯片实现 了p c ie x p r e s s 的6 4 b i t 的数据读取和写入,最后在x i l i n xm l 5 5 5 开发板上进 行了验证,验证结果表明设计正确。 该方法简化了p c ie x p r e s s 的接口时序设计,提高了开发p c ie x p r e s s 接 口的设计效率。 。 关键字:v i r t e x - 5f p g a :硬核;p c ie x p r e s s ;m l 5 5 5 r 一 a b s t r a c t d i g i t a ls i g n a la c q u i s i t i o na n dp r o c e s s i n gh a v eb e e ni n c r e a s i n g l yu s e di n s c i e n t i f i cr e s e a r c h ,i n d u s t r i a lp r o d u c t i o n ,a e r o s p a c e ,a n dm e d i c a la n dp u b l i ch e a l t h d e p a r t m e n t s w i t ht h er a p i dd e v e l o p m e n to f t h et e c h n o l o g y , t r a d i t i o n a lb u s e s ,s u c ha s p c ib u s ,l i m i t e db yi t si n t r i n s i cd e f e c t s ,c a l l tm e e tt h eb a n d w i d t hr e q u i r e m e n t s p c i e x p r e s s i san e ws e r i a lc o m m u n i c a t i o ns t a n d a r d ,w h i c ho r i g i n a t e sf o r mp c ib u s t h i s b u sc a l lg a i nah i g h e rp e a kb a n d w i d t hb e c a u s ei ts o l v e st h ec l o c ko f f s e tp r o b l e mo f t h et r a d i t i o n a l p a r a l l e l b u s p c i e x p r e s sb u s ,w i t h i t sw e l l c o m p a t i b i l i t y , h i g h - p e r f o r m a n c ea n dm a n yo t h e ra d v a n t a g e s ,h a sb e c o m et h em o s th o ta n dp o p u l a r c o m p u t e rb u ss t a n d a r d t h i st h e s i ss t u d i e so nt h ea r c h i t e c t u r ea n dt h ec o r r e l a t i v es p e c i f i c a t i o n so fp c i e x p r e s sb u s , a n da n a l y z e se m p h a t i c a l l yt h eb a s i cd a t at r a n s m i s s i o nm o d e t h i st h e s i s p r o v i d e sap c ie x p r e s si n t e r f a c es o l u t i o nb a s e d0 1 1m o d u l a rm e t h o du s i n gt h e e m b e d d e dh a r dc o r eo fv h t e x - 5f p g a ap c ie x p r e s si n t e r f a c ew i t h6 4 - b i td a t a a c c e s si si m p l e m e n t e da n ds i m u l a t e db a s eo nx i l i n xv t r t e x - 5l x 5 0 tf p g a t h e n t h ed e s i g ni sv e r i f i e dw i t ht h ex i l i n xm l 5 5 5d e v e l o p m e n tb o a r d t h ev e r i f i t i o n r e s u l t ss h o wt h a tt h ed e s i g ni sc o r r e c t t h em o d u l a rm e t h o ds i m p l i f i e st h et i m i n gd e s i g no fp c i e x p r e s si n t e r f a c e ,a n d i m p r o v e st h ed e s i g ne f f i c i e n c yo fp c ie x p r e s si n t e r f a c e k e yw o r d s :v i r t e x - 5f p g a ;p c i ;h a r dc o r e ;p c ie x p r e s s ;m l 5 5 5 目录 第一章绪论。l 1 1 课题研究的背景和意义l 1 1 1 总线的产生和发展。l 1 1 2p c ie x p r e s s 总线的发展。2 1 1 3 论文研究的意义3 1 2 论文涉及的主要技术3 1 2 1v e r il o gh d l 语言3 1 2 2f p g a 技术6 1 2 3i s eio 1 介绍6 l 。2 4i p 核技术7 第二章p c ie x p r e s s 总线技术研究9 2 1p cie x p r e s s 系统构架9 2 1 1s wit c h 1 0 2 1 2 差分串行通路l o 2 2p cie x p r e s s 设备层1 1 2 2 1 事务层1 2 2 2 2 数据连接层。:1 4 2 2 3 物理层。l 5 2 3 基于包的传输1 6 2 4 地址空间1 7 第三章f p g a 嵌入式p c i e x p r e s s 硬核技术1 9 3 1f p g a 的硬核技术研究1 9 3 2p cie x p r e s s 核结构研究19 3 2 1p c ie x p r e s s 配置空间2 0 3 2 2 配置接口信号2 l 3 3p c ie x p r e s s 核的制定2 2 3 3 1t l p 的格式和类型2 2 3 3 2 配置空间寄存器2 3 第四章基于硬核的p c ie x p r e s s 总线接口设计。2 7 4 1 设计的总体框图2 7 4 2 设计的模块层次2 8 4 3p o ie 接口信号3 l 4 4p c ie 总线接口各个模块的设计3 2 4 4 1 接收模块设计3 2 4 4 2 发送模块设计3 4 4 4 3 存储器模块设计3 5 4 5 本章小结3 6 第五章基于硬核p c i e 总线接口设计的仿真与验证3 7 5 1 测试平台的选择3 7 5 2p cie 总线接口的仿真方法3 8 5 3p c i e 总线接口设计的仿真的结果3 9 5 3 1 发送通路上的写操作仿真3 9 5 3 2 接收通路上的读操作仿真4 3 5 3 3 连续的读写数据包仿真4 6 5 4p c i e 总线接口设计的综合和实现4 7 5 5 本章小结4 8 第六章基于硬核的p cie 总线接口设计的板级验证4 9 6 1p ci e x p r e s s 实验板4 9 6 2c hip s c o p e 验证4 9 6 3 实验结果分析5 0 6 4 本章小结。5 3 第七章总结与展望5 5 7 1 总结5 5 7 2 展望5 6 参考文献5 7 硕士期间发表论文和参加科研情况。6 l 至定谢6 3 第一章绪论 1 1 课题研究的背景和意义 第一章绪论 通信领域对传输速率的要求越来越高,传统的i o 总线已经无法满足,相应 的并行总线性能已经成为制约系统性能发挥的瓶颈。i s a 、e i s a 、i d e 等总线逐 渐淘汰,3 2 b i t 和6 4 b i t 的p c i 总线技术虽不断调整和发展,但是由于其固有的 设计构架,性能已接近极限u 。 p c ie x p r e s s ( p c i e ) 总线是从p c i 总线发展而来的一种系统串行互联接口标 准,后向兼容于p c i ,拥有良好的扩展性。同时因为不存在并行总线的随着频 率的提高时钟偏移对电路结构要求越来苛刻的限制,可以灵活地获得更高的大 峰值带宽。 1 1 1 总线的产生和发展 总线的发展大致经过了i s a 和p c i 两个阶段。i s a 是8 1 6 b i t 的系统总线,其 最大传输速率为8 船s ,同时允许多个c p u 共享系统资源。由于兼容性好,它在 上个世纪8 0 年代是最广泛采用的系统总线。其弱点也很明显,主要表现为传输 速率过低、c p u 占用率高、占用硬件中断资源等。因此在1 9 8 8 年,康柏、惠普 等9 个厂商协同把i s a 扩展到3 2 b i t ,这就是e i s a 总线幢1 。 随着计算机、多媒体和网络技术的不断发展,人们对微机系统的i o 带宽不 断提出新的要求,i s a e i s a 逐渐跟不上时代的步伐。于是i n t e l 于1 9 9 2 年提出 了3 2 b i t 的p c i 总线。最早的p c i 总线工作频率低于3 3 m h z ,传输总线带宽达到 1 3 3 船s ,比i s a 总线有了极大的改善,基本上满足了当时处理器的发展需要。 随着对更高性能的要求,又提出了6 4 1 h z 的p c i 总线和1 3 3 m h z 的p c i x 总线哺1 。 p c i 总线是一种独立于c p u 的系统总线,采用了独特的中间缓冲器设计,将 显卡、声卡、网卡、硬盘控制器等高速的外围设备挂在c p u 总线上,使得c p u 的 性能得到充分的发挥h 1 。 但是随着技术的不断发展,新涌出的一些外部设备对传输速率有更高的要 求,同时有些外部设备对总线的服务质量还有严格的要求,而p c i 总线在设计之 初并没有考虑这些因素,因此并不能完全满足这些外部设备的需求怕1 。 p c ie x p r e s s 总线正是在这种背景下产生的。p c ie x p r e s s 总线是新一代的 i o 局部总线标准,是取代p c i 总线的革命性总线构架。从2 0 0 4 年开始,p c i 天津工业大学硕士学位论文 e x p r e s s 总线开始逐渐全面取代p c i 和a g p 总线,成为新的局部总线工业标准。 1 1 2p c ie x p r e s s 总线的发展 计算机i o 技术在高性能计算发展中始终是一个关键技术,其特性决定了 计算机i o 的处理能力,进而决定了计算机的整体性能以及应用环境。从根本 上来说,无论现在还是将来,i o 技术都将制约着计算机技术的应用与发展。 当计算机计算处理能力与总线数据传输速度的矛盾日益突出时,新的总线技术 便应运而生。在过去的十几年间,p c i 总线是成功的,它的平行总线执行机制 现在看来依然具有很高的先进性,但其带宽却早已露出疲态。p c i 总线分有六 种规格如表卜1 所示,能提供1 3 3 m b p s 到2 1 3 1 m b p s 的数据传输速率,而对于现 有高性能产品,传统的p c i 的数据传输速率早己入不敷出。 表i - ip c i 总线六种规格 总线类型总线形式时钟频率峰值带宽插槽数目 p c i 3 2 b i t并行3 3 m h z1 3 3 髓s4 - 5 p c i 3 2 b i t 并行 6 6 姗z2 6 6 m b s1 - 2 p c i - x 3 2 b it并行 6 6 姗z 2 6 6 船s 4 p c i - x 3 2 b it 并行 1 3 3 姗z5 3 3 m b s1 - 2 p c i - x 3 2 b it 并行 2 6 6 姗z1 0 0 6 m b s1 p c i - x 3 2 b i t 并行 5 3 3 m h z2 1 3 1 船s1 注:对于6 4 b i t 总线实现,上述所有带宽加倍。 分析传统的p c i 技术,可发现并行总线已逐渐接近其性能的极限,该种总线 已经无法轻易地提升频率或降低电压以提高数据传输率:其时钟和数据的同步 传输方式受到信号偏移及p c b 布局的限制。串行总线的提出,成功地解决了这些 问题。p c ie x p r e s s 采用串行差分方式传输信号,以相互间的电压差作为逻辑 “0 ,“l ”的表示,从而大大提升传输速率,提高信噪比。由于是差分传输,所 以每两条信号线才能单向传送1 比特,每一个“1 比特”的两条信号线称为一 个差分对1 。按p c ie x p r e s s 总线技术规范规定,一个差分对的最大传输速率为 2 5 g b p s 。实际使用中,使用两个差分对作为一条链路,分别用做发送和接收。 相关标准规定,p c ie x p r e s s 总线能够以x l x 2 x 4 x 8 x 1 2 x 1 6 x 3 2 通道进行传 输,如表1 - 2 所示,可提供5 g b p s 到1 6 0 g b p s 的传输带宽。当系统内某一通道需 要更高频宽时,可以机动调度多个链路给该通道,让其传输频宽提升,以适应 一时激增的数据传输需求。 表l - 2p c ie x p r e s s 多链路传输速率表 p c ie x p r e s s 链路宽 l 通道2 通道4 通道8 通道1 2 通道1 6 通道3 2 通道 传输带宽( g b ,s ) 5 01 0 o2 0 o4 0 06 0 o8 0 ol6 0 o 有效带宽( g b s ) 4 o8 0 1 6 o3 2 04 8 06 4 01 2 8 0 8 b 1 0 b 编码使实际有效数据带宽损失2 0 ,每链路包含一对发送接收模块,每个模块 单项传输带宽2 5 g b s 。 除传输方式的改变外,p c ie x p r e s s 总线另一个更为重要的改变,即连接方 式的改变。p c ie x p r e s s 总线采用了新型的点对点连接方式,相对p c i 的共享总 线方式是一个根本性改革。在p c i 的共享总线模式下,p c i 总线上在某一时刻只 允许一个设备进行通信,随着p c i 总线上挂接的设备增多,每个设备的实际传输 速率就会明显的下降,性能无法得到保证。而p c ie x p r e s s 总线则采用更为先进 的点对点方式处理通信,每个设备在传输数据时建立一个独立的传输通道,相 对于其它设备这个信道是封闭的,这种传输方式既保证了通道的专有性,避免 其它设备的干扰,同时显著增加信号的质量和可靠性。点对点的连接模式,很 好的保证了其扩展性哺1 。 1 1 3 论文研究的意义 p c ie x p r e s s 总线具有高性能的传输速率和良好的通用性。其通用的模式, 不仅可用于北南桥之间和其它设备的连接,也可以延伸到芯片组间的连接,甚 至可以用于连接图形芯片。这样整个计算机的i o 系统将重新统一起来,进一 步的简化计算机系统。p c ie x p r e s s 总线以串行总线构架取代传统p c i 的并行 总线架构,使其在i o 技术领域有着更为领先的带宽优势,将逐步取代p c i 总 线和p c i - x 总线。p c ie x p r e s s 总线被公认是一项革命性的总线技术,其重要 性在于可以满足不同使用者的需求。随着未来持续增加的带宽需求,p c i e x p r e s s 总线的应用前景非常广泛。 1 2 论文涉及的主要技术 本论文主要在x i l i n x i s e l 0 1 开发环境中完成基于f p g a 嵌入式硬核的p c i e x p r e s s 总线接口设计,采用了多种关键技术,如v e r i l o gh d l 语言编程技术、 f p g a 技术、i p 核技术等。 1 2 1v e rj io gh d l 语言 硬件描述语言是一种用形式化方法来描述数字电路和系统的语言。设计者 天津工业大学硕士学位论文 , 利用这种语言可以从上层到下层( 从抽象到具体) 逐层描述自己的设计思想,用 一系列分层次的模块来表示极其复杂的数字电路。然后利用电子设计自动化工 具逐层进行仿真验证,把其中需要变成具体物理电路的模块经由自动综合工具 转换成门级电路网表。最后使用a s i c 或f p g a 自动布局布线工具把网表转换成具 体电路布线结构的实现呻1 。在制成物理器件之前,还可以用v e r i l o gh d l 等硬件 语言的门级模型来代替具体基本原件。因其逻辑功能和延时特性与真实的物理 原件完全一致,所以在仿真工具的支持下能验证复杂数字电路系统物理结构的 正确性,使投片的成功率达到1 0 0 。 随着集成电路制造工艺技术的进步,在一个芯片上集成数十万乃至几十亿 个晶体管已经成为现实。但如此大规模的电路仅由一个设计师独立完成而不出 错非常困难。一般来说,一个完整的硬件设计任务首先由总设计师划分为若干 个可操作的模块,编造出相应的模型,通过仿真加以验证后,再把这些模块分 配给下一层设计师,而下一层设计师对其下一层设计者完成的设计用行为级上 层模块对其所做的设计进行验证n i i o 这种层次化、结构化的设计方法主要包 含一下三个部分: 1 、自上而下的设计思想 自顶而下的设计是从系统级开始,把系统划分为基本单元,然后再把每个 基本单元划分为下一层次的基本单元,直到可以直接用e d a 元件库中的基本原 件来实现为止。自上而下的设计思想如图i - i 所示。 2 、层次管理的基本概念 复杂数字逻辑电路的层次化、结构化设计隐含着对系统硬件设计方案的逐 次分解。硬件的描述特别是行为描述通常称为行为建模。在集成电路设计的每 一个层次,硬件可以分为一些模块,该层次的硬件结构由这些模块互连描述, 该层次的硬件的行为由这些模块的行为描述。这些模块成为该层次的基本单元, ,如此下去,完整的硬 节点对应着该层次上基 在不同的层次都可以进 不同。在高层次上往往 编写一些行为级的模块,并通过仿真加以验证,其主要目的是系统性能的总体 考虑和各模块的指标分配,并非具体电路的实现,因而综合及其后的步骤往往 不需要进行。而当设计的层次比较接近底层时,行为描述往往需要用电路逻辑 来实现,这时的模块不仅需要通过仿真加以验证,还需要进行综合、优化、布 线和后仿真。总之,具体电路是从底向上逐步实现的。如图卜2 所示为h d l 设计 流程图,它简要地说明了模块的设计流程。 图1 - 2h d l 设计流程 天津工业大学硕士学位论文 。-,。_j 1 2 2f p g a 技术 f p g a 即现场可编程门阵列,它是在p a l 、g a l 、c p l d 等可编程器件的基础上 进一步发展的产物。它是作为a s i c 中的一种半定制电路而出现的,既解决了定 制电路的不足,又克服了原有可编程器件门电路数有限的缺点n 2 1 。 f p g a 使用硬件描述语言完成电路设计,经过仿真、综合与布局,通过j t a g 工具快速的下载到f p g a 上进行测试。由于f p g a 需要反复的烧写,所以它采用一 种易于反复配置的基于s r a m 工艺的查找表结构来满足要求。上电时,f p g a 将外 部存储器中的数据读入片内r a m ,配置完成后,进入工作状态;掉电后f p g a 恢复 为白片,内部逻辑消失。这样f p g a 不仅能反复使用,还无需专门的f p g a 编辑器, 只需要通用的e p r o m 、p r o m 编程器即可n 割。也有一些军工和宇航级f p g a 采用f l a s h 或者熔丝与反熔丝工艺的查找表结构。 根据数字电路的基本知识可知,对于一个n 输入的逻辑运算,不管是与或非 运算还是异或非运算,最多只可能存在2 n 种结果。所以如果事先将结果存于一 个存储单元,就相当于实现了与非门电路的功能,f p g a 的工作原理也是如此, 它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了与t 乍t 1 的逻辑结果n 劓。 1 2 3is e l0 1 介绍 f p g a 设计人员希望设计工具不仅支持先进的生产工艺,还要同时提供更好 的工具性能、更高的效率和更丰富的功能,更快实现设计时序收敛和设计反复, 快速解决时序以及低功耗等问题。此外,由于工程浩大,必须通过团队合作来 完成设计,因此要求设计工具满足团队设计所有要求,通过一个集成常见应用 环境的工具来提高团队的生产力,并通过片上系统促进真正的系统级解决方案。 鉴于此,x i l i n x 推出了新一代i s ed e s i g ns u i t e1 0 1 设计套件,从正面解决 f p g a 设计师所面临的严峻挑战,并且第一次提供了一个统一的逻辑、d s p 以及嵌 入式应用设计人员需要的解决方案n 副。 i s e 工具软件是x ili n x 公司推出的f p g a 集成开发环境,不仅包括逻辑设计 所需的一切,还具有大量简便易用的内置式工具和向导,使得i o 分配,功耗分 析,时序驱动设计收敛,h d l 仿真等关键步骤变得容易而直观。i s e 的主要功能 包括设计输入、综合、仿真、实现和下载,涵盖了f p g a 开发的全过程,从功能 上讲,其工作流程无需借助任何第三方e d a 软件n 引。 第一章绪论 。 1 2 4ip 核技术 美国d a t a q u e s t 咨询公司将半导体产业的i p 定义用于a s i c 、a s s p 和p l d 等当 中,并且是预先设计好的电路模块。i p 核模块有行为、结构和物理三级不同程 度的设计,对应描述功能行为的不同分为三类,即软核、完成结构描述的固核 和基于物理描述并经过工艺验证的硬核n 7 1 。 软核通常以硬件语言描述的文本形式提交给用户,它经过寄存器级设计优 化和功能验证,但其中不含有任何具体的物理信息。用户可以据此综合出正确 的门电路级设计网表,并进行后续的结构设计,具有很大的灵活性,借助于e d a 综合工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工 艺,设计成具有不同性能的器件。软i p 内核也称为虚拟组件。 固核的设计程度则是介于软核和硬核之间,除了完成软核所有的设计外, 还完成了门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提 供给用户。 硬核是基于半导体工艺的物理设计,基于已有的固定拓扑布局和具体工艺, 并经过了工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构 掩模版图和全套工艺文件,是可以拿来就用的全套技术n 引。 天津工业大学硕士学位论文 第二章p cle x p r e s s 总线技术研究 p c ie x p r e s s 总线使用的串行传输方式,能够支持更高的频率,连接的设 备不再像p c i 总线那样共享总线带宽。除此之外,p c ie x p r e s s 总线还引入了 一些新的特性,如流量控制机制、服务质量管理、热插拔支持、数据完整性和 新型错误处理机制。而且p c ie x p r e s s 总线在系统软件级与p c i 总线保持兼容, 最大程度上降低了系统软件从原有的p c i 总线系统结构移植到p c ie x p r e s s 总 线结构的难度。 2 1p oi e x p r e s s 系统构架 p c ie x p r e s s 系统采用点对点连接方式连接所有设备。各设备在同一系统 内能够以不同的频率运行,每一个设备分配独立通道,以满足不同设备的通信 需要。从而解决了p c i 所面临的瓶颈问题,减少了硬件冲突。 个典型的p c ie x p r e s s 系统主要由以下几部分组成: 1 、根复合器( r o o t c o m p l e x ) :集成在北桥芯片上的根复合器,用于处理器 和内存子系统与i o 设备之间的连接; 2 、交换器( s w i t c h ) :它取代了传统架构中的i o 桥接器,用来为i 0 总线 提供输出端,支持在不同终端设备间进行对等通信; 3 、p c i 桥接器( p c i b r i d g e ) :用来与传统p c i 设备连接; 4 、终端设备( e n d p o i n t ) 。 p c ie x p r e s s 拓扑结构包括一个主桥和若干个终端,交换技术代替了原来的 多节点复用总线技术,在不同的终端之间提供对等的连接方式,将各个终端的 数据分开传输,最终进入主芯片。传统的p c i 架构中,用于显卡的接口为a g p , 而在新的p c ie x p r e s s 架构中以p c ie x p r e s s 取代了,传统p c i 架构i 0 桥接器中 的p c i p c i - x 桥接器在p c ie x p r e s s 架构中全部被s w i t c h 取代,并且增加了一些 p c ie x p r e s s 总线接口用于终端设备连接。为了保持与现有p c i 兼容,在p c i e x p r e s s 架构中仍保留了p c i 接口侧n 引。p c ie x p r e s s 的拓扑架构如图2 一l 所示。 天津工业大学硕士学位论文 2 1 1s w it c h p c i e 到 p c i 桥 f p g a 端点oh is w i t c h i i f p g a 端点 f p g a 端点1iif p g a 端点2 说明: 上游端口 一下游端口 图2 - 1p c ie x p r e s s 系统的拓扑结构 在拓扑结构中s w i t c h 使用一个内部总线来连接上游端口和下游端口。在枚 举过程中总线只能接受它自己唯一的号码,结构如图2 - 2 所示。 总线 2 1 2 差分串行通路 图2 - 2 虚拟通道结构图 p c ie x p r e s s 架构中的l i n k ( 连接通路) 包含x l ,x 2 ,x 4 ,x 8 ,x 1 2 ,x 1 6 或x 3 2 个独立通道。每个通道都是对偶传输对,相互独立的差分信号通道,允许同时 操作。其基本的结构如图2 - 3 所示。 尊一 电源,接地,参考时钟 图2 3p c ie x p r e s s 通路结构图 数据流在传输过程中,字节在通过多路通道时会被自动拆解,如果在正常 运行过程中有一个信道丢失,l i n k 会重新进行链路训练,形成更小的标准配置。 但是,在这个过程中,通道0 是无论如何必须一直存在的。l i n k 的最终大小依 赖于信道的位置,而不仅仅是可操作的信道的总的数量。l i n k 只能在重启后才 能训练成更大的通路。字节的拆分过程如图2 4 所示。 图2 - 4 字节拆分示意图 2 2p c ie x p r e s s 设备层 p c ie x p r e s s 规定了一个设备层结构,如图2 5 所示。设备层由上到下包括 一个事物层、一个数据连接层和一个物理层。设备层可以垂直分成两个部分, 发送部分向外面发送出站数据,同时,接收部分处理入站数据。 天津工业大学硕士学位论文 f-。 p c ie x p r e s s 设备ap c ie x p r e s s 设备b 图2 - 5p c ie x p r e s s 设备层结构图 在发送端,事务层利用来自设备核和应用的信息组装成数据包内容。这个 数据包被放在缓冲器中准备发送到更低的层中。数据链接层在数据包上添加相 关的附加信息,这些附加信息在接收端用来错误检测。接着物理层开始编码, 最后组装成的数据包同时差分发送到l i n k 上。数据包通过连接到附近接收设备 上的可用l i n k 通道进行传输。在接收端,先是在物理层解码接收到的数据包, 将剥离s t a r t 和e n d ,然后将数据包的剩余部分上传到上一层。在数据链接层 开始检查接收数据包的错误,如果没有错误,数据包会继续传到事务层。在事 务层缓冲进入的t l p ( 事务层数据包) 同时将信息转化成数据核和应用可以处理 的格式。各层生成的数据包的形式如表2 - 1 所示。 表2 1 各层数据包结构 层数据包 事务层 事务层数据包( t l p ) 数据链接层 数据链接数据包( d l l p ) 物理层物理层数据包( p l p ) 2 2 1 事务层 事务层是p c ie x p r e s s 构架的上层,其主要功能是接收、缓冲和分发t l p 。 事务层通过使用存储器、i o 、配置和消息事务来传递信息。为了最大限度地提 高器件之间的通信效率,事务层遵守p c i 的事物排序规制,并通过基于信用的 流量控制来管理数据缓冲空间。p c ie x p r e s s 事务层处理这些源于发送设备事 第二章p c ie x p r e s s 总线技术研究 。 。 1 。 。 , k 务层,同时消失在接收设备的t l p 。这个处理过程如图2 - 6 所示。 图2 - 6 事务层数据流处理过程 在传送过程中,数据连接层和物理层同时也要对数据进行处理。软件层 设备核发送到事务层的信息仅仅是标头( h e a d e r ) 和数据部分,甚至一些t l p 包 含数据部分,而一些不包含数据部分,需要进行进一步包装。一个可选择的e c r c 域被附加到数据包上。最终的目标设备使用e c r c 域去验证t l p 中h e a d e r 和数 据的正确性。发送在l i n k 上t l p 部分的结构如图2 - 7 所示。 可选可选 图2 7t l p 部分的结构 在l i n k 上的接收设备中,事务层、数据链接层和事务层拆解t l p 。一个附 近的接受设备对接收的t l p 的处理如图2 - 8 所示。被接收到的t l p 首先被物理 层解码,s t a r t 和e n d 构架域被剥除,剩余的t l p 部分被送到数据链接层,这 一层检查t l p 的所有错误,同时剥除i d 和l c r c 域;如果没有l c r c 错误,t l p 将进一步上传到事务层,进行e c r c 错误检查,并报告发现的错误,但不允许修 改检测到的t l p 的错误,过程如图2 - 8 所示。 天津工业大学硕士学位论文 上传到设备的t l p 信息 俞 在物理层剥离 图2 8 接收端t l p 处理过程 最终的目标设备检测t l p 中的h e a d e r 和e c r c ,当确认无错误后,e c r c 域 将会被剥离,留下数据包中h e a d e r 和数据部分。这些信息最终上传到接受设备 核软件层中。 t l p 中h e a d e r 包含的信息主要有:( 1 ) 数据的大小尺寸;( 2 ) 命令;( 3 ) 属 性;( 4 ) 路由信息。 这些信息的配置在图2 - 9 所示的寄存器地址中进行配置。 h ii 覃,10 | 7 | 6i 。i 靴0 1 7 f 6 _ i f 0 1 7 | 6 1 5i 覃 i0 |i 7i6543 i 2i ,oi7654 3i2i ,loi7 f 6 f 5 i 4 3 i 2 l ,f ol7 l 6 i 54 l 32 ,i oi 爹商孑一”晡2 声f 誉黔琴一繁琵两磁了虿7 f 臀编”。一 l f i e l d s * 4 黝o u g h + 6v a r i e sw t ht 弦e l a s t 翁眨伊强醌 鏊,。 f i e k l s * 8 班r o u g h 州物融触礁 一 ,童 f b i d s + 1 2 伽u g h + 1 5v a n e sw 吐it y p e 2 2 2 数据连接层 图2 9t l p 格式的寄存器配置地址 i d w0 d w1 d w2 d 3 数据链接层充当事务层与物理层之间的中间级,其主要任务是为链路上两 组件之间的t l p 交换提供可靠的机制,保证信号的完整性。 数据链接层提供的服务包括数据交换、检错与恢复、初始化服务以及d l l p 的生产和使用。d l l p 用于在链路上两直连组件的数据链接层之间传输信息。d l l p 承载着电源管理、流量控制和t l p 应答等信息。 d l l p 发起于数据链接层,不包含有路由信息,相对t l p 的尺寸要小,一般 8 个字节比较精确。d l l p 有多种类型,一个d l l p 类型域确认不同类型的d l l p 。 数据链接层附加一个1 6 b i t c r c ,用于接收器对d l l p 进行c r c 错误检查如图2 - 1 0 所示。 图2 - 1 0 数据链接层数据流处理过程 数据链接层是d l l p 的目的层,它将不会再被上传到事务层。d l l p 的组装 结构如图2 - 1 1 所示。 2 2 3 物理层 生成于事务层 图2 1 1d l l p 格式 物理层数据包起源于发送设备的物理层同时终结于接收设备的物理层。物 理层与数据链路层通过信令技术相连,从而实现链路数据交换,物理层可细分 为逻辑子模块和电气子模块。逻辑子模块负责t l p 和d l l p 的成帧与解帧。该子 模块还负责实现用来控制链路初始化、培训和维护的链路培训和状况状态机。 数据的加扰、解扰和8 b l o b 编解码也是在此子模块中执行。电气子模块负责定 义用来连接器件与p c ie x p r e s s 链路的输入输出缓冲器的特性。该层详细结构 如图2 - 1 2 所示。 天津工业大学硕士学位论文 物理层数据包 字节封装器 “ ,j7 j 7o ,+ 扰乱器 ”万_ 1 r t 、 8 1 0 编码器 j = = :i 并行转串行 竺竺篁: 扰乱器 二二互二 8 1 0 编码器 = = 二 并行转串行 物理层数据包 字节剥离器 :垂: 解乱器 二 8 1 0 解码器 二 二 串行转并行 :耋: 解乱器 = e 8 1 0 解码器 二互 串行转并行 图2 - 1 2 物理层的数据流处理过程 p l p 是一个非常简单的数据包,在将d l l p 发送前在其前后加上一个开始和 结束,而在接收的时候再将其剥去,如图2 - 1 3 所示。 域。 在物理层剥离 图2 1 3 接收端d l l p 的拆解过程 剩下的数据包被传送到数据链接层。在这个层将检验c r c 错误同时剥除c r c 2 3 基于包的传输 p c ie x p r e s s 协议采用了与p c i 协议完全不同的基于包的方式来交换数据 和表示系统事件。除了支持基本的存储器、i o 和配置读写传输外,还使用消 息包来取代了原来p c i 协议中的中断等各种控制信号。使用包传输有很多好处, 特别是对帮助改善数据完整性时,有以下三个重要的优点:( 1 ) 包格式能很好的 定义;( 2 ) k 码很好的定义了包边界;( 3 ) c r c 可以保证包的完整性。 首先在事务处理层根据软件层请求生成t l p 包头和有效数据:然后发送到 数据链路层,将一个序列号和一个c r c 附加到t l p 上,形成数据链路层包:最后 发送到物理层,增加上分隔码,串行化发送到链路上。其中包头根据所访问的 第二章p c ie x p r e s s 总线技术研究 , ,_。 。 。 , ,、_。, 地址空间大小不同,可分为3 d w 和4 d w 两种长度。其格式如图2 一1 4 所示,包括 了事务类型、包类型、数据长度、目标地址、字节有效位等各种有用信息。 图2 - 1 4 包的头格式 2 4 地址空间 在一个p c ie x p r e s s 设备的物理层中,能接收到三种由控制码( k 码) 定义 边界的包类型,分别用作链路训练、时钟补偿和链路转换的序列码、d l l p 和t l p 包。其中序列码和d l l p 属于本地事务,所以不被转发并且不携带路由信息。而 t l p 则通过包含在其包头中的路由信息来进行路由,其起源于一个设备的事务 处理层,目标为另一个设备的事务处理层。 t l p 传送时,可访问四种地址空间,在p c i 固有的存储器空间、i o 空间和 配置空间的基础上,新增了消息空间以支持中断管理、电源管理等特殊功能。 并根据事务类型区分对上述四种地址空间采用分离传输进行访问,如表2 - 2 所 示。 表2 2 四种地址空间 地址空间事物类型目的 存储器空间读,写与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论