著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:刘浩冉

链接:https://www.zhihu.com/question/23612375/answer/25115976

来源:知乎

-------------------------------------引用分割线------------------------------------

我常年担任多个有关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的学习其实就像学习围棋一样,学会如何在棋盘上落子很容易,成为一位高手却是难上加难。要真成为李昌镐那样的神一般的选手,除了靠刻苦专研,恐怕还确实得要一点天赋。

做项目才是最快学习FPGA的方法,好好珍惜这次机会吧。


著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:杨杰

链接:https://www.zhihu.com/question/23612375/answer/27120659

来源:知乎

上面是手机码字的。下面是电脑认真回答。

FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA的主要优点有以下几点:①大量的输入输出引脚被整合进芯片,它可以提供的扩展性是市面上其他芯片无法比拟的;②用户可以直接得到可用的芯片;③它还可以做成全定制或者半定制的实验性芯片;④FPGA芯片有着强大的处理能力,对多个变量实现任何逻辑。FPGA包含一个可擦除ROM,通电后在极短的时间内立即进入工作状态。由于这些优点,使得FFT处理器在FPGA上的实现变得特别适合。FPGA技术近两年体积、速度、灵活性等各种性能都优于DSP。目前,FPGA容量已经跨过了百万门级,不仅可以解决电子系统小型化、低功耗、高可靠性等问题,而且其开发周期短、开发软件投入少、芯片价格不断降低,这些因素促使FPGA 越来越多地取代了ASIC 甚至DSP 的市场,成为解决系统级设计的重要选择方案之一。verilog HDL可以直接控制硬件,控制硬件在某个时刻需要处理的任务,并且可以直接生成pof固化文件,对FPGA内部的逻辑器件进行编辑,可以直接从硬件上处理任务。

总结起FPGA的优点,就是一个字,快!快有什么用?在通信领域可以说FPGA是跟开了花一样的好用。通信最基本的FFT变换,FPGA完成起来只要DSP芯片的四分之一左右。同时,FPGA的管脚可以很多,从80到380个管脚,甚至更多。管脚多的好处就是不用往外弄一堆扩展。要知道,扩展是要牺牲性能的,性能牺牲了,FPGA上“快”的优点就打折扣了。而单片机的管脚,只有区区那几个。DSP虽然也有不少管脚,但是内部的灵活性很低,速度也没FPGA快。

另外需要解释一下为什么通信领域需要速度极快的芯片。第一点就是通信基本的FFT变换,运算量非常大,他是大到你无法想象的。而且变换完很多情况要立即对信号进行处理,处理完逆变换。第二点,就是通信的实时性很重要。比如你讲电话,或者发送文件。首先芯片要在你的信源编码一次,然后又要在信道编码一次。接收方同样要解码两次。有时候为了防止通信内容被盗,还要认认真真的加密解密。最简单的例子就是你打电话,如果周围环境很吵闹,像IPhone会自动将噪声抵掉,保留人说话的声音发送出去。这中间,Iphone收到你说话的声音,就是第一道模拟转数字,高级点的要FFT正变换成频谱,接着数字信号处理将噪声去除,再FFT逆变换成波形,信源编码,信道编码,可选加密,最后发送出去。你看双方讲电话的时候,会有明显的延迟吗?答案是不会的,而且这种速度快到你感觉就是面对面在说话。想要达到这种速度,就需要非常高的速度。FPGA胜任。

最后,说说FPGA的缺点。就是芯片贵。。。。虽然FPGA能做51单片机,DSP等的工作,但是就是一个字:贵!51单片机最便宜的也就几块钱,而FPGA可是几十几百的啊。在一些简单的机械,比如数码万年历,那单片机用起来可是又便宜又好用。

PS:如有错误,欢迎指出


著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:MistyRain

链接:https://www.zhihu.com/question/27183855/answer/41348747

来源:知乎

先写一下老鸟需要会什么,以后再答怎么做到。

1)FPGA逻辑资源,特别是时钟资源要非常熟悉。

2)做算法的必须熟悉sysgen的使用。说的容易了,sysgen画画图也没那么容易哦,你要熟悉使用各种滤波器,理论知识要求起点就不小。
3)充分理解FPGA从上而下的设计原则,能够编写中等程度的FPGA详细设计方案。

