搜索
bottom↓
回复: 24

在用国产安路的FPGA,代码为什么总是会牵一发而动全身?

[复制链接]

出10入12汤圆

发表于 2021-9-8 15:01:50 | 显示全部楼层 |阅读模式
项目中用到了7:1的LVDS接收,数据率525Mbps,锁存数据的时钟为75M*3.5=262.5M
编译报出的Fmax 280M左右,刚刚够

主要的问题就是,LVDS接收模块比较诡异,有的时候工作是正常的,但稍微改一点跟LVDS接收完全不相干的代码,重新编译工作就不正常了
再改一下,有可能又正常了,总之就是感觉很不稳定,有没有什么好的优化和解决方法,请大家分享一下经验

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入12汤圆

发表于 2021-9-8 15:10:57 | 显示全部楼层
这和我用高云一个德行嘛 。 我改下SPI发送的数值(高速ADC,SPI接口用于配置, 数据走LVDS)  ,我的UDP协议栈(不在一个始终域)直接不能正常工作了。。。 时钟报告也是刚刚够, FAE让过约束  稍微提高内核电压解决。。。

出10入12汤圆

 楼主| 发表于 2021-9-8 15:51:34 | 显示全部楼层
本帖最后由 xxdd 于 2021-9-8 15:52 编辑
夏筱雨 发表于 2021-9-8 15:10
这和我用高云一个德行嘛 。 我改下SPI发送的数值(高速ADC,SPI接口用于配置, 数据走LVDS)  ,我的UDP协 ...


提高内核电压,有效果吗?
我感觉就是时序报告不准,Fmax不够,时序错乱了

出615入1076汤圆

发表于 2021-9-8 15:55:09 | 显示全部楼层
本帖最后由 dukelec 于 2021-9-8 16:01 编辑

爲了省錢,我喜歡給 fpga 掛無源晶體,剛開始的時候,改動一點無關代碼,就不穩定了,甚至不能運行了,

查了一下,是驅動外部晶體的反向器的位置變化導致,後來專門爲其在 sdc 增加了一些語句,就解決了:

https://blog.d-l.io/crystal-input-to-fpga

你說的這種問題,可能是國產芯片要留更多餘量才行,
也可以考慮通過 sdc 增加一些限制,讓綜合器優先處理容易出問題的功能塊
還有些高級玩法是鎖定佈局

出10入12汤圆

 楼主| 发表于 2021-9-8 16:01:08 | 显示全部楼层
dukelec 发表于 2021-9-8 15:55
爲了省錢,我喜歡給 fpga 掛無源晶體,剛開始的時候,改動一點無關代碼,就不穩定了,甚至不能運行了,

查 ...

好方法,省钱到极致!
谢谢提供思路,我尝试一下

出0入0汤圆

发表于 2021-9-8 16:03:20 | 显示全部楼层
国产FPGA都是这样的,要习惯才好。  用A或者X很多警告的时候也能运行,国产的说不得什么时候重新编译一次就崩了

出0入0汤圆

发表于 2021-9-8 16:16:18 | 显示全部楼层
我准备也要搞这个安路的芯片了,刚好避雷

出0入12汤圆

发表于 2021-9-8 18:14:45 | 显示全部楼层
xxdd 发表于 2021-9-8 15:51
提高内核电压,有效果吗?
我感觉就是时序报告不准,Fmax不够,时序错乱了 ...

从0.995提高到了1.053 UDP可以正常收发数据了  。。。

出0入442汤圆

发表于 2021-9-8 19:42:28 | 显示全部楼层
(1)到官网找最新的linux/win版本的工具。4.6及以前的所有版本时序报告不可靠。5.0.2及以前的版本IO LVDS配置有bug。
(2)7:1建议用4:1 IDDRx2做gear box,这样可以支撑到1.2Gbps以上(我的系统工程内部主频128MHz,IO是4:1,2倍频,实际由IO->主频最大能稳定运行在1020Mbps以内)。
(3)安路的LVDS需要精细调延迟。安路的IO延迟以4XBG256为例,Bank1/3需要打14~16拍,Bank0/2需要打4~6拍,才可以做到DC->fMax。具体可以根据不同Tap的频率黑洞来估计。安路PLL的Source Sync模式下也只是确保PLL->IDDRx2.SCLK的延迟跟走BUFIO时一致,但是安路的IO Buffer有点拉垮。
(4)无论用何种FPGA,做时序约束时一定要留出一点余量!绝对不能卡着点,因为你不知道芯片的工作状况。比如你外部给1.15V虽然在合理的工作范围内,但是如果有瞬变电流需求,则你的电源模块可能会跪一下子!遇到莫名其妙的问题可以示波器打一下尖峰。
(5)安路的PLL如果做级联,务必要按手册的说明,对PLL输出做分组,否则不能保证可靠性!此外,切勿使用任何一个PLL.C0之外的时钟去级联生成相关时钟!安路的工具链有bug,这种配置大概率会不能工作。
(6)安路的PLL做固定移相的话,切记RefClk输出无论如何都和输入时钟同相位!需要注意。
(7)跨时钟阈务必严格规范代码,握手信号务必做好多重确认(A1->B1->BACK->AACK),数据尽量使用FIFO,低->高可以简单使用LUTRAM。但是数据FIFO的地址也务必要多重握手传递。严禁使用任何异步信号直接在状态机里用做条件跳转!
(8)安路的单端IO缓冲器比较拉垮,注意LVCMOS33片内直通的延迟约4ns,走IO之后最少7ns,即IO Buffer单边延迟至少2.5ns(I估计2.5~3ns,O估计4~4.5ns,还不计算入OREG的延迟),接FX2之类的时候都有时序违规的现象发生,务必做好补偿。
以上全部做到之后,可以保证你的工程每次改完编译都能顺利正常运行。甚至一些Xilinx上面偶尔会有的小毛病安路上几乎从来没遇到过。但是上面这些坑务必注意不要掉进去。其中,第(5)项决定你的倍频工作是否稳定可靠,(1)决定你的工程能否正常运行,(2)(3)决定你的高速接口能否正常工作,(7)决定你的设计会不会偶然变砖。

