新闻中心

EEPW首页>EDA/PCB>设计应用> 基于FPGA的SoftSerdes设计与实现

基于FPGA的SoftSerdes设计与实现

作者: 时间:2010-01-13 来源:网络 收藏

1.4输出弹性缓冲器
输出弹性缓冲器的作用是把1 bit 622 Mb/s的数据串化为5 bit/124.4 MHz或8 bit/77 MHz的数据并输出,每个通道有5 bit或8 bit宽的缓冲器。因为622 Mb/s的输人数据流会偏离输入参考时钟的相位达12UI左右,所以实质上它们是异步的。正因为这个原因,在311 MHz时钟的每一个周期,其采样数据不一定是正常的2 bits,而可能在时钟比数据慢时是3 bits,时钟比数据快时为1 bit。状态机产生的POS信号被放置在CLK311的时钟域,以让它控制3个8∶1的选择器来产生R8,F8和M8信号,其中R8是当前有效的上升沿抽样值,F8是当前有效的下降沿抽样值,M8是要求3 bits位宽时的R8延时值。具体的跳变情况可通过状态机的输出信号右跳(SKIP RIGHT)和左跳(SKIP LEFT)来显示。而不管是SKIP RIGHT情况下的3bits抽样数据,还是正常情况下的2 bits抽样数据,甚至是SKIP LEFT情况下的1 bits抽样数据,它们都被放入5 bits或8 bits的移位寄存器。弹性缓冲器有5 bit或8 bit的位宽区域,在复位时,读和写信号指向缓冲器的中间,缓冲器的初始状态是半满的,可以容纳尽可能大的相位偏移量。弹性缓冲器的工作原理如图5所示。

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



2 仿真
的仿真环境如图6所示。发送方利用fifo造一些数据包,这些数据先经过低速并行数据接口,然后用8b/10b编码器对该并行数据进行编码。接着由模块对该数据进行并串转换;而高速串行数据则通过光缆被接收方接收,再通过模块对串行数据进行串并转换.然后用8b/10b解码器对该并行数据进行解码,最后得到低速的并行数据,这样,通过对该数据进行误码检测便可检测SoftSerdes在实现串/并转换过程中的误码率。



在图7所示的仿真波形中,发送方可将64Mbps的低速并行数据通过SoftSerdes并串转换为640 Mbps的高速串行数据,而接收方则可将640Mbps的高速串行数据经SoftSerdes串并转换为64Mbps的低速并行数据。从仿真结果可以看出,SoftSerdes技术没有使用传统的CDR技术,而是通过320 MHz的本地时钟来采样数据,从而实现数据的串并转换。



3 结束语
由于SoftSerdes的整个设计都采用数字电路,所以具有比较高的噪声容限和比较低的功率损耗,也易于用对其进行实现,同时也可相对容易地完成产品升级。所以,该方法在通信、控制等需要用大规模进行设计的产品中有着广泛的应用前景。


上一页 1 2 3 下一页

关键词:SoftSerdesFPGA

评论


相关推荐

技术专区

关闭