Xapp1193:
discovered:1)并不是所有芯片都支持aurora.xc7z010就没有。
2)XDC文件的指令-允许未约束的引脚的存在:
set_property BITSTREAM.General.UnconstrainedPins {Allow} [current_design]
PG046:
1.
3.
4.
5.例子
没看懂,上面是传递偶数个byte的情况下。
上面是传递基数个byte的情况。
为何需要clock compensation?
这里陈述了RX端对数据的处理过程。
6.
1)帧的长度过长,会因为时钟时钟补偿的原因导致效率下降。
2)剩下的没看懂。
7.
数据来的时候,不读就丢了。
上面这个exampleA是一个非常好的例子,注意关注每个动作的主语是谁。
aurora核控制ready信号来暂停data的传输,暂停时延续上一状态的data;
用户逻辑控制valid信号来暂停data的传输,暂停时不关心输出状态。
这个valid是由aurora核控制的?
【根据上面的aurora核IO的描述来推断,是由aurora核来控制的,来判断了数据(m_axi_rx_tdata[0:(8n-1)])是否有效后决定】【rx端不能推迟数据(m_axi_rx_tdata[0:(8n-1)])的延迟传输(没有ready端在RX侧),故数据存不住就丢了】
8.
若需要使用UFC功能,需要在IP核配置中进行选择。
UFC指令由特定的格式要求。PG046中有例子。
没懂。
9.
PG046中有例子。没懂。
10.使用aurora的IP核的注意事项:
1).
要记得在发送侧和接收侧都加上fifo.
2).
重点关注关键路径。
3).
Aurora核的改动只能在自定义IP的UI中完成。
11.
这个位置的分配能决定时钟关键路径。
12.
IP核内置的例子学习:
2).Testbench
ug058:
关于Aurora的一个测试模块的使用介绍。
pg046的二刷:
1、所谓的GTX transceivers 、GTH transceivers 都是基于GT原语(Gigabit transceivers primitives)的,之间区别在于最大传输速率不同。
2、Flow control can be used to reduce the rate of incoming data or to send brief, high-priority messages through the channel.
流控制可以用来降低速率,以及发送高优先级的命令。
3、Gaps between valid data bytes are automatically filled with idles to maintain lock and prevent excessive electromagnetic interference.
这里可能是使用tx端的valid信号进行控制的,tx的valid信号是Input,由用户逻辑控制。
4、The Aurora 8B/10B core detects single-bit and most multi-bit errors using 8B/10B coding rules.
可能是名字的来源
5、结构框图:
作用总结:1)初始化每个Lane 2)编码、解码控制字 3)错误检测
作用总结:1)成帧 2)验证初始化
作用总结:1)搬运(Channel(接受自(光口的RX 脚)) -> Application(AXI4-Stream接口)) 2)流控制
作用总结:1)搬运(Application(AXI4-Stream接口)->Channel(发送至(光口的TX 脚))) 2)流控制
6.延时(latency)
latency的构成(不包含TX和RX间的线路导致的时延):
lantency实例演示:
DRP接口:
Refer to the relevant UG transceiver guide for more information on DRP ports.
UltraScale FPGAs GTH Transceivers User Guide (UG576) [Ref 1] and 7 Series FPGAs GTX/GTH Transceivers User Guide (UG476) [Ref 3].
Reset接口:
下降沿有效。
IP核正常运行时,reset引脚必须都为高。
这里能看到reset 和 gt-reset 的区别。
Shared Logic :
自理解——因为aurora通讯中一定会有两块(loopback除外)ip core,一个用于发送,一个用于接收,所以就会有相同的逻辑单元,就出现了共享。
Power Down:
IP核的UI选项:
所需约束:
An example design XDC is created automatically when the core is generated from the Vivado design tools.
自带的Example:
单工模式下所需要做的更改:
frame_GEN & frame_CHECK 的介绍:
使用这一例子时的注意事项:When using the example design on a board, be sure to edit the
exdes.xdc file to supply the correct pins and clock constraints.
例子中的I/O:
debug: Select the Vivado Lab Tools check box on the Core Options tab of the Customize IP interface in the Vivado Integrated Design Environment (IDE) to include the ILA and VIO cores in the example design.
Tesbench:
1)双工:
过程描述:
2)单工:
过程描述: