FPGA设计心得(13)aurora的线速率及其用户时钟之间的关系?

您所在的位置:网站首页 光纤速度怎么算出来的 FPGA设计心得(13)aurora的线速率及其用户时钟之间的关系?

FPGA设计心得(13)aurora的线速率及其用户时钟之间的关系?

2024-06-14 11:50| 来源: 网络整理| 查看: 265

文章目录 长话短说aurora的用户时钟频率是多少?aurora的用户时钟的来源?总结

长话短说

由于工作很忙,所以一直没有时间来胡乱写写,需要注意的是文章内容不涉及任何秘密,纯粹来源自公开的数据手册以及Xilinx工具及其网站,文章内容严谨性以及真实性纯粹本人妄自理解,爱信不信! 周末半夜抽空记录下需要速记的东西,所以就长话短说!

aurora的用户时钟频率是多少?

在定制aurora IP核的时候,我们需要选择各种时钟的频率,包括GT参考时钟,INIT时钟以及DRP时钟,其中GT参考时钟是来自于专用的MGT bank上的专用端口,其他就没有必要。 在这里插入图片描述 从GT参考时钟开始,通过一系列的时钟管理单元,例如PLL,MMCM等,可以衍生出一系列的时钟供Transceiver以及aurora协议使用,今天的主角是十分重要的,用户逻辑侧时钟USER_CLK! 它等于多少? 从上面的定制页面可以看出,我们的线速率选择的是3.125Gbps,看起来很高了,其实看单位也就是bit而已!除以8,变成390.625MBps,这时候是字节了,如果传输的数据具有32bit呢?也就是4字节?那么线速率可以转换位97.65625MQBps,其中的QB就是QUAD Bytes(也就是双字,DW),如果使用一个时钟去传输这样的32bit数据,一个时钟传输一个数据,需要一个90多M的时钟就够了! 注意,上面说的是在没有编码的情况下,算出来的时钟,但是高速串口进行数据传输时,都是会编码的,8B/10B编码,那么传输32bit数据,编码后就得40bit了。线速率为3.125Gbps,那么如果一个并行用户时钟传输一个数据,需要一个78.125M的时钟就行了。

为了验证,就上面的定制页面,生成一个例子程序,进行仿真,如下:

在这里插入图片描述 对用户时钟进行测量,12.8ns时钟,频率不就是78.125M吗? 验证无误!

下面给出结论,如果采用8B/10B编码,用户时钟为线速率除以编码后的用户数据位宽。 编码前的位宽可以在IP的定制页面选择:

在这里插入图片描述 在算上编码,就很容易得出编码后的位宽!

aurora的用户时钟的来源?

为了得到auroa的用户时钟来源?我们就aurora的例子程序扒一扒! 从用户逻辑模块开始,一层一层追溯它的来源:

在这里插入图片描述

从user_clk_i,到USER_CLK,再到GT_CLK,再到txoutclk_out,最终追溯到原语GTXE2_CHANNEL中的TXOUTCLK; 当然接收模块的用户时钟来源于RXOUTCLK;

在这里插入图片描述

用户时钟也不是一直都有的,需要链路通路才行!

在这里插入图片描述

总结

很简单地聊几句,最后,我认为直到USER_CLK和线速率之间的关系是很重要的,有助于我们选择线速率。知晓了用户时钟和位宽,可以验证用户逻辑设计符不符合需求,例如总线转换,这样的速率是快了还是慢了,这对于设计有时候还是必要信息(异步转换需要跨时钟),快了可能不要紧,慢了就得加线速率,有的时候甚至需要多通道!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3