在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16863|回复: 40

[求助] altera的tse ip核上板调试求助,卡了几天,请做过的朋友帮助一下,谢谢!

[复制链接]
发表于 2013-6-10 13:58:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 powermike628 于 2013-6-11 03:31 编辑

软件用的是quartus ii 11.0,片子用的cyclone 4。首先我通过quartus ii生成了一个tse的IP核,参数如下面几幅图片所示:
0.jpg
1.jpg
2.jpg


然后生成了tse的ip。我用它控制一个百兆的以太网芯片。根据生成的仿真工程,我得到了tse ip的寄存器配置如下:
parameter  C_data_scratch                   = 32'haaaaaaaa;
parameter  C_data_command_config      = 32'h04088033;  
parameter  C_data_addr_mac_0            = 32'h22334450;
parameter  C_data_addr_mac_1            = 32'h0000ee11;
parameter  C_data_frm_length              = 32'h000005ee;
parameter  C_data_pause_quant           = 32'h0000000f;  
parameter  C_data_rx_section_empty    = 32'h00000000;
parameter  C_data_rx_section_full         = 32'h00000010;
parameter  C_data_tx_section_empty    = 32'h00000010;
parameter  C_data_tx_section_full         = 32'h00000010;
parameter  C_data_rx_almost_empty     = 32'h00000008;
parameter  C_data_rx_almost_full          = 32'h00000008;
parameter  C_data_tx_almost_empty     = 32'h00000008;
parameter  C_data_tx_almost_full          = 32'h0000000a;
parameter  C_data_mdio_addr0             = 32'h00000001;
parameter  C_data_mdio_addr1             = 32'h00000001;
parameter  C_data_tx_ipg_length          = 32'h0000000c;
这个和仿真工程中的寄存器配置是一模一样的。
我将00,01,02,03,......,7A,7B,7C,7D,7E,7F这个128个数存在fpga的内部rom里面,利用UDP的方式,不停的向上位机发数据。上位机利用iptool这款软件进行抓包分析,抓得的包如下图所示: 3.jpg

通过分析,抓包抓得的数据是正确的。
通过iptool查看了一下速度,很快。
4.jpg

然后利用signaltap ii工具抓取发送经过local loopback回来的数据如下图所示
这是一帧的图片:
5.jpg

这是帧头局部放大的图片:
6.jpg

这是帧尾局部放大的图片:
7.jpg

通过和发送的数据对比,发送的数据是:8C 89 A5 B8 EE 89 22 33 44 55 66 AA ...... 79 7A 7B 7C 7D 7E 7F
但是local loopback回来的数据变成了:     89 A5 B8 EE 89 22 33 44 55 66 AA ...... 79 7A 7B 7C 7D 7E 7F D0
通过比对,发现两者"......"所代表的的数据是一样的。也就是说经过local loopback回来的数据的第一个字节掉了,第二个字节变成了第一个字节,然后最后一个字节变成了D0。
但是我用modelsim仿真我的工程的时候发送的数据和loopback回来的数据是一模一样的。
卡了几天,原因一直没找到,请做过这个的朋友给些帮助,谢谢。
附件当中是那几幅图片。
图片.rar (631.72 KB, 下载次数: 91 )
 楼主| 发表于 2013-6-11 09:36:06 | 显示全部楼层
还有我的整个工程用的都是verilog,没有用nios ii处理器。
发表于 2013-6-11 11:52:25 | 显示全部楼层
不错啊
发表于 2013-6-11 18:17:36 | 显示全部楼层
:):):):):):):):):):):):):):)
 楼主| 发表于 2013-6-12 21:16:25 | 显示全部楼层
就没有人碰到这个问题么,自己顶起来
发表于 2013-6-13 09:47:53 | 显示全部楼层
没做过这个,帮你顶一下

之前做Serdes时曾经有类似的情况,那是因为使用了不恰当的数据序列,
序列总包含了其同步用的特征字节,导致数据序列中的同样的字节被“吃掉”
发表于 2013-6-13 10:22:39 | 显示全部楼层
没做过,也给你顶下
看上去帧同步信号是不是慢了一个时钟啊
发表于 2013-6-14 13:31:13 | 显示全部楼层
胜利在望。也给你顶下。
 楼主| 发表于 2013-6-14 15:32:06 | 显示全部楼层
不叫胜利在望,这才是第一步啊
发表于 2013-6-14 20:59:29 | 显示全部楼层
最后一幅图里eop信号assert的时候,err=05h, err_stat=800h,说明接收该帧的时候有错误发生。LZ可以去查一下这是什么错误,希望能给你一点线索
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-5 13:02 , Processed in 0.029667 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表