出10入12汤圆

 楼主| 发表于 2021-9-9 08:55:26 | 显示全部楼层
wye11083 发表于 2021-9-8 19:42
(1)到官网找最新的linux/win版本的工具。4.6及以前的所有版本时序报告不可靠。5.0.2及以前的版本IO LVDS ...

谢谢大神分享经验,这些坑安路自己的FAE都未必知道

出10入12汤圆

 楼主| 发表于 2021-9-13 15:13:35 | 显示全部楼层
wye11083 发表于 2021-9-8 19:42
(1)到官网找最新的linux/win版本的工具。4.6及以前的所有版本时序报告不可靠。5.0.2及以前的版本IO LVDS ...

大神,再请教一下,你回复里说的gear box是什么意思?我从没听过这种说法呢
网上搜了一下,也没看到什么相关资料。

我的项目里用到了lvds 7:1的接收和发送,主时钟75M,现在做法就是生成一个1/2时钟,一个3.5倍时钟,然后在这两个时钟的同步下进行发送和接收
跨时域处理,参考的是官方给的代码,用芯片里的DSRAM实现
这种方式您觉得是否合理呢,现在跑的不是很稳定

出0入0汤圆

发表于 2021-9-13 15:34:55 | 显示全部楼层
齿轮箱,就是A:B  “lvds 7:1的接收和发送”

出0入442汤圆

发表于 2021-9-13 19:13:23 | 显示全部楼层
本帖最后由 wye11083 于 2021-9-13 19:14 编辑
xxdd 发表于 2021-9-13 15:13
大神,再请教一下,你回复里说的gear box是什么意思?我从没听过这种说法呢
网上搜了一下,也没看到什么 ...


gear box你找找xilinx的文档。说白了就是一个移位寄存器,比如8位,那么每周期进7位,那么寄存器里面有7位,6位,5位,===。控制好进来和出去的数量。

跨时钟域就是用双口RAM实现的。注意FIFO两端ptr需要握手同步,或者快速同步(写<=读,且数据连续,则只需要同步FIFO最高地址位)

出0入59汤圆

发表于 2021-9-13 20:28:51 | 显示全部楼层
xxdd 发表于 2021-9-8 16:01
好方法,省钱到极致!
谢谢提供思路,我尝试一下

这种属于炫技, 批量做产品的话叫翻车高手

出0入91汤圆

发表于 2021-9-13 20:59:14 | 显示全部楼层
时序约束问题,或者是 SERDES  的IDELAY参数没做对

出0入91汤圆

发表于 2021-9-13 21:00:22 | 显示全部楼层
wye11083 发表于 2021-9-8 19:42
(1)到官网找最新的linux/win版本的工具。4.6及以前的所有版本时序报告不可靠。5.0.2及以前的版本IO LVDS ...

你怎么什么都知道, 群里大牛太多了 ,以后有问题还是论坛里问你

出0入0汤圆

发表于 2021-10-18 14:19:10 来自手机 | 显示全部楼层
安路的价格如何

出5入0汤圆

发表于 2021-10-18 16:22:41 来自手机 | 显示全部楼层
tjiefk 发表于 2021-10-18 14:19
安路的价格如何

价格能做到单片机价格估计很多人考虑

出10入12汤圆

 楼主| 发表于 2021-10-18 16:49:41 | 显示全部楼层
NM2012 发表于 2021-10-18 16:22
价格能做到单片机价格估计很多人考虑

单片机和FPGA是完全不同的应用场景,没有可比性

出5入0汤圆

发表于 2021-10-18 19:56:30 | 显示全部楼层
xxdd 发表于 2021-10-18 16:49
单片机和FPGA是完全不同的应用场景,没有可比性

出0入0汤圆

发表于 2021-10-18 21:40:31 来自手机 | 显示全部楼层
ep4ce10涨到400了,想用安路替换,不知道价格如何

出10入12汤圆

 楼主| 发表于 2021-10-18 22:45:46 | 显示全部楼层
tjiefk 发表于 2021-10-18 21:40
ep4ce10涨到400了,想用安路替换,不知道价格如何

400也太夸张了,安路p2p兼容的,20块钱左右,能批量供货
具体可以找代理问

出0入0汤圆

发表于 2021-10-19 13:17:37 来自手机 | 显示全部楼层
400还不一定买得到

出10入12汤圆

 楼主| 发表于 2021-10-19 14:30:28 | 显示全部楼层
tjiefk 发表于 2021-10-19 13:17
400还不一定买得到

我手上还有10K EP4CE10F17没用掉,你有用的话,转卖给你如何?你出个价

出0入0汤圆

发表于 2021-10-19 17:01:24 来自手机 | 显示全部楼层
xxdd 发表于 2021-10-19 14:30
我手上还有10K EP4CE10F17没用掉,你有用的话,转卖给你如何?你出个价

买芯片是采购的事,从原厂订期货的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-23 21:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表