逻辑实现PCS模块

来源:本站
导读:目前正在解读《逻辑实现PCS模块》的相关信息,《逻辑实现PCS模块》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《逻辑实现PCS模块》的详细说明。
简介:前面介绍到使用cmu通道来实现transceiver功能,必须使用用户逻辑来实现pcs功能。图1是StratixIVGX器件Transceiver的数据路径框图,上半部分灰色是发送通道的数据路径,下半部分蓝色是接收通道数据路径。

逻辑实现PCS模块

图1:StratixIVGX器件Transceiver数据路径框图

可以看到每个transceiver通道包括发送和接收通道,其中发送通道包含了发送通道PCS以及发送通道的PMA;同样接收又进一步分为接收PCS和PMA。

根据我们前面的介绍,我们知道,CMU通道中没有中间的PCS模块,需要我们自己通过代码来实现。

我们首先来看发送路径,对于发送路径相对比较简单,主要实现8b10b编码即可,如图2所示

逻辑实现PCS模块

图2:CMU发送路径PCS模块逻辑实现框图

如图2所示,紫色方框就整个Transmitter模块了,包括pcs和pma。那么对于pcs来说就是实现8b10b编码,我们可以调用altera的8b10b IP来实现,使用k28.5这个码来作为对齐K码。需要提醒大家的是,从Quartus II14.0开始已经不提供8b10b这个IP了,但是以前版本生成的IP还是可以继续使用。另外,使用这个IP需要altera的授权。

接下来,就是比较复杂的接收路径,如图3所示,在接收路径上,我们主要需要实现8b10b解码,字节对齐,ratematcher FIFO以及自同步功能模块。

逻辑实现PCS模块

图3:CMU接收路径上PCS逻辑实现框图

和发送路径一样,8b10b解码可使用同样的IP。ratemacher FIFO其实就是一个普通的FIFO用于,只是该FIFO的读只有在FIFO达到半满的时候才开启,FIFO读写使用相同的时钟,两侧数据速率相等。而对齐模块其实就是一个普通的移位寄存器,根据子同步器给出的bitlist信号来确定是否进行移位。8b10b解码器是将10bit的并行数据解码成8bit并行的数据,并需要给出是否出现解码错误的指示给自同步器。

相对来说,自同步器模块逻辑设计更关键一些。只要aligner输出的10-bit数据没有与8b10b解码器对齐,就会产生很多错误码组合,那么此时,就会置位8b10b解码错误,该错误标识输出给自同步器模块,而自同步器模块根据这个标识来产生两个输出标志,即对齐标志和移位标志。其中所谓的移位标志用于对齐模块移位控制,而对齐标志用于产生我们在普通GXB接收通道看到rx_ctrldetect控制信号,用于指示当前是数据还是K码。

提醒:《逻辑实现PCS模块》最后刷新时间 2024-03-14 00:57:28,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《逻辑实现PCS模块》该内容的真实性请自行鉴别。