AURORA 8B/10B IP 核详解

 

Aurora  基础知识没有了解,只是用了一下IP核。废话不说,直接上IP核

AURORA 8B/10B IP 核详解_第1张图片

AURORA 8B/10B IP 核详解_第2张图片

 下面选择aurora的lane通道。这里需要注意,选择 的要和最后引脚分配的一致。也尝试过,在一个IP 核中开

4个lane,其中一个做主,另外3个做从。下板子验证过,三个可以独立工作。主lane没有互联lane  up  他三个的工作

也正常。因为,主lane只要时钟正常,其他lane就可以正常工作。

AURORA 8B/10B IP 核详解_第3张图片

选择  核在共享逻辑和核不在共享逻辑

AURORA 8B/10B IP 核详解_第4张图片

Aurora 有两个复位信号,复位有先后顺序,这一点在手册中有说。如果复位不对,Aurora工作不正常。还有就是这个复位的时间要拉长,否则会导致Aurora工作中间链路失联

AURORA 8B/10B IP 核详解_第5张图片

 

初始化,复位信号默认都是高电平,高电平复位。

先把 gt_reset_r 拉低(IP核中的 gt_reset_i----  gt_reset,每一次硬件上电后都要复位),后复位gt_sys_reset_r (IP核中的gt_sys_reset_i---reset,针对IP核的复位。)   。中间时间间隔较长,大致计算了一下时间间隔,2分钟后复位gt_reset_i ,3分钟后复位reset  。根据自己的时钟管理好计数器,时间是挺长的。

   这个代码做了两遍,第一次做的时候,发送数据用DDS 做数据源。接收端虽然是能接收数据,但是明显看到接收数据的正弦波有毛刺,说明中间传输数据有误。有以下几个原因导致这个错误:

1---- 产生数据源的时钟用的不对,应该用 IP 核对应的    user_clk_out  (user_clk) 

2---   chipscope 抓取时钟也要选取user_clk_out  (user_clk)

其实,在编译的时候,就有时序报错,就是因为跨时钟引起的,中间没有关注。在高速的时候,时序问题就是大问题

 

硬件上,用通道1和4 。自己抓数据看是 2492 个高电平,之后有4个时钟低电平。中间有低电平是协议里要插入 时钟同步信号。

 

 

你可能感兴趣的:(FPGA)