易灵思FPGA做替代,到底有多难?

这两年由于疫情,太过于动荡,包括我们的fpga,也由于市场、供应链、以及某些人的短期趋利问题,价格简直上了天。
过去一个设计用了altera的ep4ce30f23c8n,这款芯片几乎是altera性价比最高的芯片,并且他和ep4ce40f是同一个die,因此熟悉门路的人知道,可以直接将ep4ce30f价格采购的芯片,当作ep4ce40f来用,瞬间资源倍增,如下图所示,le直接增加1/3,memory和乘法器几乎翻倍:
可惜是曾经可以用60-80rmb的零售价买到的ep4ce30f fpga,由于这两年的动荡,以及供应链的转移,10倍的价格也只能买到翻新的料了。或许altera也可能已经放弃了中低端cyclone iv系列fpga,或者更多的将产能放到了高端stratix fpga上了。
那么我们就难了,原有的产品不能因此断片,全新的ep4ce30几乎需要几千才能买得到,进退两难,只能另谋出路,上帝给你关闭一扇门的同时,很有可能还会给你开另一扇门。
之前我写过一篇公众号,时隔10年,我将重新杀回国产fpga,其中我列举了当前国产fpga的市场格局,如下图所示:
我在这些选项中寻找寻找可以替代ep4ce30f的fpga,希望这款fpga可以满足以下要求:
逻辑资源在30k左右
硬件dsp在100个以上
引脚在256-484之间
有丰富的memory资源
可以运行在200mhz左右的频率
纵观思维导图,我找不到可以同时满足以上5个要求,同时价格还可以和ep4ce30f不相上下的fpga。直到有一天,eric给我推荐了易灵思。易灵思有trion和钛金两个系列,相比工艺trion系列和cyclone iv更贴近,同时第一次观摩t35(35k le)的内部资源,瞬间让我找到了北,太满足替代ep4ce30f的需求了,其资源如下。
尤其是乘法器的数量,在同等规格的国产fpga中,我几乎找不到能做到这么慷慨的,这给需要做一点图像运算的我笑出了声。
一直拖着,一直拖着,直到有一天,我确实被altera的货源逼疯了,最终不得已,我下手将ep4ce30f给成了t35f324,即便是降低性能我不能让设计承受50倍物料的成本,为此不惜代价。也感谢自己放弃了很久,最终还是坚持到了曙光,虽然这一路上的坎坷,真的不堪入目。
(一)软件使用的艰难
这应该是使用国产fpga,尤其是使用易灵思fpga的同仁的心声。细数目前国产fpga的软件开发环境,只有类quartus和不类quartus两种,前者以紫光、安路为代表,换个环境根本不需要什么手册教程;后者就是易灵思的efinity,思路清奇,别具一格,用fae的话说是:没有他们的指导很难摸透(所以之前写过一篇文章:骨骼清奇的易灵思fpga-小试牛刀驱动lvds屏)。
这过程确实浪费了不少的时间,包括interface是纯硬件的设计,到design的物理连接是分离的,所以原先altera的设计不能直接移植。同时ram rom使用lut描述再映射ram的方式,确实和之前直接用ip core非常不一样。这里以引脚分配为例,截图为证:
(二)软件综合和pr的坑
由于原本在设计中,采用shiftram生成了41*41的窗口进行后续的图像处理,因此简单粗暴的有1681*8个寄存器,用于计算。但一模一样的设计,在易灵思的efinity中半天都无法综合出结果,更别说pr,百思不得其解,最后只能花费巨大的精力,将按窗口的存储修改成按照列的存储模式,但是代价是需要复杂的逻辑以及主频。下图分别是quartus与efinitypr后的资源报表:
因此,这里不得不说国产fpga的eda工具链的重要性。在ic行业,eda工具是被synopsys、cadence、mentor三大家垄断的,国产eda目前还只是萌芽阶段,这方面少说还有几十年的差距。
fpga行业也亦是如此,quartus ii的软件是做的宇宙最好的,那是真的好用;xilinx的vivado是做的很强大甚至一个软件30多g,强大到一时半会儿还学不会。国产fpga的软件,那简直做的是一塌糊涂,到底是pr优先,还是时序有限,或者其综合、pr算法,那真的不敢恭维,个人认为还是有很长的路要走。
不过易灵思的efinity软件,相对其他某几家,做得还是不错的。
(三)硬件设计的约束
这方面真的太难了,如果没有fae的支持,处处是坑。如果有fae这根避雷针,很多时候可以避免掉坑里,毕竟爬出来还要很久。比如:
1)creset必须有上拉电阻+下拉电容,或者加一个复位芯片,否则无法正常启动工作
2)硬件设计的时候,有些gclk输入的时钟可以去pll,而有些gclk输入的时钟只能直接使用。
那么问题来了,如果全局只有从pll gclk输入的时钟,如果我想先延时一段时间在释放pll的复位,那么就得用pll之前输入的时钟,但是efinity从pll输入的时钟,不允许用户直接拿来用,似乎是pll专用的。。。所以这就很尴尬,强行使用,采用efinify 2021编译直接报错,采用2022编译会给出warming,但流程可以继续往下走,这就很尴尬了。
个人目前对efinify的gclk网络结构还是有一点懵圈,不知道只有bug呢,还是有特别的妙招,反正现在使用受限。
3)一个bank并不是所有io都可用的,但用了也不会咋地,fae又据说速度慢一点可以,但有时也真是有一些异常,官方有明确的答案吗?
然后我现在确实有遇到一些神奇的问题,比如某一个一定时序启动的设备,有概率性时间起不来,不知道是不是io用多了的问题。
面积与功耗的优势!!
但不得不说易灵思的fpga,0.65mm的球间距,12*12mm的封装尺寸,还有当前设计没有用上的ddr硬核和mipi csi控制器,简直是图像领域fpga设计的福音。
还有非常关键的一点,我们都知道altera fpga功耗比xilinx fpga的功耗做的好很多,但与易灵思fpga相比;同等规模+同样设计的altera的功耗,还是做的略逊了一点。如下所示,同样的系统+同样的设计(后来用了同一套代码),分别测试altera与易灵思t35方案,实际的5v下电流,如下所示:
从原先的6.4w,到采用易灵思t35后降低到3.8w,几乎降低了40%的功耗。并且这还是整机的功耗,如果单纯评估fpga的功耗,估计降了100%以上(系统中还有一个吃电的dlp光机)
至此,最近几个月的易灵思fpga项目实战的坎坷精力,已经给大家汇报完毕,期间也是一把鼻涕一把泪,换方案想着简单,做起来还是挺麻烦的。此处感谢易灵思t35,可以把物料成本上天的方案降低到合理水平,得以让此继续。也真心祝愿各位采用国产fpga做替代的朋友,早点让自己的设计安顿下来,找到一条可以走得更远的路。


