单片机可理解为跑程序的微型电脑,麻雀虽小五脏俱全,所写的代码相当于程序。
FPGA则应该理解为可用电脑编辑的数字逻辑
威廉希尔官方网站
集成芯片,你所写的代码其实是在描绘一个数字逻辑威廉希尔官方网站
。
区别:
两者差别最大的应该是速度!
FPGA由于是硬件威廉希尔官方网站
,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口威廉希尔官方网站
。
单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。
FPGA:
FPGA是以硬件描述语言(
Verilog或
VHDL)所完成的
威廉希尔官方网站
设计,可以经过简单的综合与布局,快速的
烧录至 FPGA 上进行测试,是现代 IC
设计验证的技术主流。这些可编辑
元件可以被用来实现一些基本的逻辑门
威廉希尔官方网站
(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如
触发器(Flip-flop)或者其他更加完整的记忆块。
系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个
威廉希尔官方网站
试验板被放在了一个
芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比ASIC(专用集成威廉希尔官方网站
)的速度要慢,实现同样的功能比ASIC威廉希尔官方网站
面积要大。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些
芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。
-------------------------------------------------------------------------------------------------------------------------------------------
再说单片机:
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
可以理解为在小电脑上写程序,其思路也跟电脑编程相同,追求算法效率和程序稳定性。目前IAR和MDK编译器 支持 C和C++语言,对于CS的小伙伴来说上手是比较轻松的。