Aurora IP core 的定制详情记录

IP核定制页面预览

第一页,物理层以及链路层信息选择:
Aurora IP core 的定制详情记录_第1张图片Aurora IP core 的定制详情记录_第2张图片
第二页,选择IP核使用的GTX 通道以及那个MGT BANK等:
Aurora IP core 的定制详情记录_第3张图片
第三页:共享逻辑的位置,例如时钟以及复位等逻辑,是在核内还是在例子工程内(一般较为复杂的IP核,赛灵思会提供例子程序供学习以及修改作为自己的工程),为了灵活使用时钟等,个人倾向于在例子内:
Aurora IP core 的定制详情记录_第4张图片

IP核定制详解

lane width

Aurora IP core 的定制详情记录_第5张图片
物理层参数之一,数据手册给出的解释是:
选择该IP核中使用的收发器(Transceiver)的字节宽度。此参数定义收发器的TXDATA / RXDATA宽度以及用户接口数据总线的宽度。 有效值为2和4。
默认值为2;
对于用户接口,我们在定制页面给出对比:
当lane width为2时:
Aurora IP core 的定制详情记录_第6张图片当lane width为4时,
Aurora IP core 的定制详情记录_第7张图片

Line Rate

Aurora IP core 的定制详情记录_第8张图片
在0.5(Gb / s)到6.6(Gb / s)的有效范围内输入以吉比特/秒为单位的线速率值。
线速率这个参数值是未编码的比特率,通过串行链路以该比特率传输数据。 该核的总数据速率为:
(0.8 x 线速率)x Aurora 8B / 10B通道数。
线速率受所选设备的速度等级和封装的限制(也即不同的设备以及封装等具有不同的限速率)。

GT REFCLK (MHz)

从下拉列表中选择收发器的参考时钟频率。 参考时钟频率取决于所选的线路速率。 为了获得最佳结果,请选择可以实际应用于目标设备的参考时钟输入的最高速率。
默认值为:125.000 MHz
Aurora IP core 的定制详情记录_第9张图片

INIT clk (MHz)

字面意思是初始化时钟,也没啥好解释的,Aurora协议中需要初始化的东西很多吧,默认时钟50M,给就完事了。

DRP clk (MHz)

DRP的英文应该是dynamic reconfiguration port,意思是动态可重配置端口,那么drp clk到底是个什么呢?在IP核中用来干嘛的?
你听说过在线配置属性吗?(例如:GTX可以工作在不同线速率,用户可能需要通过更改内部属性来实现,这就需要DRP时钟了。)也许做过GTX/GTH的朋友,有意无意都听说过,那这个drp clk就是用于此的。(也许你不需要用,但是如果例子程序需要给的话,给相应的时钟就好了。)

默认时钟也为50M。

Dataflow Mode

字面意思是:数据流模式,如下定制页面:
Aurora IP core 的定制详情记录_第10张图片
可以选择为全双工,以及只收单工,只发单工三种模式。
不必多说,如果你需要有收有发,自然全双工模式。

Interface

用户端接口,可以选择的协议格式有framing以及streaming,博文:Aurora IP core 的理论学习记录就介绍过。
streaming接口格式比framing格式要简洁的多。

Aurora IP core 的定制详情记录_第11张图片

选择用于核的数据路径接口的类型。 选择Framing使用AXI4-Stream接口,该接口允许封装任何长度的数据帧。 选择流传输则使用简单的AXI4-Stream接口通过Aurora 8B / 10B通道流传输数据。

Flow control

Aurora IP core 的定制详情记录_第12张图片
选择所需的选项以将流量控制添加到核。

用户流控制(UFC)允许应用程序通过Aurora 8B / 10B通道发送简短的高优先级消息。

本机流控制(NFC)允许全双工接收器调节发送给它们的数据的速率。

立即模式允许将空闲代码插入数据帧内,

而完成模式仅将空闲代码插入完整数据帧之间。

当然这是针对数据路径接口格式为framing时的流控制,如果选择streaming格式,则此选项不需要。

Back Channel

仅仅对应于单工模式,字面意思是后通道,至于干啥用的,我还真不知道。
用实践来说话吧,或者提出你的见解?
Aurora IP core 的定制详情记录_第13张图片
可选的值为;
在这里插入图片描述

GT selection

GT selection需要配置的有两个东西,一个是lanes,也就是通道数量,使用几个通道,就像去一个目的地,有很多条路,你需要选择你的车队分别做哪几条路线。
事实上,在FPGA中,GT Bank是有限的,不同类型的FPGA以及不同的封装等都有不同数量的MGT Bank,而一个MGT BANK上有4个通道叫channels,在这里叫lanes,四个channels加上一个共有的QPLL,组成一个Quad。
以前也讲过这东西:
Aurora IP core 的理论学习记录

GTX/GTH 物理层结构分析

如下:
Aurora IP core 的定制详情记录_第14张图片
这里就是配置这些的。
最后是GT Refclk1和Gt Refclk2,选择参考时钟,例如上图GTXQ0,是不是就是选择GTX中的QPLL了呢?
我想应该是的,这样的话,时钟质量是最好的。(当然还需要斟酌)。
我想定制过程大概就这样结束了,后面紧接着要进行仿真,通过仿真去更清楚的认识Aurora传输数据的过程。
先使用简单的streaming用户接口格式,在使用framing用户接口数据格式,这是很有必要的,因为实战中我发现还是很多都自用framing。

写在最后

在定制完成IP核后,就可以生成IP核了。
Aurora IP core 的定制详情记录_第15张图片等综合完成之后,
Aurora IP core 的定制详情记录_第16张图片通过右击定制的IP核可以选择声称该例子程序,这是我们程序设计的起点。下一篇博客见!

你可能感兴趣的:(FPGA)