单片机的硬件特性,区分单片机8位和16位的方法
生物电子微流控平台,用于直流电刺激下受伤细胞群伤口愈合机制研究
一文浅析传输线的阻抗和传输延时
多相DC-DC转换器简介
用MAX2538和KSS IF滤波器构成的蜂窝CDMA混频器性能
易灵思FPGA做替代,到底有多难?
TD-LTE整合Wi-Fi基站爆商机 电信商圈地战开打
可编程逻辑器件APEX20K的特点、功能及应用案例
RFID和NFC之间的关系以及两者之间的区别
带你了解开车噪声为什么会很大?该怎么去预防和修理?
单芯光纤可以双向传输吗 光纤只能单向传输吗
面向设计师合作的“重塑·共生——OPPO主题设计师沙龙”在深圳举办
大联大友尚推出适用于高性能电子设备的TI新一代超低功耗DSP
重载电源可提供恒流 恒压和恒功率的工作模式
iPhone 14系列拿货难,首发必须加价才能保证拿到
华为P10或配备双曲面屏,指纹识别器移到正面
2019中国IT安全硬件市场增速放缓,2020蕴藏全新驱动力
华为人均工资63万三倍于银行 直接碾压金融三大行业
Brian Behlendorf:对于区块链的深度解读
VR到底能不能成为下一个风口?浅谈VR的实际应用