0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

疯狂的FPGA 来源:疯狂的FPGA 作者:疯狂的FPGA 2022-11-08 10:31 次阅读

这两年由于疫情,太过于动荡,包括我们的FPGA,也由于市场、供应链、以及某些人的短期趋利问题,价格简直上了天。

过去一个设计用了Altera的EP4CE30F23C8N,这款芯片几乎是Altera性价比最高的芯片,并且他和EP4CE40F是同一个Die,因此熟悉门路的人知道,可以直接将EP4CE30F价格采购的芯片,当作EP4CE40F来用,瞬间资源倍增,如下图所示,LE直接增加1/3,Memory和乘法器几乎翻倍:

09400f7e-5ef9-11ed-8abf-dac502259ad0.png

可惜是曾经可以用60-80RMB的零售价买到的EP4CE30F FPGA,由于这两年的动荡,以及供应链的转移,10倍的价格也只能买到翻新的料了。或许Altera也可能已经放弃了中低端Cyclone IV系列FPGA,或者更多的将产能放到了高端Stratix FPGA上了。

那么我们就难了,原有的产品不能因此断片,全新的EP4CE30几乎需要几千才能买得到,进退两难,只能另谋出路,上帝给你关闭一扇门的同时,很有可能还会给你开另一扇门。

之前我写过一篇公众号,时隔10年,我将重新杀回国产FPGA,其中我列举了当前国产FPGA的市场格局,如下图所示:

0973ba36-5ef9-11ed-8abf-dac502259ad0.png

我在这些选项中寻找寻找可以替代EP4CE30F的FPGA,希望这款FPGA可以满足以下要求:

逻辑资源在30K左右

硬件DSP在100个以上

引脚在256-484之间

有丰富的Memory资源

可以运行在200MHz左右的频率

纵观思维导图,我找不到可以同时满足以上5个要求,同时价格还可以和EP4CE30F不相上下的FPGA。直到有一天,Eric给我推荐了易灵思。易灵思有Trion和钛金两个系列,相比工艺Trion系列和Cyclone IV更贴近,同时第一次观摩T35(35K LE)的内部资源,瞬间让我找到了北,太满足替代EP4CE30F的需求了,其资源如下。

尤其是乘法器的数量,在同等规格的国产FPGA中,我几乎找不到能做到这么慷慨的,这给需要做一点图像运算的我笑出了声。

098da55e-5ef9-11ed-8abf-dac502259ad0.png

一直拖着,一直拖着,直到有一天,我确实被Altera的货源逼疯了,最终不得已,我下手将EP4CE30F给成了T35F324,即便是降低性能我不能让设计承受50倍物料的成本,为此不惜代价。也感谢自己放弃了很久,最终还是坚持到了曙光,虽然这一路上的坎坷,真的不堪入目。

09d77d1e-5ef9-11ed-8abf-dac502259ad0.png

(一)软件使用的艰难

这应该是使用国产FPGA,尤其是使用易灵思FPGA的同仁的心声。细数目前国产FPGA的软件开发环境,只有类Quartus和不类Quartus两种,前者以紫光、安路为代表,换个环境根本不需要什么手册教程;后者就是易灵思的Efinity,思路清奇,别具一格,用FAE的话说是:没有他们的指导很难摸透(所以之前写过一篇文章:骨骼清奇的易灵思FPGA-小试牛刀驱动LVDS屏)。

这过程确实浪费了不少的时间,包括Interface是纯硬件的设计,到Design的物理连接是分离的,所以原先Altera的设计不能直接移植。同时RAM ROM使用LUT描述再映射RAM的方式,确实和之前直接用IP Core非常不一样。这里以引脚分配为例,截图为证:

0a1ded12-5ef9-11ed-8abf-dac502259ad0.png

0a50d75e-5ef9-11ed-8abf-dac502259ad0.png

(二)软件综合和PR的坑

由于原本在设计中,采用ShiftRAM生成了41*41的窗口进行后续的图像处理,因此简单粗暴的有1681*8个寄存器,用于计算。但一模一样的设计,在易灵思的Efinity中半天都无法综合出结果,更别说PR,百思不得其解,最后只能花费巨大的精力,将按窗口的存储修改成按照列的存储模式,但是代价是需要复杂的逻辑以及主频。下图分别是Quartus与EfinityPR后的资源报表:

