微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Aurora 8b/10b IP模块的问题

Aurora 8b/10b IP模块的问题

时间:10-02 整理:3721RD 点击:
小弟最近在调用Aurora 8b/10b IP模块时,在用modelsim功能仿真时,一切正常。 但是下到FPGA板子上时,channel_up初始化结束的信号一直是“0”,板子上的Tx和Rx是互连的,用chipscope追了时钟和复位信号都是正常的(复位低电平有效注意到了)。
    IP模块的设置细节如下: lane:2, lane width: 2, line rate: 2.5Gbps, GT CLK: 125Mhz, dataflow mode: duplex, Interface: framing, flow control: none. Rocket IO的GTP DUAL是设置在X0Y2,X0Y3。下板子是直接使用了例化后的example,并将Tx和Rx形成了回路。
     有了解原因的朋友帮忙解决下,谢谢!

1# lijinsong1986
Thanks

2# pappinait
Thanks !

高手帮帮忙。

没研究过。

请问一下,Aurora 8b/10b IP核模块里的参数gtxd0与tx_lock该如何设置?还有就是USER_CLK与SYNC_CLK时钟作为输入端应该设为多大,USER_CLK and SYNC_CLK are the output of a PLL
whose input is derived from TX_OUT_CLK. 这到底该怎么弄?谢谢!

小编,建议你先确认一下你的aurora的预加重,均衡以及serdes摆幅这些参数对不对,用ibert扫描一下你的眼图,看看眼线怎么样。这些东西是Modelsim仿真cover不到的。

新手刚接触fpga不久,你说的aurora的预加重,均衡以及serdes摆幅这些参数在rocketio gtx tranceviers wizard里面设置!请问一下小编,可以单独使用aurora 8b/10b core (v5.2)---没有使用rocketio gtx tranceviers wizard,来完成一个简单的数据传输吗?我的工程里只使用了一个aurora 8b/10b core (v5.2),不知道参数gtxd0该怎么处理,以及SYNC_CLK时钟应该设为多大?当synthesize工程时,在ISE Project Navigator 面框里提示"  the required file auroar.v for the ip core aurora .xco was not found in the ip core source directory ... "问是否需要重新生成,当重新生成后,综合总是报错,显示"line 188 Illegal recursive instantiation of module 'aurora' "请问一下小编该如何处理这个问题!不胜感激!

可以的,不用特意去用GTX wizard再生成tranceiver。 aurora core生成之后下面会自己调用的,你查下你的源文件,底层什么phy_wrapper里面应该有调用的。
sync_clk时钟是aurora core的GTX 输出的recover clock过一个bufg之后返回来的时钟,跟USER_CLK是一样的。
aurora只需要一个片外时钟,不需要额外的时钟了。
XST只需要读一个XCO文件就可以了,如果报错,你就双击那个XCO重新生成以下就OK了,没什么问题。

aurora的预加重,均衡以及serdes摆幅这些参数在rocketio gtx tranceviers wizard里面 -----
你可以查看下你用coregen生成的aurora的源文件,最底层,有一个什么aurora_8b10b_gtx_tranceive_wrapper。 名字可能不全,这个wrapper下面会调用GTX,在调用GTX的时候就用一堆的参数赋值,那里面就可以认为改这些预加重,均衡以及serdes摆幅这些参数。
对了,好像还有个DRP端口,动态重配支持端口。这个好像也可以配置这些。你可以看下UG。

谢谢小编,“底层什么phy_wrapper里面应该有调用的”没有找到!请问一下具体位置在哪?
还有“aurora的源文件,最底层,有一个什么aurora_8b10b_gtx_tranceive_wrapper。”我没找到,清小编帮忙一下!

小编你好,非常感谢!但你说的“用coregen生成的aurora的源文件,最底层,有一个什么aurora_8b10b_gtx_tranceive_wrapper。 ”以及“aurora core生成之后下面会自己调用的,你查下你的源文件,底层什么phy_wrapper里面应该有调用的”我都没有找到,请小编高手具体指点一下!不胜感激!
另外我的qq是2498117130,不知可不可以加你,想更方便请教你!