4)熟悉时序优化,时序收敛,区域约束等知识。并且能运用到编程之中,解决菜鸟们解决不了的“不科学”的问题。说白了就是会使用planhead,以及ISE中那些你还没接触过的功能。一般菜鸟们ISE都只会编程,默认的编译一下,然后下载,ChipSchop抓抓数看看。

5)能够熟悉FPGA常用的接口,不求都会编程,但是要知道他们功能是什么。比如ADC,DAC,串口,EMIF等等。并且熟悉DSP等FPGA周边常用芯片工作原理。

6)熟悉硬件设计,至少要知道Bank上IO规划怎么好,全局时钟,区域时钟大致怎么规划等等。

7)信号源,示波器,频谱仪都要熟悉使用吧!

等这些都熟悉了,差不多是老鸟了。

要成为高手,你没有十来个FPGA程序设计经验,解决过十来个中大项目核心问题,没有做过大系统还是停留在小板卡,都是不行的。

~~~~~~分割线~~~~

发现入门没那么容易。我觉得入门必须知道FPGA是做什么的,能做什么?和ARM,DSP,X86,GPU对比有啥优势?

我下面简单说说,FPGA现在有三个方面:

  • 1)通信高速接口设计。一般速率太高了,需要用FPGA把高速数字信号分开,然后使信号容易处理,传输,存储。3

  • 2)数字信号处理。包括图像处理,雷达信号处理,医学信号处理等。优势是实时性好,用面积换速度,比CPU快的多。

  • 3)SOPC。但是个人觉得这个方面不太主流。

基本上60%以上应用于做通信接口,也是FPGA最适合做,也是优势最大的方面。30%做信号处理。其实很多情况做信号处理也是由于一个系统中已经需要一个做接口的FPGA,不想多花钱、费事在买个DSP而已!

以上各个芯片各有啥优势请自己百度。

//再次补充说明

听到有人批评,其实我还是蛮高兴的。有人说我水平是一个较高的菜鸟。确实严格来讲没有错。仿真一直是我忽略的一个环节。我在这里承认自己说仿真不重要是不对的。仿真一般可以提高一个优秀的FPGA工程师的工作效率,一些低级的错误可以一下子反应出来。特别是不熟悉FPGA语法的人需要仿真。毕竟一个较大的FPGA程序需要编译几个小时。但是请大家合理的看待仿真这件事,菜鸟又要学编程又要学仿真。关键仿真正确后实际还不一定对!这样会打击信心。在有条件的基础上可以直接抓取信号看看波形,这样比较准确。一下子可以让你缩短做一个简单工程的周期。菜鸟级别的工程一般直接写出来也不怎么会错的。所以在上面我说了仿真对于菜鸟不是很重要。各自还是看每个人处在的阶段看问题吧!

一般从时间上来说一般1-2年能入门,就是我说的菜鸟水平没有达到老鸟级别。3-5年算是一个老鸟级别吧!能不能到高手看个人造化。我学习FPGA目前是两年左右,做过工程量大的项目2个,小项目记不清了,级别在菜鸟和老鸟之间。熟悉FPGA各个方面的工作,但不熟练。欢迎交流和高手们批评指正。


著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:运算放大器

链接:https://www.zhihu.com/question/27183855/answer/41390200

来源:知乎

1、语法层面搞懂阻塞和非阻塞语句,以及Verilog语言的时序描述方法,把自己想象成机器,尝试去编译自己写的Module。

2、然后搞明白同步和异步,最后,一定要熟练地掌握状态机的设计。这是最初级也是最基本的要求。(上面有人说语法太简单了,本人不敢苟同,Verilog语言并不简单,尤其Module之间时序不能同步,本该同相的信号输出有相位差的时候,简直能烦死人。)

3、然后再进一步就是自顶向下设计,复杂时序,同步和异步时序都有的应用。

4、更进一步就是IP核的应用,会配置IP核之后你会发现新世界的大门正在被打开,这个时候FPGA真正的优势才体现出来了。

5、最后就是SOC,以上四个阶段都是在硬件底层,SOC是应用层的东西,干的和码农一个活。