0a77b5f4-5ef9-11ed-8abf-dac502259ad0.png

0a8b9aba-5ef9-11ed-8abf-dac502259ad0.png

因此,这里不得不说国产FPGA的EDA工具链的重要性。在IC行业,EDA工具是被Synopsys、CadenceMentor三大家垄断的,国产EDA目前还只是萌芽阶段,这方面少说还有几十年的差距。

FPGA行业也亦是如此,Quartus II的软件是做的宇宙最好的,那是真的好用;Xilinx的Vivado是做的很强大甚至一个软件30多G,强大到一时半会儿还学不会。国产FPGA的软件,那简直做的是一塌糊涂,到底是PR优先,还是时序有限,或者其综合、PR算法,那真的不敢恭维,个人认为还是有很长的路要走。

不过易灵思的Efinity软件,相对其他某几家,做得还是不错的。

(三)硬件设计的约束

这方面真的太难了,如果没有FAE的支持,处处是坑。如果有FAE这根避雷针,很多时候可以避免掉坑里,毕竟爬出来还要很久。比如:

1)CRESET必须有上拉电阻+下拉电容,或者加一个复位芯片,否则无法正常启动工作

0aa5ddc6-5ef9-11ed-8abf-dac502259ad0.png

2)硬件设计的时候,有些GCLK输入的时钟可以去PLL,而有些GCLK输入的时钟只能直接使用。

0ac4e446-5ef9-11ed-8abf-dac502259ad0.png

那么问题来了,如果全局只有从PLL GCLK输入的时钟,如果我想先延时一段时间在释放PLL的复位,那么就得用PLL之前输入的时钟,但是Efinity从PLL输入的时钟,不允许用户直接拿来用,似乎是PLL专用的。。。所以这就很尴尬,强行使用,采用Efinify 2021编译直接报错,采用2022编译会给出Warming,但流程可以继续往下走,这就很尴尬了。

个人目前对Efinify的GCLK网络结构还是有一点懵圈,不知道只有bug呢,还是有特别的妙招,反正现在使用受限。

3)一个BANK并不是所有IO都可用的,但用了也不会咋地,FAE又据说速度慢一点可以,但有时也真是有一些异常,官方有明确的答案吗?

0ad63386-5ef9-11ed-8abf-dac502259ad0.png

然后我现在确实有遇到一些神奇的问题,比如某一个一定时序启动的设备,有概率性时间起不来,不知道是不是IO用多了的问题。

面积与功耗的优势!!

但不得不说易灵思的FPGA,0.65mm的球间距,12*12mm的封装尺寸,还有当前设计没有用上的DDR硬核和MIPI CSI控制器,简直是图像领域FPGA设计的福音。

还有非常关键的一点,我们都知道Altera FPGA功耗比Xilinx FPGA的功耗做的好很多,但与易灵思FPGA相比;同等规模+同样设计的Altera的功耗,还是做的略逊了一点。如下所示,同样的系统+同样的设计(后来用了同一套代码),分别测试Altera与易灵思T35方案,实际的5V下电流,如下所示:

0b06ce88-5ef9-11ed-8abf-dac502259ad0.png

从原先的6.4W,到采用易灵思T35后降低到3.8W,几乎降低了40%的功耗。并且这还是整机的功耗,如果单纯评估FPGA的功耗,估计降了100%以上(系统中还有一个吃电的DLP光机)

至此,最近几个月的易灵思FPGA项目实战的坎坷精力,已经给大家汇报完毕,期间也是一把鼻涕一把泪,换方案想着简单,做起来还是挺麻烦的。此处感谢易灵思T35,可以把物料成本上天的方案降低到合理水平,得以让此继续。也真心祝愿各位采用国产FPGA做替代的朋友,早点让自己的设计安顿下来,找到一条可以走得更远的路。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21665

    浏览量

    601793
  • 供应链
    +关注

    关注

    3

    文章

    1651

    浏览量

    38825
  • 易灵思
    +关注

    关注

    5

    文章

    45

    浏览量

    4852

