查看: 2134|回复: 0

FGGA

[复制链接]
发表于 2017-4-7 14:46:02 | 显示全部楼层 |阅读模式
FPGA是以硬件描述语言(VerilogVHDL)所完成的电路设计,可以经过简单的综合与布局,快速的电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成电路)的速度要慢,实现同样的功能比ASIC电路面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。

写完程序综合后,芯片内部相当于生成这样一个电路
file:///C:\Users\xm-1\AppData\Local\Temp\ksohtml\wps820E.tmp.png
通常意义下,FPGA不是计算机,不是计算机,不是计算机,所以不要和单片机这种计算机放在一起比较,FPGA是没有CPU的,但是有人为加强FPGA的性(逼)能(格),可以给FPGA嵌入一个CPU。。。。
所以,没有CPU的FPGA采用数字电路模式的编程方式,因为程序没法像有CPU的单片微型计算机那样一条条执行机器码。。。
而嵌有CPU的FPGA,其CPU上就可以用通常的汇编,C等真正计算机语言编程,,而没有CPU的逻辑块,还是用数字电路的方法。。。
可能大家通常意义上的编程都是用计算机编程,肯定是有CPU的,所以没法理解没有CPU是什么概念,因为FPGA根本还不算一个计算机,但是它是可以编程设计的,所以你没法完全用计算机编程语言去编程理解

FPGA主要用于通信、图像处理和芯片验证领域,两者的芯片结构有很大不同,FPGA更偏向于硬件电路,而单片机更偏于软件,无论是从成本上还是做控制肯定是单片机要好,两者的应用领域和擅长点大有不同。
第一,FPGA是纯硬件,所写的‘程序’也就不能称之为程序,如果非要给它起一个名字,我感觉‘代码’也许是比较恰当的;其次,单片机和FPGA实现信息处理发出控制信号的方式不同,单片机和嵌入式是通过主函数或者操作系统实现任务调度的途径来响应各种外部条件触发,并通过‘软件’输出相应的状态来实现电子系统的正常工作,然而FPGA是通过纯硬件来实现各种激励的相应的,与单片机实现控制的根本方法不同。最后,单片机和嵌入式的软件设计会有盲点,再快的软件相应在现实应用中也会有出现盲点的时候,简单的说就是系统不能及时响应或者漏掉某些激励的现象,然而硬件不会,它以强大的并行方式来响应所有的信号激励,但硬件也不是万能的,FPGA这类的纯硬件最大的克星就是亚稳态以及竞争冒险等等,通俗的讲就是输出及其短暂的不稳定现象,虽然不稳定状态出现的时间及其短,甚至到了皮秒级别(1秒等于10的十二次方皮秒)但也就是这么短暂的不稳定也可能会给设计带来致命的危险。这是有硬件的特性决定的,是在设计中永远无法避免的,对于冒险和亚稳态,我们只能想尽一切办法去解决他们。一个信号处理逻辑机制优劣将决定一个项目的好坏。

并行和串行的区别,并行可以看做钟表齿轮,最小的齿轮是时钟,其他的齿轮都是在小齿轮带动下运转,串行可以看成流水线,做完一件事后做下一件
你要说不同,1:架构上面,FPGA一般由DCM、IOB、CLB等组成,现在的FPGA还包含各种IPCORE。MCU要么是冯诺伊曼结构要么是哈佛结构,从结构上来说差异巨大。
2. 应用上,差别更大。MCU最终所有的指令在一个MCU中都是顺序执行的,而FPGA由于是逻辑单元,很容易做到并行执行。

做控制还是用单片机好,FPGA是做适合做大规模并行计算的,如果完全用硬件来做控制的话,逻辑太复杂了
单片机多用来小规模的控制系统,高级单片机其实就是arm,FPGA是编程化的硬件,可以通过编写硬件描述语言vhdl或verilog等灵活实现各种功能电路
其实我的理解是单片机是一幅画好的话,要装饰的时候自己裁剪,而FPGA是一张白纸需要什么自己画
不要把单片机跟FPGA分得这么远。
单片机里面的数字电路模块,基本上(或很多)也是用FPGA开发、验证好,然后做成IC芯片的。
FPGA嵌入CPU内核,再加上一些数字电路模块功能,也能完成MCU的数字电路功能,再把设计文件交给工厂,出来就是MCU芯片。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表