一个牛人对FPGA的理解--太可怕了!

2020-02-24 20:40发布

这是在21ic看到的一个牛人对FPGA的理解,看来FPGA太厉害了!
FPGA多数情况下相比ASIC而言,芯片成本大概是100倍的关系,最大的浪费在LUT这里,做出一个LUT-4需要16位存储单元,再加一个4-16译码器,以及其它的连线资源,做成一个LUT-4,至少需要16×6+8个晶体管。那么做一个4输入逻辑,设计的好的话如果用晶体管来做最多使用不超过8个晶体管。假设用LUT来做,相当于用了13倍的晶体管来做同样一件事。MUXF和MUXCY占的晶体管反而少很多,用这些部件速度会快很多。LUT本质上是一个16bit存储器,FD是1bit存储器,FPGA本质上大量的存储器,当把FPGA的LUT和FD尽量用于存储器时,资源利用率就高。
FPGA的优势就在存储带宽上,想想普通一个spartan-3A,20k个lut,每个运行到200MHz,相当于4000Gb/s的带宽,一个先进的CPU的一级缓存的带宽都比这差得远。现在最先进的FPGA,性能相当于这个性能的200倍,想想看这是怎么一个BT的野兽。我的思想是,做同一个设计,尽量把逻辑转化为分布式存储器操作。在一个最优化的逻辑设计里,把逻辑转化为存储器操作后,资源利用率差不多还可以可以提升10倍。当然这个转化过程就要靠悟了。一直以来我强调要学好内功,就是在这些转化过程中体现价值。
另外,那个存储的事情,由于公司政策和职务的关系,现在不能做出来,这不是技术问题,技术方案3年前就有了,但已经销毁,再等时机。顺便提一下,这个存储的基本思想是大家都知道的,类似LZW压缩,但是样本不是64k而是非常大,大到2的64次方,检索过程复杂度极大,我只是把复杂度最大的检索过程转移到最另一个问题的解决上去了。检索过程的思想是解决搜索引擎问题的,做存储只是把检索过程用在LZW压缩上。
最近验证了这个思想,资源利用率一下子提升了8倍,我都觉得很恐怖,在spartan-3A中,2000个silices相当于20万门可以实现16个带PLBDMA和PTP的以太网控制器MAC,以前最优化设计只能做2个,xilinx官方的只能做0.5个.第一次思想进步,资源利用率提高了4倍,第二次进步,又提高了8倍.思想这武器太强大了,我都觉得可怕.
下一步将利用这个思想做一些BT的东西.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
sleepybear
1楼-- · 2020-02-25 17:07
一堆数字,看着头晕。:L
batsong
2楼-- · 2020-02-25 20:38
转的,跟你这篇如出一辙,我技术还没理解到这个层面,不好评价:

FPGA目前非常火,各个高校也开了FPGA的课程,但是FPGA并不是每个人都适合,FPGA讲究的是一个入道,入什么道
,入电子设计的道,就是说,这个过程,你得从电子设计开始,然后再学FPGA,而不是先从VHDL开始,直接跳过数电模电.这一点非常重要,这涉及到你以后的发展高度的问题.我是过来人,我深刻体会到FPGA与数电模电的基础的深层次联系.对于本科生而言,你可以把FPGA当作业余兴趣,但不要把它当成今后的饭碗,你可以保持这个兴趣直到研究生读完.从我招聘的情况来看,做FPGA的至少要读过研究生。

  做FPGA,一定要学,一定要有兴趣,至少要学3年才算可以掌握这门技术,为什么这么说呢,我每天与FPGA打交道,xilinx官方网站的基本上每个英文资料我都看了一下,我看了整整两年的文档,才在这个行业有话语权,而我每天要研究14个小时的FPGA,差不多是一般人的两倍.现在我可以说我掌握了FPGA,可以用来做任何事情,CPU,交换机,等等这都不算什么.重要的是,我可以用相同的价钱把一个系统的性能做到大多数现状的10倍以上.或者说,某个东西,我看了一下,可以用10分之一的成本把这个系统做下来.我现在苦恼的是,不知道要做什么.我设计的千兆交换机,用FPGA做的成本,比用通用的ASIC还低.随着研究的深入,看着一行行代码就能想象出用什么逻辑电路设计,哪里是组合逻辑,哪里是触发器,VHDL语言,设计的就是逻辑门,越是深入研究这些东西,越是觉得与电路关系深刻,之后设计的代码越像是用74系列搭起来的.这种时候,FPGA的性能将发挥到极致.在spartan-3中,可以把逻辑运行到200MHz以上去,在virtex-5中,跑600MHz是没任何问题的,编译系统报告的速度在-1的速度下有800多MHz.
  编写好的代码实际上是对电路的理解,我自始至终强调,做好电子设计才能做好FPGA,有了硬件基础,做好FPGA的话,你的收入可能会成指数增长.
FPGA是电工的高级工具,掌握了它,你可以认为掌握了整个电子世界.
Oxygen.Chu
3楼-- · 2020-02-26 00:44
[最大的浪费在LUT这里]

并不同意作者的这句话,个人认为FPGA里面最浪费的是routing resource
你买的不是LUT/FF/DSP/BRAM,你花钱买的基本都是routing resource
Oxygen.Chu
4楼-- · 2020-02-26 05:30
 精彩回答 2  元偷偷看……
Oxygen.Chu
5楼-- · 2020-02-26 10:38
最讨厌一些帖子,动不动就是什么“牛人的XXX”~
你唬GG不懂科学说?!
xjsxjtu
6楼-- · 2020-02-26 13:38
最讨厌一些帖子,动不动就是什么“牛人的XXX”~
你唬GG不懂科学说?!
Oxygen.Chu 发表于 2012-10-17 18:14
氧气哥,厉害啊

一周热门 更多>