具体学习思路就是买一块好点的开发板,Xilinx和Altera的都行,Altera的仿真器要便宜一些,更适合自己学习。好点的意思是能跑SOPC的,Xilinx至少弄个Spartan6的,Altera现在不清楚了,以前我们都是用DE2学的,简单好用资源多,缺点是贵。

程序呢,自己用书学,一步一步来:

前两步一本书(Verilog程序设计语言之类的),

第三部一本书(Verilog程序设计实例之类的),

第四步一本书(FPGA芯片IP核详解之类的),

第五步一本书(FPGA芯片SOPC系统嵌入式编程之类的),

总共四本书。书名都是我乱打的,不知道有没有,差不多就是这个名字。

对了,还有一本书必须要学,比如你用的XILINX的FPGA,有 XILINX软件详解之类的书,多年前看多Altera的,叫啥名字忘记了。当然你要是会用软件的HELP文档,而且不嫌烦,没有也可以。

总之,FPGA是不该被低估的东西,它可以干市面上所有MCU和大部分CPU干的事,有些甚至比专用芯片还干的好。当然了,唯一缺点就是别要求功耗


著作权归作者所有。

商业转载请联系作者获得授权,非商业转载请注明出处。

作者:林名

链接:https://www.zhihu.com/question/29880012/answer/45918732

来源:知乎

1.基础知识主要指一些常见的接口协议,工作原理等。比如DDR,比如Flash,比如PCIE,PCI,SPI,I2C等。一些常见的电平规范以及电路基础知识,比如OC,比如LVCMOS,比如LVDS,比如阻抗,匹配,带载能力,电过应力,潮敏,jitter,竞争冒险,泄放通路,辐射,干扰,滤波,振荡, 布局原理,浪涌,高速与高频,短线与长线,时延等。

和FPGA相关的包括走线延迟,扇出能力,功能仿真和时序仿真,建立时间保持时间,开关时间,时钟规划等。还有常见的FPGA结构以及资源分布。综合的原理,布局布线的原理。

2.使用官方资料,最好的方式是拿着工程,碰到问题,不用到处问,找手册,比如输入时钟接到哪个pin上才可以,然后查对应的手册,每个不理解的地方就往下查。这样资料基本都可以看一遍。

其实FPGA自由度不大,很多东西都是有限制的,对一个工程来说,基本上每组资源(逻辑资源,RAM,IO,PLL,DLL,DSP等)都是有唯一最优配置的,你觉得都差不多的话,那就说明你还不明白这些限制意味着什么。

Verilog写出来的就是D触发器以及一大堆与非门的组合。你熟悉Quartus,Q里头可以在视图那里选RTL视图,你写的就是这么个东西。

至于基本单元是什么,你看FPGA Datasheet,基本第一章就是讲什么是FPGA,他的结构是什么样的。不管资源有多少,你至少目录要看一遍吧,你看了目录就不会问“基本单元是什么”这么个问题了。所以,不要懒,懒无药可治。

至于时序仿真,约束等。如果没有做,你的设计是不受控的,也就是说,你是这么设计了,但是编译软件在执行的时候,未必会保质保量完成,所以必须做。你在设计中只是描述了“我要去美国”这么一个目标,你想着直接从北京跨过太平洋过去,但是软件可能会安排你先飞月球,然后从月球去美国。所以你不加一个时间约束,谁知道最后走哪条路?

3.用FPGA做算法的很多,虽然IC才是FPGA发明出来的初衷,但是实际上目前两大厂商的最重要的市场是在算法上。比如Altera的全球最大客户是华为,不是海思,Xilinx的客户杂一点,但是也基本集中在思科,诺西,爱立信这样的企业,没有一个是做IC的。一个IC工程2,3年,FPGA才用几颗?比不上通信企业一年几kk的用量。

不过有心做项目就老老实实做手头能拿到的项目。FPGA开源在板子不统一,接受条件不统一的情况下就是笑话,BUG多不算还有很多其他问题。精力都花在解决别人的低级错误上了。而且代码风格不好的话,读都读不懂,搞他干嘛?

results matching ""

    No results matching ""