Aurora IP建立仿真及测试

描述

由于项目需要,小编使用Aurora核对数据进行光纤传输,这篇文章主要介绍如何生成Aurora核、仿真上板测试。

一、Aurora IP建立

第一步

光纤通道

1》lane Width:用户数据接口 4(32bit) 2(16bit)

2》Line Rate:3Gbps 假设图像数据为1280x1024 @60 RGB(24bit),那么 1280 pixels/row x 1024 rows x 8bits/element gray scale x 3 elements/pixel x60 Hz refresh x 1.25 8b/10b x 1.05 (typical FC-AV protocol overhead) is approximately equal to 2.5 Gbps.

3》GT Refclk:200(此处查看板子原理图即可)

4》INIT clk:100MHz

5》DRP clk:100MHz

上述两个时钟在参考范围内设置相同即可,本页其他选项如图设置即可 。

第二步

光纤通道

选择高速串行通道的位置,默认即可 。

第三步

光纤通道

默认即可。

二、仿真测试

在Vivado软件中,我们生成好IP后可以可以打开带有例子的工程,进行仿真查看LANE_UP和CHANNEL_UP信号拉高后,即可认为光纤通道初始化成功,在对其数据接口进行查看,官方给的例程主要分为三大块,数据产生模块、光纤传输模块、数据检查模块 。

三、上板测试(光纤初始化)

我们需要对INIT_CLK_P、INIT_CLK_N、DRP_CLK、GT_RESET_IN、RESET四个信号进行修改。

第一步

INIT_CLK_P、INIT_CLK_N:我们利用板子的单端输入时钟27M进行pll倍频出的100M提供给INIT_CLK_IN。

将aurora_8b10b_0_exdes文件做如下修改

光纤通道

将aurora_8b10b_0_support文件做如下修改

光纤通道

将aurora_8b10b_0_CLOCK_MODULE文件做如下修改

光纤通道

第二步

DRP_CLK:将倍频出的100M时钟输入给DRP_CLK即可。

第三步

GT_RESET_IN、RESET:如果板子上有硬复位(低有效),对其取反赋给其即可,在顶层aurora_8b10b_0_exdes中修改。

assign RESET = ~sys_rst_n;

assign GT_RESET_IN = ~sys_rst_n;

第四步

如果我们板子上有指示灯,我们可以通过指示灯来查看是否初始化成功。在顶层aurora_8b10b_0_exdes中修改。

assign CHANNEL_UP_led = ~CHANNEL_UP;

assign LANE_UP_led = ~LANE_UP;

我们的指示灯是低电平亮,所以对其取反,上板烧写例程代码后可以看到两个指示灯点亮,我们就可以认为此时光纤核初始化成功。

学会使用Aurora核之后,那么我们就需要利用相关协议进行传输,小编在本次项目中使用ARINC818协议

对数据进行封装,然后过光纤进行传输,最后回传到sdi芯片进行显示,开发者可根据项目需要选择协议对数据进行传输。

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分