FPGA设计心得(13)aurora的线速率及其用户时钟之间的关系?
文章目录
- 长话短说
- 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和线速率之间的关系是很重要的,有助于我们选择线速率。知晓了用户时钟和位宽,可以验证用户逻辑设计符不符合需求,例如总线转换,这样的速率是快了还是慢了,这对于设计有时候还是必要信息(异步转换需要跨时钟),快了可能不要紧,慢了就得加线速率,有的时候甚至需要多通道!
FPGA设计心得(13)aurora的线速率及其用户时钟之间的关系?相关推荐
- FPGA设计心得(4)Aurora IP core 的定制详情记录
文章目录 写在前面 IP核定制页面预览 IP核定制详解 lane width Line Rate GT REFCLK (MHz) INIT clk (MHz) DRP clk (MHz) Datafl ...
- FPGA设计心得(6)Aurora IP核例子简析与仿真(framing版)
文章目录 背景 定制framing接口的IP核 生成示例工程并分析 GEN模块分析 CHECK模块分析 示例工程仿真 总体仿真 发送模块仿真 接收模块仿真 参考资料 交个朋友 写在最后 工程分享 背景 ...
- FPGA设计心得(5)Aurora 例子工程分析与仿真实例分析(streaming版)
文章目录 背景 例子工程预览 例子程序用户模块逻辑分析 收(CHECK) 发(GEN) 例子程序仿真文件分析 写在最后 工程分享 参考资料 交个朋友 背景 熬夜写完了上两篇博客: Aurora IP ...
- FPGA设计心得(3)Aurora IP core 的理论学习记录
文章目录 Aurora IP核介绍 整体介绍 大小端 Framing or Streaming User Interface framing 接口介绍 framing 结构 几个frame的例子 st ...
- FPGA设计心得(11)关于FIFO IP核使用的一点注意事项
文章目录 前言 位宽转换 分布式ram资源的FIFO不能变换位宽 Block RAM资源可以变化位宽 Builtin FIFO资源不能变化位宽 FIFO 安全电路 FIFO消耗资源 输出延迟 Read ...
- FPGA设计心得(9)基于DDS IP核的任意波形发生器设计
博文目录 写在前面 正文 设计要求 IP核配置 定制输出数据位宽 定制相位位宽(或频率分辨率) 输出频率 输出正余弦选择以及数据格式 其他设置 电路设计 行为仿真 参考资料 交个朋友 写在前面 数据手 ...
- FPGA设计心得(8)Verilog中的编译预处理语句
文章目录 写在前面 正文 宏定义 文件包含 条件编译 条件生成语句问题 回顾 参考资料 交个朋友 写在前面 相关博文 博客首页 注:学习交流使用! 正文 看稍微复杂一点的IP Core以及模块等 ,都 ...
- FPGA设计心得(2)边沿检测的问题进一步说明(仿真中一定能得到上升沿的设计)
文章目录 背景 新检测方法 旧检测方法 改进旧检测方法 设计介绍 设计代码 仿真情况 仿真图 最后想提出的问题 同行邀请 工程分享 背景 关于边沿检测,写过的博文也很多,不下于4篇了,当然都是学习过程 ...
- FPGA设计心得(1)真双口RAM使用及其仿真问题记录
文章目录 前言 设计介绍 关于仿真 老生常谈 最后想说的话 前言 RAM是一个好东西,FIFO也是,关键是适应你的设计场景,本文是一个记录性质的博文,所以也没必要什么都交代清楚了,只是在项目开发中,有 ...
最新文章
- 创建一个水平盒子java_盒子模型理解
- cascader 动态加载 回显_Element中的Cascader(级联列表)动态加载省\市\区数据的方法...
- 字符编码:ASCII,Unicode(UTF-8)
- acl审计软件_什么是IT审计员?风险评估的重要角色
- python 变量类型注释_变量类型、命名规则及代码注释
- mysql中函数大全_MySql 函数大全(一)
- 国庆佳节,我们有好礼相送!
- Pandas Index 转换排序联表选取
- Android学习笔记11---_查看与输出日志信息
- AutoCAD ObjectARX和RealDWG的基本数据操作
- 帝国7.5标签+在PHP7.0,帝国CMS7.5支持PHP7.*系列,兼容性更好
- HTTPS重定向到HTTP
- centos6.5 安装svn可视化管理工具 if.svnadmin
- php增删查改数据库,PHP数据库的增删改查
- 合伙创业 三大误区
- 7. 文件和数据格式化
- 访问任何dns都超时_如何使用动态DNS从任何地方轻松访问您的家庭网络
- 目标检测经典论文——YOLOv3论文翻译:YOLOv3: An Incremental Improvement(YOLOv3:增量式的改进)
- 操作系统--04文件管理
- C 实现FFT与IFFT
热门文章
- VMware vSphere: What’s New [V 5.1]
- 网页编程,JS模态窗口,子页面向父页面传递值
- 关于OUTLOOK 2007邮件无法打印的问题解决方法
- ie与firefox兼容文档
- 感光电路板制作(转收藏)
- 抗侧力构件弹性位移如何计算_穿心棒法盖梁施工计算书(工字钢)
- linux uvc 支持的设备,摄像头是否支持uvc
- cs怎么加电脑人_怎么给电脑文件夹加密码?
- 2021桓台高考成绩查询,桓台中考成绩查询2021
- 2021年春季学期-信号与系统-第十四次作业参考答案-第三小题参考答案