关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于Spartan-6的16路高速串行传输的设计与实现

基于Spartan-6的16路高速串行传输的设计与实现

作者: 时间:2011-04-14 来源:网络 收藏

产生好发送时钟后,将800MHz的发送时钟和100MHz的FPGA内部逻辑时钟送到发送数据模块开始数据的发送。送到所有输出OSERDES2源语的时钟和SerDes使能信号可以满足安全的捕捉FPGA内部并行的慢速数据到输出SerDes,这些并行的数据然后通过的发送时钟发送出去。其中一路的数据发送如图6,共有16路相同的模块组成128bit的数据的,每路数据发送速率为800MHz,则每路的数据速率为8bit×100MHz=800b/s,共16路数据线,则总的速率为12.8Gb/s。

本文引用地址://m.amcfsurvey.com/article/162171.htm

g.JPG


源同步时钟的发送不能直接将时钟信号通过OBUFDS类似的源语直接发送,因为是面向低成本的低端产品,不支持信号的处理,所以,发送时钟要像发送数据一样发送出去,通过发送一个固定常数序列“10101010”来完成时钟的发送。
3.2 接收模块
接收模块的源同步时钟是上面发送模块发出的400MHz的时钟,该时钟根据需要在PLL内部产生一个高速采样时钟,通过PLL和BUFFPLL来产生ISERDES2源语所需要的接收时钟和使能信号。接收源同步时钟首先经过一个延迟单元。然后经过一个BUFIO2到PLL,PLL产生一个800MHz的采样时钟和一个100MHz的FPGA内部逻辑时钟,再通过一个BUFPLL驱动用于后续的逻辑。接收时钟的产生模块如图7所示。它和发送时钟不同之处也是在于是面向低成本的低端产品,对于400MHz的时钟该系列FPGA无法接收,首先要将该时钟当成数据一样进行接收,收到“10101010”比特串后,作为时钟信号送给PLL。

k.JPG


产生好接收时钟后,将800MHz的采样时钟和100MHz的FPGA内部逻辑时钟送到接收数据模块开始数据的接收。其中一路的接收如图8,共有16路相同的模块组成128bit的高速数据的传输,每路数据采样速率为800MHz,内部FPGA逻辑时钟为100MHz,则每路的数据传输速率为8b-it×100MHz=800b/s,共16路数据线,则总的传输速率为12.8Gb/s。

l.JPG



4 实验结果分析
在上述的结构中,首先在FPGA1的逻辑中将Rec-FIFO初始化为满数据状态,当发送了数据使能信号后,系统就开始自循环测试,一旦出现错误将会置错误标记,在验证板上有状态灯指示该状态,经过实际测试,送到两片FPGA的时钟为400MHz,完全满足在16路高速传输的传输速率达到12.8Gb/s的板级试验。只是ChipScope不能对管脚的高速信号进行采样观察,所以我们在ISE11.5和ModelSim SE 6.5的环境下,仿真可以看到管脚高速信号和FPGA内部逻辑之间收发数据的关系。图9是发送数据的仿真结果,图10是接收数据的仿真结果。其中,所有的输出是差分输出,为了便于观察,一对的差分信号只显示其中一个。

a.JPG


从图中可以看出,源同步时钟是400MHz,按照DDR方式传送数据,数据的传输速率为800MHz,即经过PLL后的采样时钟(或者高速发送时钟)为800MHz,而产生的FPGA内部逻辑的时钟为100MHz,从上两图中的波形可以看出,该了高速串行传输的功能。在FPGA中,输入输出管脚的锁定是重要的一环,一个合理的管脚分配方案不仅可以降低布线复杂度,而且可以减少布线的延迟,并有利于PCB板的制作。X-C6SLX150有四个bank,本文中的串行传输采用LVDS 2.5V标准,我们将收发信号线分别放在不同的bank上,在布线时,为尽量保持同一组差分信号线间的等长,对管脚分配进行调整,做到最优化布线。

5 总结和展望
本文介绍了Xilinx公司XC6SLX150的16路高速串行传输的,此设计充分利用了的特点及其所含的IP核,不仅能够最大限度地提高芯片性能,而且缩短了开发周期,减少了设计复杂度,有益于高速FPGA的开发。通过试验,结果表明,采用Xilinx Spartan-6 SerDes设计的每路高速串行传输可以800Mb/s的传输速率,但Spartan-6本身具有每个差分I/O的最高数据传输速率为1050Mb/s的性能,由于硬件的限制未能验证,在今后的设计中希望可以进行弥补。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