原文标题:易灵思FPGA做替代,到底有多难?

文章出处:【微信号:疯狂的FPGA,微信公众号:疯狂的FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别?
    的头像 发表于 10-29 09:53 320次阅读

    CMOS运放的输入阻抗到底有多高呢?

    都说CMOS运放输入阻抗高,到底有多高呢?可有一个量化指标?
    发表于 09-06 06:59

    求助,这个电路U1A运放同相端的R1电阻到底有什么作用啊?

    想问下这个电路U1A运放同相端的R1电阻到底有什么作用啊?很郁闷。
    发表于 08-27 07:09

    lm2902的二阶低通滤波器,无论怎么调试C1的值,电路的波特图都保持不变,请问一下C1的作用到底有多大?

    这是一个lm2902的二阶低通滤波器,但是无论怎么调试C1的值,该电路的波特图都保持不变,请问一下C1的作用到底有多大啊?改结构与MFB和sallen-key明显的区别,这是个什么样的结构?
    发表于 08-21 07:45

    2024年芯片行业多难?用数据说话

    2024年芯片行业多难?用数据说话
    的头像 发表于 08-10 18:20 3350次阅读

    FPGA下载问题

    在ARM开发中,通常可供选择的下载器多种。清华的FPGA,除了官方的专用下载器,其他的下载器可以使用吗?使用赛下载器可以吗?
    发表于 06-23 12:28

    RAM使用--Update5

    RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。 1、ram初始化文件路径是工程路径 在对ram进行初始化时需要指定文件路径,这里要注意'/'的方向。 (1)如果文件放在工程目录
    的头像 发表于 04-24 08:43 707次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>RAM使用--Update5

    国产FPGA应用专题--Efinity软件使用心得

    做为FPGA的集成开发环境,不同的厂家其实大同小异。很多国产厂家,如安路,高云,会在软件上贴近Xilinx和Intel,以节省客户的软件使用成本。而国产厂商的的集成开发环境Efi
    的头像 发表于 04-23 15:38 2021次阅读
    国产<b class='flag-5'>FPGA</b>应用专题--<b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>Efinity软件使用心得

    RAM使用--Update4

    RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。 1、ram初始化文件路径是工程路径 在对ram进行初始化时需要指定文件路径,这里要注意'/'的方向。 (1)如果文件放在工程目录
    的头像 发表于 04-23 14:52 1028次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>RAM使用--Update4

    FPGA flash操作原理

    FPGA flash操作原理分享
    的头像 发表于 04-09 15:03 940次阅读

    网线到底有多少种连接器

    我们在谈论网线的时候,聊得最多的,一定是它的连接器,它在连接过程中扮演着极为重要的角色。网线到底有多少种连接器?本期我们将从工业级使用出发,来看看这根似乎普通的网线,在连接器上有多么努力。
    的头像 发表于 01-26 10:06 564次阅读

    AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?

    替代吗?在网上找到的两个芯片的相关数据都是一样的,AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?
    发表于 01-08 06:36

    COB与SMD到底有什么不同?

    COB与SMD到底有什么不同?  COB和SMD是两种常见的电子元器件封装技术。它们在电子行业中被广泛应用,尤其在LED照明领域。虽然它们都用于将芯片连接到电路板上,但它们在封装技术和应用方面有一些
    的头像 发表于 12-29 10:34 1649次阅读

    到底有哪些原因会导致电枢绝缘阻值为零?

    对电机多大影响,现在这样用能安全使用多长时间,为什么电枢会是零呢,到底有哪些原因会导致电枢绝缘阻值为零?
    发表于 12-14 08:30

    RAM使用--Update3

    RAM在使用时可以会遇到一些问题,这里把常用的问题总结下。 1、ram初始化文件路径是工程路径 在对ram进行初始化时需要指定文件路径,这里要注意'/'的方向。 (1)如果文件放在工程目录
    的头像 发表于 12-12 09:52 624次阅读
    <b class='flag-5'>易</b><b class='flag-5'>灵</b><b class='flag-5'>思</b>RAM使用--Update3