我的qq是2498117130,想加一下小编,更具体的讨教!



   aurora整个core是需要两个时钟输入的,一个是给GTX/GTP的差分输入时钟,另一个是用于对GTX/GTP的复件的debouce的时钟。对于user interface的时钟,是由GTX/GTP反馈输出的同步时钟。  小编,我发现这个core每次在bit配置完后,不能够自动复位,lane_up不起来,一定要手动按一下复位键才可以。不知道小编对这个core在实际使用中的Reset是怎么设置的,不可能每次上电后都去手动按一下复位键吧?


你好,我最近刚接触aurora,直接例化的aurora之后用Modelsim仿真是没有问题的,接下来是下板子,(下板子也是例化完之后用的example_design直接下的板子,没有改动什么东西)在下板子的时候是直接加的.cdc用Chipscope抓信号出来看结果的(在例化的时候选择了Chipscope这个选项的),但是加.cdc会出错,在map的时候出错~或者是下板子之后没有时钟,由于是新手不知道怎么回事也不知道该怎么找错误,手上的资料也就只有数据手册而已。希望您能给点指导意见,若是有关于aurora更多的资料的话
可否共享一下,感激不尽~在线等您的回复,O(∩_∩)O谢谢



   亲,aurora的ip就看xilinx那个用户手册就已经相当足够了。你用的IP是哪个版本的? 直接上china.xilinx.com找它的UG来看就好了。
   另外,下板子,你要确定你的时钟和复位管脚,是不是跟它的example一致的,或者是不是你没有UCF约束文件?各个管脚映射要对哈。然后确定板子上一定有GTX的参考时钟输入。
   v6.1版本的aurora只需要一个外部时钟,v8.3的就需要两个了,所以你要确定你的版本号。
   还是建议你先把UG大概浏览一遍,大概了解下这个IP,然后再下板。


谢谢~这个时钟的问题现在已经解决了,但是现在出现了CHANNEL_UP在数据传输的过程中不时的拉低的问题,不知道这个是什么造成的?看其他的帖子说需要调整GTX的参数,我找到了aurora_gtx.v的文件,但是不知道怎么下手改那些摆幅,预加重等参数,对于这个问题您能不能给具体的说明呢?谢谢~这个问题很急,希望您在看到之后能尽快回复我一下,不胜感激!



   请教一下,8.3版本的Aurora INIT_CLK,就是去GTP复位抖动的那个时钟,一般配多少MHz的,差分的我用的100Mhz



   对了,目前板子上只有3个100Mhz的差分时钟晶振...................

求助各位大神 我用生成的IP核里面那个例子下载到板子里channel_up和lane_up一直为低(时钟,复位都正常) 跪求各位大神指点,再拜

thnks



   是不是一直复位状态,或者你UCF约束的不对,再有确定FPGA的晶振起震,差分时钟有



   都排除的话,看看LOOPBACK值是不是2,如果没改,是0的话,需要外部跳线,差分对连起来,才能CHANNEL_UP



   差分对没用跳线连起来吧,或者你把LOOPBACK值改为“010”近端PMA回读模式,然后再下到板子里,看看灯亮不亮,或者分析仪抓信号

一般自环使用同源时钟,自发自收是没问题的。两块板对联经常出现channel up不能建立问题。源文件中cc_mudule里frequency_factor数值可以尝试改小,但有时候还不能完全解决问题。



   正如你说的,回路调试时channel_up拉高,但是在板间调试的时候就出现了channel_up一直拉低的情况,板子上都只有一个130M差分晶振



   请问这种情况该怎么解决?谢谢你。



   不知道你的问题解决了吗?能否帮我解答下疑惑。谢谢!



   大神,我已经把时钟补偿的频率降低到每126个字节补偿一次了,可channel_up依然时高时低,请问你解决这个问题没有,好纠结啊,搞了好长时间了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top