集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3114|回复: 2

FPGA、单片机的区别?

[复制链接]
芙蓉王 发表于 2016-8-4 15:36:36 | 显示全部楼层 |阅读模式
单片机可理解为跑程序的微型电脑,麻雀虽小五脏俱全,所写的代码相当于程序。
FPGA则应该理解为可用电脑编辑的数字逻辑电路集成芯片,你所写的代码其实是在描绘一个数字逻辑电路。
区别:两者差别最大的应该是速度!
FPGA由于是硬件电路,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口电路。
单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。
入门难易程度,单片机比FPGA简单些,价格也低一些。要做PID算法控制的用单片机可以,STM32F4系列已经到300M+跑PID完全足够,如果是跑嵌入式的话可以上ARM芯片。涉及通信、图像等高速部分可以采用单FPGA模块。
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的小伙伴来说上手是比较轻松的。
大鹏 发表于 2018-5-24 16:31:15 | 显示全部楼层

单片机可理解为跑程序的微型电脑,麻雀虽小五脏俱全,所写的代码相当于程序。
FPGA则应该理解为可用电脑编辑的数字逻辑电路集成芯片,你所写的代码其实是在描绘一个数字逻辑电路。
区别:两者差别最大的应该是速度!
fpga_feixiang 发表于 2018-6-1 09:55:33 | 显示全部楼层
谢谢楼主分享............................
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-23 23:49 , Processed in 0.058511 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表