在FPGA中遇到的一个奇怪的问题!

2019-07-16 00:22发布


tica, Arial, sans-serif">在FPGA中遇到的一个疑难问题,求解答!我在Stratix II GX 中要实现这样一个功能:用20M时钟采集100路数据,然后将这些数据组成每字节10bit,每11字节一帧的数据,其中包括一个帧头。这帧数据每字节速率是220M,通过一个GXB将这帧数据变成串行数据,然后再在另一块FPGA中通过GXB将串行数据解串,还原成一帧数据,最后将这帧数据还原为100路数据。通过功能仿真,采集出来的100路数据与还原出来的100路数据完全一样,但是实际上却发现数据连续相差一个bit。如下图所示(这个图是我临时画的示意图,他表示一帧数据有一部分错位了)。有人说这是由于tco 与tsu未满足所致,但通过静态时序分析器没有发现时序违规的现象!

求帮助 谢谢!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
小萃米
1楼-- · 2019-07-16 02:14
这个情况以前遇到过,应该有可能alter的gxb再接收数据时,高低字节错位引起的,所以你要现在sigal tap中查看gxb接收回的数据与发送数据是否错位。
新疆切糕
2楼-- · 2019-07-16 07:10
小萃米 发表于 2014-11-17 14:46
这个情况以前遇到过,应该有可能alter的gxb再接收数据时,高低字节错位引起的,所以你要现在sigal tap中查 ...

数据是一帧数据错位,比如一帧数据有十个字节,前面5个字节与后面5个字节的数据相位相差一个周期,每个字节内的数据位之间没有相位差。这也是gxb的 问题?
绝代双骄
3楼-- · 2019-07-16 08:44

你是不是没有使用gxb的8b/10b编码转换器吧,给gtx一次发送的是多少bit? 20bit吧?
新疆切糕
4楼-- · 2019-07-16 11:13
绝代双骄 发表于 2014-11-17 14:46
你是不是没有使用gxb的8b/10b编码转换器吧,给gtx一次发送的是多少bit? 20bit吧? ...

给GXB发送的是10bit的数据,功能仿真的时候可以看到发送与接收到的数据完全一样. 只是在用示波器来看发送与接收的信号时发现,从同一个GXB中出来的数据,发送的数据与接收的数据的相位不完全相同,有的会相差一个周期(采样数据的周期)
小麦地
5楼-- · 2019-07-16 11:56
学习了 学习了 牛人 膜拜啊!
绝代双骄
6楼-- · 2019-07-16 12:21
新疆切糕 发表于 2014-11-17 14:47
给GXB发送的是10bit的数据,功能仿真的时候可以看到发送与接收到的数据完全一样. 只是在用示波器来看发送 ...

如果你给gxb的数据是10bit,你是每个周期给gxb的数据是10bit吧,哪你屏蔽了8b/10b编码功能了吧?你gxb跑多少M,你指定没有指定common code,指定了的话,指定的是那个common code

一周热门 更多>