tastebytaste
设计和工艺都是芯片制造的两大难点,两者一定程度上相辅相成,在我看来还是工艺相对更难一些。 美国有大量的芯片设计公司,高通,AMD,NVIDIA等等,这些公司都拥有世界一流的芯片设计师,AMD曾经还有自己的芯片制造工厂,但是迫于巨大的财务压力,把厂子给卖了,就是如今的GF。现在有能力同时设计和制造处理器芯片的大厂也就剩下英特尔和三星了,可见建设和维持芯片制造厂的难度之大。除去CPU、GPU等复杂的高端芯片,还有许许多多的各类小芯片在我们周围的各种电子设备中,即使是在国内,能够设计这类芯片的公司也有很多很多, 但是他们的共同特点就是在芯片设计好之后需要交给芯片代工厂制造,然后才能生产出成品芯片投入市场。 全球的芯片代工制造厂就只有台积电、三星、GF这样的了了几家, 因为半导体芯片的生产制造过程极其复杂,不仅要购买天价设备,投入巨大研发人员,还要未雨绸缪,工艺随时更新换代(28nm—16nm—10nm—7nm),同时还少不了丰富的芯片制造经验。 台积电一年为研发和新建晶圆厂投资就达数百亿元,还得持续不断的投入,真不是一般公司能玩得起的。优秀的芯片设计可以保证在现有工艺下更好的产品质量和良率,但是如果代工厂的工艺本身不过关,就无法做好这个芯片,投入市场更是无从谈起。 台湾的联发科和众多 科技 企业一定程度上也是借助台积电强大的芯片生产能力崛起的,苹果IPhone一款手机同时使用两家不同的代工芯片都会引起能耗差距和全球用户的关注,可想而知,芯片工艺水平是多么重要。国内大陆现在有麒麟、有龙芯,但是至今还没有芯片制造商,大都是拿到别人那里代工,这里面国内有人才和资金的困难,也有欧美国家限制出口高端设备的因素, 试想你自主研发的芯片如果找不到代工就只是一张图纸而已,所以说即使芯片设计能力不够强,保证能用还是没问题的,但是如果没有先进成熟的制造工艺和工厂,这个芯片就无从谈起。 我们往往会有一种错觉,认为芯片制造工艺要比芯片设计要难,其实这是一个常见的误区。持有这种观点的人往往会举这样的例子:在芯片设计上,华为海思已经是世界一流水平,完全不输给美国、韩国等国家;而在芯片制造上我们还要依赖台积电代工,中芯国际作为中国大陆最强的芯片制造厂商,目前也才刚刚攻克14nm工艺,离最先进的7nm还有不小的差距。这样的证明有一个逻辑问题:我们在芯片行业某个领域有优势并不代表就容易,在另一个领域处于劣势也不代表这件事情本身就更难。同样用华为海思的例子,麒麟芯片虽然是华为自己研发的,但是到目前为止它用的还是ARM的公版架构,麒麟的GPU也不是自研的,所以不能简单地下结论说芯片制造要比芯片设计要难。芯片制造确切地说是一个烧钱的生意,像台积电这样的大厂每年的投资就要达到好几百亿。芯片制造很多时候是一个赢家通吃的市场,它不仅难在技术,更多的时候是对资本的要求。几个小时前的消息,芯片制造业的巨头格罗方德宣布暂停所有7nm FinFET 技术的研发,这意味着未来参与7nm竞争的芯片大厂仅剩英特尔、台积电和三星三家,中芯国际还处于第二梯队。像格罗方德这样的巨头并不是技术实力不济而退出,更多的原因是因为在资本上耗不起了。华为当初选择切入芯片设计领域是非常明智的选择,芯片设计不仅处于产业链的上游利润相对较高,并且也不像芯片制造那样对资本、设备有特别高的依赖。但这并不代表说芯片设计就要比芯片制造(工艺)容易,要知道华为海思能有今天的地位也是奋斗了整整14年的结果。所以单纯地去讨论芯片制造工艺和芯片设计哪个更难并没有太大的意义,更重要的是从全局的角度去看行业中的那些领域可以和别人合作,那些领域必须自己干,避免卡脖子的情况出现。设计、工艺都难,而制造芯片的那个设备制造更难。总之一句话:芯片产业代表了当今制造业最高水平,拥有全产业链则傲视群雄独霸天下。 真懂行业术语的人不多,反正了解制造业的人都知道,装备才是代表制造业水平的标志,也就是到一个工厂,看他用的什么设备,设备越先进,制造水平也就越高。 现在,绝大多数国家都是卡在制造芯片的设备上,这设备制造水平最高就荷兰。美国为了垄断,禁止这套设备随便卖。全球最大芯片光刻设备市场供货商阿斯麦2018年年产24台,2019年能达到年产40台的产能。 但就是这样单价超亿美元的昂贵设备,他们却不卖给全球电子产品市场增长最快的第二大经济体。 对于普通人来说,光刻机或许是一个陌生的名词,但它却是制造大规模集成电路的核心装备,每颗芯片诞生之初,都要经过光刻技术的锻造。 有个故事,日本一个工程师当年为了偷学德国先进的纺织机械制造技术,自断一条腿,在德国厂家旁边开饭店,通过接触德国工程师,偷学了技术,并加以改进,而这个光刻机可不是一己之力就能偷学到,光刻机被业界誉为集成电路产业皇冠上的明珠,研发的技术门槛和资金门槛非常高。也正是因此,能生产高端光刻机的厂商非常少,最先进的14nm光刻机就只剩下ASML,日本佳能和尼康已经基本放弃第六代EUV光刻机的研发。 那为何禁止随便卖呢? 这就不得不说《瓦森纳协定》,又称瓦森纳安排机制,全称为《关于常规武器和两用物品及技术出口控制的瓦森纳安排》,目前共有包括美国、日本、英国、俄罗斯等40个成员国。尽管“瓦森纳安排”规定成员国自行决定是否发放敏感产品和技术的出口许可证,并在自愿基础上向“安排”其他成员国通报有关信息。但“安排”实际上完全受美国控制。当“瓦森纳安排” 某一国家拟向非成员国出口某项高技术时,美国甚至直接出面干涉。机器总是人造的,想造出最好的机器,仅靠模仿肯定不行。创新的基础是学习,同时还要有不服输的劲头,现在是人家不给你学习机会,自己琢磨还得有一个相当长的过程,最快也要十年八年。 加油! 芯片虽小却有大学问,我国要是具备自主设计和生产高端芯片的能力,就是真正被世界公认的制造业强国了。显然,我国还有很长的路要走,不可能一蹴而就。这些年来,国内很多企业学会了投机取巧,包括中兴也一样,否则不会被人轻易抓住把柄。创新口号喊得响,却没有实质的自主创新,企业发展是虚胖,追逐利益但武功全废,没有真本事。我国一直提倡工匠精神,但没有营造培养工匠的环境,整个 社会 浮躁,缺乏专注干成事的氛围。 工艺更难。对于大陆来说,在芯片工艺上的落后,永远是一种刺痛。以手机处理器为例,华为的麒麟处理器,尤其是到了麒麟 970 这一代,设计上,已经完全不输美国高通和韩国三星了。但是麒麟 970 的生产,没有任何一家大陆厂商能做。华为虽然能设计,但也生产不了,只能交给台积电。为什么?现在手机处理器上最先进的工艺,是 10 nm 工艺,垄断在台积电和三星手上。而大陆最一的中芯国际,才能做 28nm 的工艺,这是三星五年前淘汰的工艺。还有电脑处理器,英特尔为什么排第一?因为它用的是 14nm 工艺,马上 10nm 工艺也量产了。而中国电脑处理器,最强的是龙芯处理器,性能远远落后于英特尔。为什么?因为龙芯用的是落后的 28nm 工艺,耗电量高,在同样的功率下,必然性能远远落后。为什么大陆还在用落后的 28nm、45nm 工艺呢?因为加工处理器,需要光刻机,而最先进的光刻机,垄断在荷兰 AMSL 公司手上。美国不允许 AMSL 把最先进的光刻机卖给大陆,大陆只能引进中低端的光刻机,最高只能做到 28nm 工艺。好在大陆现在也认识到问题严重,中芯国际加大研发,预计几年内就能上马最先进的 7nm 工艺,到时候,就能大大缩短中外的工艺差距。芯片是一个体系化的,只有全部的产业链都配合好了才能进行生产,无论是设计、工艺、制造都一样,但是整体看起来还是工艺更难。特别是从华为的海思芯片的成功来看,工艺太难了。 一、设计难,但是也有基础 芯片设计上就是一套解决方案,而美国有大量的芯片设计公司,比如高通,AMD,NVIDIA,三星,苹果等等,这些设计公司就具有非常强大的设计能力。 我国的华为海思麒麟芯片也一样,依靠强大的设计能力,麒麟芯片自己成为了国产芯片的重要的标杆企业,也是少数具备自主研发设计能力的企业。 现在海思麒麟芯片已经和高通芯片在争夺全球芯片第二的席位,仅次于苹果的A系列芯片,这不得不说是巨大的成功。 二、工艺难,所以我国芯片远远落后 在芯片的工艺上,我国是远远落后的,比如我国现在还在做28nm的芯片,但是现在高通已经做了7nm芯片,中间至少差了3代,现在我国28nm的中芯国际的工艺是三星五年前的工艺,由此可见差距有多大。在电脑芯片也是一样,Intel马上就要做10nm级别的芯片了,我们还是远远落后。 而且芯片是没办法跨代发展的,你只有现生产了45nm的芯片才能生产28nm的芯片,而不是直接生产14nm的芯片,因为技术难题根本没办法跨代解决,只能一个个攻克。 现在有华为的海思麒麟芯片,还有寒武纪的AI芯片,我国芯片发展在加速了。而小米的芯片还是相当低端和落后的。 你认为华为芯片能超过苹果A系列芯片吗? 当地时间4月16日,美国商务部发布出口权拒绝令,禁止美国企业向中兴通讯销售元器件,时间长达七年。在此之前,中国虽然拥有全世界最大的半导体市场,但每年需要进口的芯片价值高达2000亿美元,2017年更是达到了2600亿美元。 在这样的情况下的禁令虽然给一些企业带来了不小的冲击,但从某种意义上也促使了我国尽快进入“芯片自强”的时代。 芯片设计与工艺哪个更难,不如问,芯片设计和芯片工艺哪个更是阻止我们“芯片自强”的拦路虎? 尽管我国之前每年都要进口大量的进口芯片,但这并不代表我国没有芯片设计的人才。在以前,由于市场上已经有了性能优良的芯片,购买比投入设计更加划算,没有很多机会给科研工作者去设计芯片再更新迭代,因此我国芯片设计行业不够活跃,而现在,国家越来越重视“芯片自强”,设计工作者们也有了机会开始大显身手。事实上, 2015年,我国发射的两颗北斗导航卫星使用的就是我国自主研发设计的“龙芯”特制芯片。 由此可见,芯片设计虽然困难,但我国绝不是没有相关人才。 但是对于芯片制造所需要的设备,我国却始终不能从官方途径大规模引进,只能通过特殊途径少量购买,即使掌握了核心的技术,没有硬件设施的支持,也很难成功制造出。 因此, 虽然芯片工艺和芯片设计各有各的困难之处,对我国现状来说,还是芯片工艺更加的困难。 芯片制作完整过程包括:芯片设计、晶片制作、封装制作、测试等几个主要环节,其中每个环节都是技术和 科技 的体现。对于芯片来说设计和工艺都很复杂,但是相比较而言,制造工艺更难!!我有幸在一家业界较大的封装测试代工企业从事过设备工程师2年,大概说一下其中的体会。 (封装只是整个芯片制作过程中的一小部分) 1,流程较多 整个工厂主要分为切片、焊线、模压、印字、电镀/植球、测试等,每一次工艺或者制程更新和改进,对于每个车间来说都要做可行性认证、改换模,上下流程车间的对接。 2,技术要求高 我们当时给华为海思和展讯代工过,技术要求非常高,有时候整个车间试做一个月,有时候仅仅其中设备的ESD不过关,就要重新改进工艺。 3,产品良率要求高 芯片价格不便宜,我们模压车间每天要过量上百万颗芯片,良率低于%,就要停机溯源。重大不良率,主管领导要降级。 4,设备价格高 工厂所有的设备都是日本品牌,我们车间的设备总价值过5亿人民币。 5,工程师培训周期长 工艺工程师平均培训周期要3年以上。 国产芯片真正想在设计和制作工艺上赶超日美,还需更大的努力,政策的扶持,资本的推崇!! 工艺更难。芯片产业共有六个环节:软件(EDA)工具.芯片设计.芯片制造.封装测试.材料供应.制芯设备。我们目前最大难点就是光刻机技术,据我所知现在只有荷兰这个国家可生产光刻机,光刻机是制造芯片最核心设备,制造芯片如没有它那就是"痴人说梦",联想近段时间很多人都挥手要做芯片,特别还有一些知名企业家准备斥巨资投入"芯片运动",这不是贻笑大方吗?连美国 科技 这么强大的国家也要荷兰提供帮助,美国英特尔.MAD.英伟达等公司都是荷兰(ASML)最大的客户,并且ASML光刻机是荷兰独有并垄断的,全世界都要向它纳米进贡。我国有些企业曾经多次想购买ASML光刻机,最后都以失败告终。究其原因两个:一.不敢得罪最大的客户美国公司,二.不想失去这么好赚钱的买卖。所以我们现在需要静下心来,认识目标,找出短板的原因,而不能一味躁动,心血来潮。只有认清形势,找对目标,那总有一天凭着中华儿女的智慧可以解决"芯片"问题。看将来必是中国人的世界! 只能说都不容易,不管是设计还是工艺,对于半导体行业而言都是壁垒所在。 这也是中国芯片一直攻克不了的问题,这需要整个产业链的协同,包括人才、产业等,这点需要一个长期的过程才能形成,这也是硅谷不可替代的所在。 回答来自 科技 行者团队成员——李祥敬
吃客5588
1、数字电路基础。做FPGA一定要有数字硬件的概念。FPGA是硬件设计,而不是软件设计,首先要有这个概念
2、硬件描述语言,Verilog或VHDL,推荐Verilog
3、主流厂家的芯片底层结构,如Logic Cell、DSP Block、时钟、IO单元等
4、EDA工具的使用,如主流厂家的集成编译环境(Quartus II、Vivado等)、仿真软件(ModelSim等)的使用
5、熟悉FPGA设计流程(仿真,综合,布局布线,时序分析)。
6、熟练掌握资源估算(特别是slice,lut,ram等资源的估算)。
7、同步设计原理。
一个合格的FPGA工程师至少在以下三个方面的一个非常熟悉:
扩展资料
FPGA工程师的核心竞争力
1、RTL设计实现能力。也就是算法实现能力,RTL实现是FPGA工程师或者说HDL开发人员的入门首先接触到的东西;
2、硬件调试能力。包括问题定位分析能力和系统调试能力,FPGA工程师真正的核心竞争力,因为这不仅仅需要经验的积累,同时还需要很好的逻辑思维和分析能力。
另外一方面是整个硬件软件系统层次的调试能力,要看得懂原理图PCB,懂硬件,了解软件接口,现在FPGA越来越讲究HardwareSoftwareCo-design,软件硬件这个系统层次的调试能力对人的要求更加高。
3、更加高层次的能力。还是系统层次的东西。算法和架构,怎样将一系列数学公式,转换为算法,在最终形成系统硬件的实现;
整个系统采用什么样的架构,纯FPGA,arm+FPGA,DSP+FPGA,SOC+FPGA;FPGA顶层采用什么架构,通用总线还是自定义总线,如何考虑通用性和可扩展性等等,再大至什么样的应用适合用FPGA实现。
什么样的问题适合软件实现,怎样的组合能更加低成本高效率的解决问题,这一些列问题涉及的东西有很多,基本上都是以FPGA为核心做开发要面临的问题,其实其他平台的硬件、软件产品都是类似,系统层面的问题都是复杂的问题,同时,从系统层面去优化,解决问题才是最高效率的方式。
黄小琼琼
我常年担任多个有关FPGA学习研讨的QQ群管理员,长期以来很多新入群的菜鸟们总是在重复的问一些非常简单但是又让新手困惑不解的问题。作为管理员经常要给这些菜鸟们普及基础知识,但是非常不幸的是很多菜鸟怀着一种浮躁的心态来学习FPGA,总是急于求成。再加上国内大量有关FPGA的垃圾教材的误导,所以很多菜鸟始终无法入门。为什么大量的人会觉得FPGA难学?作为著名FPGA提供商Altera授权的金牌培训师,本管理员决心开贴来详细讲一下菜鸟觉得FPGA难学的几大原因。1、不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理。FPGA为什么是可以编程的?恐怕很多菜鸟不知道,他们也不想知道。因为他们觉得这是无关紧要的。他们潜意识的认为可编程嘛,肯定就是像写软件一样啦。软件编程的思想根深蒂固,看到Verilog或者VHDL就像看到C语言或者其它软件编程语言一样。一条条的读,一条条的分析。如果这些菜鸟们始终拒绝去了解为什么FPGA是可以编程的,不去了解FPGA的内部结构,要想学会FPGA恐怕是天方夜谭。虽然现在EDA软件已经非常先进,像写软件那样照猫画虎也能综合出点东西,但也许只有天知道EDA软件最后综合出来的到底是什么。也许点个灯,跑个马还行。这样就是为什么很多菜鸟学了N久以后依然是一个菜鸟的原因。那么FPGA为什么是可以“编程”的呢?首先来了解一下什么叫“程”。启示“程”只不过是一堆具有一定含义的01编码而已。编程,其实就是编写这些01编码。只不过我们现在有了很多开发工具,通常都不是直接编写这些01编码,而是以高级语言的形式来编写,最后由开发工具转换为这种01编码而已。对于软件编程而言,处理器会有一个专门的译码电路逐条把这些01编码翻译为各种控制信号,然后控制其内部的电路完成一个个的运算或者是其它操作。所以软件是一条一条的读,因为软件的操作是一步一步完成的。而FPGA得可编程,本质也是依靠这些01编码实现其功能的改变,但不同的是FPGA之所以可以完成不同的功能,不是依靠像软件那样将01编码翻译出来再去控制一个运算电路,FPGA里面没有这些东西。FPGA内部主要三块:可编程的逻辑单元、可编程的连线和可编程的IO模块。可编程的逻辑单元是什么?其基本结构某种存储器(SRAM、FLASH等)制成的4输入或6输入1输出地“真值表”加上一个D触发器构成。任何一个4输入1输出组合逻辑电路,都有一张对应的“真值表”,同样的如果用这么一个存储器制成的4输入1输出地“真值表”,只需要修改其“真值表”内部值就可以等效出任意4输入1输出的组合逻辑。这些“真值表”内部值是什么?就是那些01编码而已。如果要实现时序逻辑电路怎么办?这不又D触发器嘛,任何的时序逻辑都可以转换为组合逻辑+D触发器来完成。但这毕竟只实现了4输入1输出的逻辑电路而已,通常逻辑电路的规模那是相当的大哦。那怎么办呢?这个时候就需要用到可编程连线了。在这些连线上有很多用存储器控制的链接点,通过改写对应存储器的值就可以确定哪些线是连上的而哪些线是断开的。者就可以把很多可编程逻辑单元组合起来形成大型的逻辑电路。最后就是可编程的IO,这其实是FPGA作为芯片级使用必须要注意的。任何芯片都必然有输入引脚和输出引脚。有可编程的IO可以任意的定义某个非专用引脚(FPGA中有专门的非用户可使用的测试、下载用引脚)为输入还是输出,还可以对IO的电平标准进行设置。总归一句话,FPGA之所以可编程是因为可以通过特殊的01代码制作成一张张“真值表”,并将这些“真值表”组合起来以实现大规模的逻辑功能。不了解FPGA内部结构,就不能明白最终代码如何变到FPGA里面去的。也就无法深入的了解如何能够充分运用FPGA。现在的FPGA,不单单是有前面讲的那三块,还有很多专用的硬件功能单元,如何利用好这些单元实现复杂的逻辑电路设计,是从菜鸟迈向高手的路上必须要克服的障碍。而这一切,还是必须先从了解FPGA内部逻辑及其工作原理做起。2、错误理解HDL语言,怎么看都看不出硬件结构。HDL语言的英语全称是:Hardware Description Language,注意这个单词Description,而不是Design。老外为什么要用Description这个词而不是Design呢?因为HDL确实不是用用来设计硬件的,而仅仅是用来描述硬件的。描述这个词精确地反映了HDL语言的本质,HDL语言不过是已知硬件电路的文本表现形式而已,只是将以后的电路用文本的形式描述出来而已。而在编写语言之前,硬件电路应该已经被设计出来了。语言只不过是将这种设计转化为文字表达形式而已。但是很多人就不理解了,既然硬件都已经被设计出来了,直接拿去制作部就完了,为什么还要转化为文字表达形式再通过EDA工具这些麻烦的流程呢?其实这就是很多菜鸟没有了解设计的抽象层次的问题,任何设计包括什么服装、机械、广告设计都有一个抽象层次的问题。就拿广告设计来说吧,最初的设计也许就是一个概念,设计出这个概念也是就是一个点子而已,离最终拍成广告还差得很远。硬件设计也是有不同的抽象层次,没一个层次都需要设计。最高的抽象层次为算法级、然后依次是体系结构级、寄存器传输级、门级、物理版图级。使用HDL的好处在于我们已经设计好了一个寄存器传输级的电路,那么用HDL描述以后转化为文本的形式,剩下的向更低层次的转换就可以让EDA工具去做了,者就大大的降低了工作量。这就是可综合的概念,也就是说在对这一抽象层次上硬件单元进行描述可以被EDA工具理解并转化为底层的门级电路或其他结构的电路。在FPGA设计中,就是在将这以抽象层级的意见描述成HDL语言,就可以通过FPGA开发软件转化为问题1中所述的FPGA内部逻辑功能实现形式。HDL也可以描述更高的抽象层级如算法级或者是体系结构级,但目前受限于EDA软件的发展,EDA软件还无法理解这么高的抽象层次,所以HDL描述这样抽象层级是无法被转化为较低的抽象层级的,这也就是所谓的不可综合。所以在阅读或编写HDL语言,尤其是可综合的HDL,不应该看到的是语言本身,而是要看到语言背后所对应的硬件电路结构。如果看到的HDL始终是一条条的代码,那么这种人永远摆脱不了菜鸟的宿命。假如哪一天看到的代码不再是一行行的代码而是一块一块的硬件模块,那么恭喜脱离了菜鸟的级别,进入不那么菜的鸟级别。3、FPGA本身不算什么,一切皆在FPGA之外这一点恐怕也是很多学FPGA的菜鸟最难理解的地方。FPGA是给谁用的?很多学校解释为给学微电子专业或者集成电路设计专业的学生用的,其实这不过是很多学校受资金限制,卖不起专业的集成电路设计工具而用FPGA工具替代而已。其实FPGA是给设计电子系统的工程师使用的。这些工程师通常是使用已有的芯片搭配在一起完成一个电子设备,如基站、机顶盒、视频监控设备等。当现有芯片无法满足系统的需求时,就需要用FPGA来快速的定义一个能用的芯片。前面说了,FPGA里面无法就是一些“真值表”、触发器、各种连线以及一些硬件资源,电子系统工程师使用FPGA进行设计时无非就是考虑如何将这些以后资源组合起来实现一定的逻辑功能而已,而不必像IC设计工程师那样一直要关注到最后芯片是不是能够被制造出来。本质上和利用现有芯片组合成不同的电子系统没有区别,只是需要关注更底层的资源而已。要想把FPGA用起来还是简单的,因为无法就是那些资源,在理解了前面两点再搞个实验板,跑跑实验,做点简单的东西是可以的。而真正要把FPGA用好,那光懂点FPGA知识就远远不够了。因为最终要让FPGA里面的资源如何组合,实现何种功能才能满足系统的需要,那就需要懂得更多更广泛的知识。目前FPGA的应用主要是三个方向:第一个方向,也是传统方向主要用于通信设备的高速接口电路设计,这一方向主要是用FPGA处理高速接口的协议,并完成高速的数据收发和交换。这类应用通常要求采用具备高速收发接口的FPGA,同时要求设计者懂得高速接口电路设计和高速数字电路板级设计,具备EMC/EMI设计知识,以及较好的模拟电路基础,需要解决在高速收发过程中产生的信号完整性问题。FPGA最初以及到目前最广的应用就是在通信领域,一方面通信领域需要高速的通信协议处理方式,另一方面通信协议随时在修改,非常不适合做成专门的芯片。因此能够灵活改变功能的FPGA就成为首选。到目前为止FPGA的一半以上的应用也是在通信行业。第二个方向,可以称为数字信号处理方向或者数学计算方向,因为很大程度上这一方向已经大大超出了信号处理的范畴。例如早就在2006年就听说老美将FPGA用于金融数据分析,后来又见到有将FPGA用于医学数据分析的案例。在这一方向要求FPGA设计者有一定的数学功底,能够理解并改进较为复杂的数学算法,并利用FPGA内部的各种资源使之能够变为实际的运算电路。目前真正投入实用的还是在通信领域的无线信号处理、信道编解码以及图像信号处理等领域,其它领域的研究正在开展中,之所以没有大量实用的主要原因还是因为学金融的、学医学的不了解这玩意。不过最近发现欧美有很多电子工程、计算机类的博士转入到金融行业,开展金融信号处理,相信随着转入的人增加,FPGA在其它领域的数学计算功能会更好的发挥出来,而我也有意做一些这些方面的研究。不过国内学金融的、学医的恐怕连数学都很少用到,就不用说用FPGA来帮助他们完成数学运算了,这个问题只有再议了。第三个方向就是所谓的SOPC方向,其实严格意义上来说这个已经在FPGA设计的范畴之内,只不过是利用FPGA这个平台搭建的一个嵌入式系统的底层硬件环境,然后设计者主要是在上面进行嵌入式软件开发而已。设计对于FPGA本身的设计时相当少的。但如果涉及到需要在FPGA做专门的算法加速,实际上需要用到第二个方向的知识,而如果需要设计专用的接口电路则需要用到第一个方向的知识。就目前SOPC方向发展其实远不如第一和第二个方向,其主要原因是因为SOPC以FPGA为主,或者是在FPGA内部的资源实现一个“软”的处理器,或者是在FPGA内部嵌入一个处理器核。但大多数的嵌入式设计却是以软件为核心,以现有的硬件发展情况来看,多数情况下的接口都已经标准化,并不需要那么大的FPGA逻辑资源去设计太过复杂的接口。而且就目前看来SOPC相关的开发工具还非常的不完善,以ARM为代表的各类嵌入式处理器开发工具却早已深入人心,大多数以ARM为核心的SOC芯片提供了大多数标准的接口,大量成系列的单片机/嵌入式处理器提供了相关行业所需要的硬件加速电路,需要专门定制硬件场合确实很少。通常是在一些特种行业才会在这方面有非常迫切的需求。即使目前Xilinx将ARM的硬核加入到FPGA里面,相信目前的情况不会有太大改观,不要忘了很多老掉牙的8位单片机还在嵌入式领域混呢,嵌入式主要不是靠硬件的差异而更多的是靠软件的差异来体现价值的。我曾经看好的是cypress的Psoc这一想法。和SOPC系列不同,Psoc的思想史载SOC芯片里面去嵌入那么一小块FPGA,那这样其实可以满足嵌入式的那些微小的硬件接口差异,比如某个运用需要4个USB,而通常的处理器不会提供那么多,就可以用这么一块FPGA来提供多的USB接口。而另一种运用需要6个UART,也可以用同样的方法完成。对于嵌入式设计公司来说他们只需要备货一种芯片,就可以满足这些设计中各种微小的差异变化。其主要的差异化仍然是通过软件来完成。但目前cypress过于封闭,如果其采用ARM作为处理器内核,借助其完整的工具链。同时开放IP合作,让大量的第三方为它提供IP设计,其实是很有希望的。但目前cypress的日子怕不太好过,Psoc的思想也不知道何时能够发光。4、数字逻辑知识是根本。无论是FPGA的哪个方向,都离不开数字逻辑知识的支撑。FPGA说白了是一种实现数字逻辑的方式而已。如果连最基本的数字逻辑的知识都有问题,学习FPGA的愿望只是空中楼阁而已。而这,恰恰是很多菜鸟最不愿意去面对的问题。数字逻辑是任何电子电气类专业的专业基础知识,也是必须要学好的一门课。很多人无非是学习了,考个试,完了。如果不能将数字逻辑知识烂熟于心,养成良好的设计习惯,学FPGA到最后仍然是雾里看花水中望月,始终是一场空的。 以上四条只是我目前总结菜鸟们在学习FPGA时所最容易跑偏的地方,FPGA的学习其实就像学习围棋一样,学会如何在棋盘上落子很容易,成为一位高手却是难上加难。要真成为李昌镐那样的神一般的选手,除了靠刻苦专研,恐怕还确实得要一点天赋。
优质工程师考试问答知识库