新乡商城网站建设价格,企业管理软件7,肥城网站制作,阿里云主机上传网站一. 简介
哈喽#xff0c;大家好#xff0c;好久没有给大家写FPGA技术的文章#xff0c;是不是已经忘记我是做FPGA的啦#xff0c;O(∩_∩)O哈哈~。
这里将会给大家分享我学习到的第一个高速接口Aurora8B10B#xff0c;有点复杂#xff0c;但不是特别复杂#xff0c;对…一. 简介
哈喽大家好好久没有给大家写FPGA技术的文章是不是已经忘记我是做FPGA的啦O(∩_∩)O哈哈~。
这里将会给大家分享我学习到的第一个高速接口Aurora8B10B有点复杂但不是特别复杂对于第一次接触到高速接口的朋友来说难点在于细节的把控上由于资料并不是那么多(也挺多的□)很多新的概念结构和名词是第一次接触到不能够很好的吸收加上网上的教程不全面很难有一篇文章对它的各个详细作全面的介绍而且仿真都是基于官方例程来的直接忽视了里面的细节。
本篇文章的目的就是教会大家Aurora8B10B 和 Xilinx提供的IP并且基于自己的工程来进行仿真不copy官方例程中的任何文件。
二. 从IP配置界面学习Aurora
本次使用的VIvado版本为2022.2IP的版本为11.1不同的版本可能会有细微的区别打开IP的配置界面后有三个界面需要我们进行配置下面就依次来介绍这三个界面。
1. Core Options 主要配置物理层 和 链路层 这两个模块其它模块在在初学的时候可以忽略。
物理层: Line Width(Bytes) 线的位宽也就是你发送每笔数据的位宽Line Rate(Gbps) 线速率GT Refclk(Mhz): GT收发器的参考时钟它有一个点需要注意等下会提到INIT clk(Mhz)对Aurora核进行初始化一般为50M就可以了DRP Clk(Mhz): 动态配置时钟在例化IP后可以通过DRP接口来对其进行配置一般例化IP后其属性就不会动了所以用的不是那么多和INIT clk保持一致就可以了。
这里需要注意的一点就是GT Refclk这个信号由于Aurora这个IP是在GT收发器的基础上再次封装了相关的东西所以对GT收发器不是很了解的话有些信号使用细节上会存在问题。通过下图可以知道这个信号需要经过一个IBUFDS_GTE2来进行输入没有注意的话可能就会有意想不到的问题。 链路层 Dataflow Mode: 配置模式只发只收同时收和发Interface: 可以理解为用户数据是一帧一帧来的还是以数据流的形式来的接口上有无tkeep和tlask信号的区别Flow Control: 流控制,可以选择两大类UFC和NFC,或者无UFC就在数据发送的过程中需要发送一些紧急的数据过去通过UFC接口就可以将紧急数据发送出去NFC在同时收和发的模式下才可以使用发送方发送的过快而接收方接收的比较慢的话就需要通过NFC接口告诉发送方发送慢一点。两者在用户发送信号的表现均为将s_axi_tx_tready信号拉低。Back Channel 在只发或只收的模式下可以选择同时收和发的模式下只能为Sidebands这里没有进行详细的研究。
这一页的配置和选项的理解上应该就没有什么问题了。 2. GT Selections 这里配置比较简单主要是三个信息: 线数选择.GT收发器选择 和GT参考时钟选择。这里芯片我选择的是A7-100T,只有一个GT收发器所以只需要选择Lanes数和Lanes与GT收发器通道的对应关系即可参考时钟2是选择不了了换到K7也是如此。 3. Shared Logic 这个界面就两个选项共享逻辑是否包含在IP里面这部分设计的知识也是GT收发器里面的如果选择的是第一个选项包含在核里面在生成IP的时候会自动将GTPE2_COMMON这个原语包含在模块内并且IP top模块会将其输出的gt时钟和其他相关信号在端口输出。如果选择的是第二个选项不包含在核里面在生成IP的时候就不会包含这个原语那么gt相关的信号就需要外部进行输入。选择的时候可以观察一下IP端口信号的变动。
关于共享逻辑可以看下这幅图共享逻辑的主要功能是将GTREFCLK0时钟通过QPLL后生成QPLLCLK (QPLLOUTCLK)和QPLLREFCLK这两个时钟给GT收发器的Channel使用。 当然这里有点需要注意一下: GTP是没有QPLL和CPLL的只有PLL0和PLL1由于使用的是A7芯片只有GTP所以这里的细节需要注意一下。另外共享逻辑还可以选择外部输入的参考时钟但在IP配置的只能选择GTREFCLK0。 为什么要叫它共享逻辑呢怎样共享的呢A7只有一个GT收发器体现不了这一点。如果这里有两个GT收发器第一个选择的是包含在核内第二个选择的是不包含在核内那么就可以向下面这样连接起来了右边的Aurora里面的GT收发器使用的是左边的而不是它自己的。 到这里IP的配置界面以及相关的细节就给大家讲解清楚有不对的地方可以给我留言进行批评指正。 三.小结
本来想一篇文章写完的但是太难了太费时间了o(╥﹏╥)o所以就到此结束啦。
本篇文章主要是通过Aurora8b10b IP创建界面教大家如何进行配置以及配置选项中涉及到的疑难点。
下篇文章,以及下下篇中将带领大家了解Aurora8b10b 在GT的基础上做了那些事情 和 仿真。 欢迎关注公众号 FPGA之旅(下方公众号。 qq交流群 649098696