Chip2Chip IP Core学习总结--基于Xilinx PG067文档进行部分翻译

文章主要针对chip2chip IP核进行解读和分析,采用官方提供的Example进行示例,博客中大部分内容参考Xilinx官方的PG067手册完成。

Chip2Chip 核心的功能就像一个桥梁,通过一个AXI接口无缝地连接两个设备。核心透明地连接符合AXI协议规范的事务。桥接功能允许所有AXI通道独立操作,通过转发每个通道的数据和控制信息符合AXI每个通道的有效握手。
执行桥接功能需要两个AXI芯片核心实例。下图提供了主和从AXI芯片2芯片IP核的框图。
在这里插入图片描述
从图中可以看出,框架分为主设备和从设备,两个设备可以通过Select I/O或Aurora PHY进行通信。选择哪一个进行通信可以在设计时在IP核设置界面进行选择。本篇博客主要针对Aurora PHY的通信方式,所以如果是学习Select I/O方式的伙伴可以撤了。
对于采用Aurora PHY的通信方式,官方给出的例程框图如下所示。从图中可以看出,包含了Traffic Gen、Traffic Che、Chip2Chip Core和Aurora Core组成,其内部通过箭头对数据流向进行了描述。
在这里插入图片描述
官方给出的TestBench仿真模型如下所示:
在这里插入图片描述
在本次设计中,针对IP的设置如下所示:
在这里插入图片描述
对于IP核的配置主要更改了Chip2Chip Mode和AXI_Lite Mode。然后使用官方提供的tb文件进行仿真。在仿真前先观察官方tb文件中的几个信号。
在这里插入图片描述
通过这段代码可以看出,仿真中主要需要观察的几个信号和其功能分别为:

信号名称 功能
t_axi_calib_done_out_mas 主设备通信完成
t_axi_calib_error_out_mas 主设备通信错误
t_axi_calib_done_out_slv 从设备通信完成
t_axi_calib_error_out_slv 从设备通信错误
axi_c2c_link_error_out_mas c2c连接错误
aurora_rx_p_mas、aurora_rx_n_mas Aurora主设备接收
aurora_tx_p_mas、aurora_tx_n_mas Aurora主设备发送
start_traffic 测试完成标志位
在仿真文件中,为了体现出数据交互的效果,在进行赋值时,将输入输出直接相连。
在这里插入图片描述

仿真结果如下所示。(*注:官方提供的demo仿真时间很长!!!!从仿真图也可以看出大概需要运行1秒多的时间才能看到仿真结果,一般配置的电脑光这个仿真大概要跑一两个小时,所以请耐心等待!!!!
在这里插入图片描述
在这里插入图片描述
从上述两个仿真结果可以看出,主设备和从设备分别练成了连接,并且完成连接后传输一段数据后start_traffic拉高,表示传输过程完成并且未出现错误。
此文只是针对IP核的基础功能和验证方法进行了描述,如果因为项目需要,可能涉及到内部的改动,如果有问题可以评论一起进行讨论学习。文中如有错误请批评指正。

猜你喜欢

转载自blog.csdn.net/weixin_45143788/article/details/131302346